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))
|
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((
|
Ok((
|
||||||
LiteralValue::Number {
|
LiteralValue::Number {
|
||||||
value,
|
value,
|
||||||
suffix: token.numeric_suffix(),
|
suffix,
|
||||||
},
|
},
|
||||||
token,
|
token,
|
||||||
))
|
))
|
||||||
@ -4484,6 +4489,14 @@ export fn cos(num: number(rad)): number(_) {}"#;
|
|||||||
assert_eq!(errs.len(), 1, "{errs:#?}");
|
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]
|
#[test]
|
||||||
fn fn_decl_uom_ty() {
|
fn fn_decl_uom_ty() {
|
||||||
let some_program_string = r#"fn foo(x: number(mm)): number(_) { return 1 }"#;
|
let some_program_string = r#"fn foo(x: number(mm)): number(_) { return 1 }"#;
|
||||||
|
Reference in New Issue
Block a user