E123 · Numeric narrowing
error[E123]: implicit numeric conversion is not allowed: cannot convert I64 to IntNegative tests establish that implicit narrowing is rejected.
TOOLING · VERIFIED
A reference to diagnostics directly supported by the current test corpus. This page intentionally does not claim complete catalog coverage.
| Code | Meaning | Layer | Status | Evidence |
|---|---|---|---|---|
E101 | Type mismatch in assignment | Semantic / type checking | Verified | tests/integration/E101_type_mismatch.avs |
E102 | Return type mismatch | Semantic / function checking | Verified | tests/integration/E102_return_type_mismatch.avs |
E104 | Undefined variable | Semantic name resolution | Verified | tests/negative/E104_undefined_var.avs |
E105 | Arithmetic operation requires numeric operands | Semantic / operator checking | Verified | tests/negative/E105_arithmetic_non_int.avs |
E106 | Cannot compare incompatible types | Semantic / comparison checking | Verified | tests/negative/E106_compare_different_types.avs |
E110 | Incorrect argument count | Semantic / function-call checking | Verified | tests/negative/E110_arg_count.avs |
E112 | Undefined function | Semantic name resolution | Verified | tests/negative/E112_undefined_fn.avs |
E116 | Field access on a non-struct value | Semantic / field checking | Verified | tests/negative/E116_field_on_non_struct.avs |
E120 | If condition must be an integer | Semantic / control-flow checking | Verified | tests/integration/E120_test_if_as_statement.avs |
E123 | Implicit numeric conversion is not allowed | Semantic / numeric checking | Verified | tests/integration/numeric_stage2b2_assignment_narrowing_E123.avs |
E212 | Cannot assign through a non-pointer dereference | Pointer safety | Verified | tests/integration/Pointer_Not_Safety_E212.avs |
E222 | Invalid MMIO address | MMIO safety | Verified | tests/integration/E222_mmio_read.avs |
E231 | Invalid argument type for a numeric/geometry operation | Semantic / library-call checking | Verified | tests/integration/decimal_stage2d3_distance_invalid_arg.avs |
E052 | Value escapes from arena | Memory safety | Verified | tests/integration/arena_escape.avs |
E2001–E2004 | Lexer diagnostics for malformed strings / numeric literals | Lexer | Verified | tests/negative/E2001_unterminated_string.avs |
error[E123]: implicit numeric conversion is not allowed: cannot convert I64 to IntNegative tests establish that implicit narrowing is rejected.
error[E120]: if condition must be an integerThe current evidence therefore does not support documenting general boolean conditions for if.
error[E052]: value escapes from arenaThe test corpus verifies rejection of an arena-owned value escaping its allowed scope.
error[E222]: invalid MMIO address: 123Invalid MMIO addresses are diagnosed in integration tests.
TRACEABILITY
These references identify supplied project evidence related to the documented area. Test files indicate exercised scenarios; reports and source documents provide additional audit evidence. A listed item is not a claim that every related behavior is covered.
tests/integration/E101_type_mismatch.avstests/integration/E102_return_type_mismatch.avstests/negative/E104_undefined_var.avstests/negative/E105_arithmetic_non_int.avstests/negative/E106_compare_different_types.avstests/integration/E120_test_if_as_statement.avstests/integration/numeric_stage2b2_assignment_narrowing_E123.avstests/integration/Pointer_Not_Safety_E212.avstests/integration/E222_mmio_read.avstests/integration/arena_escape.avs