diff options
-rw-r--r-- | crates/rebel-lang/src/typing.rs | 3 | ||||
-rw-r--r-- | crates/rebel-lang/src/value.rs | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/crates/rebel-lang/src/typing.rs b/crates/rebel-lang/src/typing.rs index fd527f3..f15cbc4 100644 --- a/crates/rebel-lang/src/typing.rs +++ b/crates/rebel-lang/src/typing.rs @@ -496,6 +496,9 @@ impl<'scope> Context<'scope> { (Type::Bool, _) => Ok(()), (Type::Int, _) => Ok(()), (Type::Str, _) => Ok(()), + (Type::Option(inner), expr::StrKind::Script) => { + Self::check_string_interp_type(*inner, kind) + } (Type::Tuple(elems), expr::StrKind::Script) => { for elem in elems { Self::check_string_interp_type(elem, kind)?; diff --git a/crates/rebel-lang/src/value.rs b/crates/rebel-lang/src/value.rs index 5148ed2..8ee202d 100644 --- a/crates/rebel-lang/src/value.rs +++ b/crates/rebel-lang/src/value.rs @@ -664,6 +664,7 @@ impl<'a> Display for ScriptStringify<'a> { f.write_str(&value.replace('\'', "'\\''"))?; f.write_char('\'')?; } + Value::None => {} Value::Array(elems) => { Self::fmt_list(elems, f)?; } |