summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crates/rebel-lang/src/typing.rs3
-rw-r--r--crates/rebel-lang/src/value.rs1
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)?;
}