mirror of
https://github.com/ProvableHQ/leo.git
synced 2024-09-20 10:18:35 +03:00
Disable string type in type checker
This commit is contained in:
parent
3c2da076ff
commit
43919a9644
@ -601,7 +601,10 @@ impl<'a> ExpressionVisitor<'a> for TypeChecker<'a> {
|
||||
},
|
||||
Literal::Group(_) => self.assert_and_return_type(Type::Group, expected, input.span()),
|
||||
Literal::Scalar(_, _) => self.assert_and_return_type(Type::Scalar, expected, input.span()),
|
||||
Literal::String(_, _) => self.assert_and_return_type(Type::String, expected, input.span()),
|
||||
Literal::String(_, _) => {
|
||||
self.emit_err(TypeCheckerError::strings_are_not_supported(input.span()));
|
||||
self.assert_and_return_type(Type::String, expected, input.span())
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -387,6 +387,10 @@ impl<'a> TypeChecker<'a> {
|
||||
/// Emits an error if the type is not valid.
|
||||
pub(crate) fn assert_type_is_valid(&self, span: Span, type_: &Type) {
|
||||
match type_ {
|
||||
// String types are temporarily disabled.
|
||||
Type::String => {
|
||||
self.emit_err(TypeCheckerError::strings_are_not_supported(span));
|
||||
}
|
||||
// Check that the named composite type has been defined.
|
||||
Type::Identifier(identifier) if self.symbol_table.borrow().lookup_struct(identifier.name).is_none() => {
|
||||
self.emit_err(TypeCheckerError::undefined_type(identifier.name, span));
|
||||
|
@ -430,4 +430,11 @@ create_messages!(
|
||||
msg: format!("Loop bound must be a literal."),
|
||||
help: None,
|
||||
}
|
||||
|
||||
@formatted
|
||||
strings_are_not_supported {
|
||||
args: (),
|
||||
msg: format!("Strings are not yet supported."),
|
||||
help: None,
|
||||
}
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user