Skip to content

Commit 951f5e9

Browse files
committed
...
1 parent 6f734a1 commit 951f5e9

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

src/callable/primitive/quote.rs

+11
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,14 @@ impl Callable for PrimitiveQuote {
4343
Ok(Obj::Expr(args.get(0).unwrap_or(Expr::Null)))
4444
}
4545
}
46+
47+
#[cfg(test)]
48+
49+
mod tests {
50+
use crate::{r, r_expect};
51+
52+
#[test]
53+
fn literals_dont_evaluate() {
54+
r_expect!(typeof(quote(1)) == "expression")
55+
}
56+
}

src/callable/primitive/substitute.rs

+9-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ impl Callable for PrimitiveSubstitute {
126126

127127
#[cfg(test)]
128128
mod test {
129-
use crate::r;
129+
use crate::{r, r_expect};
130130

131131
#[test]
132132
fn function_param_promises() {
@@ -191,4 +191,12 @@ mod test {
191191
r! { quote(3 + 4) }
192192
);
193193
}
194+
195+
#[test]
196+
fn literals_evaluate_to_themselves() {
197+
r_expect!(substitute(1) == 1);
198+
r_expect!(substitute("a") == "a");
199+
r_expect!(substitute(true) == true);
200+
r_expect!(substitute(1L) == 1L);
201+
}
194202
}

src/context/core.rs

-6
Original file line numberDiff line numberDiff line change
@@ -109,12 +109,6 @@ pub trait Context: std::fmt::Debug + std::fmt::Display {
109109
}
110110
(k, v) => {
111111
Ok(List::from(vec![(k, Obj::Promise(None, v, self.env()))]).iter_pairs())
112-
// let k = k.map_or(OptionNA::NA, OptionNA::Some);
113-
// if let Ok(elem) = self.eval(v) {
114-
// Ok(List::from(vec![(k, elem)]).iter_pairs())
115-
// } else {
116-
// internal_err!()
117-
// }
118112
}
119113
})
120114
.collect::<Result<Vec<_>, _>>()?

0 commit comments

Comments
 (0)