Warn on usage of the unknown numeric suffix (#6690)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
@ -529,10 +529,15 @@ pub(crate) fn unsigned_number_literal(i: &mut TokenSlice) -> PResult<Node<Litera
|
||||
CompilationError::fatal(token.as_source_range(), format!("Invalid float: {}", token.value))
|
||||
})?;
|
||||
|
||||
let suffix = token.numeric_suffix();
|
||||
if let NumericSuffix::Unknown = suffix {
|
||||
ParseContext::warn(CompilationError::err(token.as_source_range(), "The 'unknown' numeric suffix is not properly supported; it is likely to change or be removed, and may be buggy."));
|
||||
}
|
||||
|
||||
Ok((
|
||||
LiteralValue::Number {
|
||||
value,
|
||||
suffix: token.numeric_suffix(),
|
||||
suffix,
|
||||
},
|
||||
token,
|
||||
))
|
||||
@ -4484,6 +4489,14 @@ export fn cos(num: number(rad)): number(_) {}"#;
|
||||
assert_eq!(errs.len(), 1, "{errs:#?}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn warn_unknown_suffix() {
|
||||
let some_program_string = r#"foo = 42_?
|
||||
"#;
|
||||
let (_, errs) = assert_no_err(some_program_string);
|
||||
assert_eq!(errs.len(), 1, "{errs:#?}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn fn_decl_uom_ty() {
|
||||
let some_program_string = r#"fn foo(x: number(mm)): number(_) { return 1 }"#;
|
||||
|
Reference in New Issue
Block a user