ensure inlined and allocated strings are equal
This commit is contained in:
parent
c9038fd8fb
commit
c3408a56c1
|
@ -58,12 +58,8 @@ use crate::base::*;
|
|||
|
||||
pub fn main() {
|
||||
let src = "
|
||||
let foo = :foo
|
||||
let bar = 42
|
||||
let baz = \"foo bar baz\"
|
||||
let quux = (1, 2, [3, 4, #{:five 6, :seven 8}])
|
||||
\"{foo} {bar} {baz}
|
||||
{quux} {fuzz} TADA!\"
|
||||
let foo = \"foo\"
|
||||
eq (\"foo\", \"{foo}\")
|
||||
";
|
||||
let (tokens, lex_errs) = lexer().parse(src).into_output_errors();
|
||||
if !lex_errs.is_empty() {
|
||||
|
|
|
@ -160,6 +160,9 @@ impl<'src> PartialEq for Value<'src> {
|
|||
(Value::Boolean(x), Value::Boolean(y)) => x == y,
|
||||
(Value::Number(x), Value::Number(y)) => x == y,
|
||||
(Value::InternedString(x), Value::InternedString(y)) => x == y,
|
||||
(Value::AllocatedString(x), Value::AllocatedString(y)) => x == y,
|
||||
(Value::InternedString(x), Value::AllocatedString(y)) => *x == **y,
|
||||
(Value::AllocatedString(x), Value::InternedString(y)) => **x == *y,
|
||||
(Value::Keyword(x), Value::Keyword(y)) => x == y,
|
||||
(Value::Tuple(x), Value::Tuple(y)) => x == y,
|
||||
(Value::List(x), Value::List(y)) => x == y,
|
||||
|
|
Loading…
Reference in New Issue
Block a user