// Numeric-limit accessors apply only to numeric types. `.min`/`.max` on a // NON-numeric receiver is a clean compile error (never a silent value, never // the `.unresolved` sentinel reaching codegen): // - a builtin non-numeric type (`bool`, `void`, `string`) → a dedicated // "type 'X' has no '.min'/'.max'" diagnostic from the accessor intercept; // - a user struct (`MyStruct`) → the type name is not a builtin, so the // intercept stays out and the existing field-not-found path reports it. // Each case is accurate and located at the access; the program exits non-zero. #import "modules/std.sx"; MyStruct :: struct { a: s64; } main :: () -> s32 { b := bool.max; s := MyStruct.min; v := void.max; return 0; }