Compiler errors
Every active Rue compiler diagnostic code has a permanent number. A retired number is never reassigned.
| Code | Title | Category | Stability |
|---|---|---|---|
| E0001 | Unexpected character | Lexer | Permanent |
| E0002 | Invalid integer | Lexer | Permanent |
| E0003 | Invalid string escape | Lexer | Permanent |
| E0004 | Unterminated string | Lexer | Permanent |
| E0006 | Uppercase base prefix | Lexer | Permanent |
| E0007 | Empty based literal | Lexer | Permanent |
| E0008 | Invalid digit for base | Lexer | Permanent |
| E0009 | Malformed byte literal | Lexer | Permanent |
| E0010 | Lexer diagnostics omitted | Lexer | Permanent |
| E0011 | Malformed float literal | Lexer | Permanent |
| E0100 | Unexpected token | Parser | Permanent |
| E0102 | Parse error | Parser | Permanent |
| E0103 | Parser diagnostics omitted | Parser | Permanent |
| E0200 | No main function | Semantic | Permanent |
| E0201 | Undefined variable | Semantic | Permanent |
| E0202 | Undefined function | Semantic | Permanent |
| E0203 | Assign to immutable | Semantic | Permanent |
| E0204 | Unknown type | Semantic | Permanent |
| E0205 | Use after move | Semantic | Permanent |
| E0206 | Type mismatch | Semantic | Permanent |
| E0207 | Wrong argument count | Semantic | Permanent |
| E0208 | Move while call loaned | Semantic | Permanent |
| E0209 | Unexpected call argument mode | Semantic | Permanent |
| E0210 | Str view reassignment | Semantic | Permanent |
| E0211 | Invalid main signature | Semantic | Permanent |
| E0250 | Accessor result returned | Semantic | Permanent |
| E0251 | Accessor result stored | Semantic | Permanent |
| E0252 | Accessor result bound | Semantic | Permanent |
| E0253 | Accessor result captured | Semantic | Permanent |
| E0254 | Accessor body missing yield | Semantic | Permanent |
| E0255 | Accessor yield not receiver rooted | Semantic | Permanent |
| E0256 | Yield outside accessor | Semantic | Permanent |
| E0257 | Accessor requires borrow self | Semantic | Permanent |
| E0258 | Accessor result moved | Semantic | Permanent |
| E0259 | Accessor loan conflict | Semantic | Permanent |
| E0260 | Accessor param mode unsupported | Semantic | Permanent |
| E0261 | Accessor recursion | Semantic | Permanent |
| E0400 | Missing fields | Struct and enum | Permanent |
| E0401 | Unknown field | Struct and enum | Permanent |
| E0402 | Duplicate field | Struct and enum | Permanent |
| E0403 | Copy struct non copy field | Struct and enum | Permanent |
| E0404 | Reserved type name | Struct and enum | Permanent |
| E0405 | Duplicate type definition | Struct and enum | Permanent |
| E0406 | Linear value not consumed | Struct and enum | Permanent |
| E0407 | Linear struct copy | Struct and enum | Permanent |
| E0410 | Duplicate method | Struct and enum | Permanent |
| E0411 | Undefined method | Struct and enum | Permanent |
| E0412 | Undefined assoc fn | Struct and enum | Permanent |
| E0413 | Method call on non struct | Struct and enum | Permanent |
| E0414 | Method called as assoc fn | Struct and enum | Permanent |
| E0415 | Assoc fn called as method | Struct and enum | Permanent |
| E0416 | Duplicate destructor | Struct and enum | Permanent |
| E0417 | Destructor unknown type | Struct and enum | Permanent |
| E0418 | Duplicate constant | Struct and enum | Permanent |
| E0419 | Duplicate variant | Struct and enum | Permanent |
| E0420 | Unknown variant | Struct and enum | Permanent |
| E0421 | Unknown enum type | Struct and enum | Permanent |
| E0423 | Field access on non struct | Struct and enum | Permanent |
| E0424 | Invalid assignment target | Struct and enum | Permanent |
| E0425 | Inout non lvalue | Struct and enum | Permanent |
| E0426 | Inout exclusive access | Struct and enum | Permanent |
| E0427 | Borrow non lvalue | Struct and enum | Permanent |
| E0428 | Mutate borrowed value | Struct and enum | Permanent |
| E0429 | Move out of borrow | Struct and enum | Permanent |
| E0430 | Borrow inout conflict | Struct and enum | Permanent |
| E0431 | Inout keyword missing | Struct and enum | Permanent |
| E0432 | Borrow keyword missing | Struct and enum | Permanent |
| E0433 | Empty struct | Struct and enum | Permanent |
| E0434 | Const expr not supported | Struct and enum | Permanent |
| E0435 | Reserved function name | Struct and enum | Permanent |
| E0436 | Duplicate function definition | Struct and enum | Permanent |
| E0437 | Move out of inout | Struct and enum | Permanent |
| E0442 | Move self out of destructor | Struct and enum | Permanent |
| E0443 | Linear value not consumed on all paths | Struct and enum | Permanent |
| E0456 | Move field out of destructor type | Struct and enum | Permanent |
| E0457 | Copy struct with destructor | Struct and enum | Permanent |
| E0460 | Private unqualified access | Struct and enum | Permanent |
| E0461 | Const initializer cycle | Struct and enum | Permanent |
| E0474 | Linear field dropped by destructure | Struct and enum | Permanent |
| E0475 | Const missing type annotation | Struct and enum | Permanent |
| E0478 | Linear value discarded | Struct and enum | Permanent |
| E0480 | Assign to partially moved array | Struct and enum | Permanent |
| E0481 | Invalid array length | Struct and enum | Permanent |
| E0482 | Nesting limit exceeded | Struct and enum | Permanent |
| E0483 | Recursive type infinite size | Struct and enum | Permanent |
| E0484 | Duplicate pattern binding | Struct and enum | Permanent |
| E0485 | Raw requires place | Struct and enum | Permanent |
| E0486 | Linear payload discarded | Struct and enum | Permanent |
| E0487 | Slice return not allowed | Struct and enum | Permanent |
| E0488 | Slice in aggregate field | Struct and enum | Permanent |
| E0489 | Slice escapes scope | Struct and enum | Permanent |
| E0490 | Field ptr requires field | Struct and enum | Permanent |
| E0491 | Duplicate parameter | Struct and enum | Permanent |
| E0492 | Str fixed capacity exceeded | Struct and enum | Permanent |
| E0493 | Linear value overwritten | Struct and enum | Permanent |
| E0494 | Linear value overwritten through inout | Struct and enum | Permanent |
| E0495 | Buffer not first class str | Struct and enum | Permanent |
| E0496 | Inout str requires local buffer | Struct and enum | Permanent |
| E0497 | Str view not first class | Struct and enum | Permanent |
| E0499 | Container element is linear | Struct and enum | Permanent |
| E0500 | Break outside loop | Control flow | Permanent |
| E0501 | Continue outside loop | Control flow | Permanent |
| E0502 | Break with value | Control flow | Permanent |
| E0503 | Question outside option fn | Control flow | Permanent |
| E0504 | Question on non option | Control flow | Permanent |
| E0505 | Question outside result fn | Control flow | Permanent |
| E0506 | Question err type mismatch | Control flow | Permanent |
| E0600 | Non exhaustive match | Match | Permanent |
| E0601 | Empty match | Match | Permanent |
| E0602 | Invalid match type | Match | Permanent |
| E0700 | Unknown intrinsic | Intrinsic | Permanent |
| E0701 | Intrinsic wrong arg count | Intrinsic | Permanent |
| E0702 | Intrinsic type mismatch | Intrinsic | Permanent |
| E0703 | Import requires string literal | Intrinsic | Permanent |
| E0704 | Module not found | Intrinsic | Permanent |
| E0705 | Std lib not found | Intrinsic | Permanent |
| E0706 | Private member access | Intrinsic | Permanent |
| E0707 | Unknown module member | Intrinsic | Permanent |
| E0709 | Cannot infer cast target | Intrinsic | Permanent |
| E0710 | Cannot infer pointee type | Intrinsic | Permanent |
| E0711 | Container element not trivially droppable | Intrinsic | Permanent |
| E0712 | Intrinsic align not power of two | Intrinsic | Permanent |
| E0713 | Import escapes root | Intrinsic | Permanent |
| E0714 | Import specifier not relative | Intrinsic | Permanent |
| E0715 | Import spellings same file | Intrinsic | Permanent |
| E0800 | Literal out of range | Literal and operator | Permanent |
| E0801 | Cannot negate | Literal and operator | Permanent |
| E0802 | Chained comparison | Literal and operator | Permanent |
| E0900 | Index on non array | Array | Permanent |
| E0901 | Array length mismatch | Array | Permanent |
| E0902 | Index out of bounds | Array | Permanent |
| E0903 | Type annotation required | Array | Permanent |
| E0904 | Move out of index | Array | Permanent |
| E0905 | Array repeat non copy | Array | Permanent |
| E0906 | Type too large | Array | Permanent |
| E0907 | Function frame too large | Array | Permanent |
| E0908 | Slice frame array not supported | Array | Permanent |
| E0950 | Bit cast width mismatch | Array | Permanent |
| E1000 | Link error | Linker and target | Permanent |
| E1001 | Unsupported target | Linker and target | Permanent |
| E1100 | Preview feature required | Preview feature | Permanent |
| E1101 | Extern signature type unsupported | Preview feature | Permanent |
| E1102 | Extern aggregate not repr c | Preview feature | Permanent |
| E1103 | Extern array by value | Preview feature | Permanent |
| E1104 | Repr c struct ineligible | Preview feature | Permanent |
| E1105 | Extern variadic unsupported | Preview feature | Permanent |
| E1106 | Export signature unsupported | Preview feature | Permanent |
| E1107 | Foreign signature conflict | Preview feature | Permanent |
| E1108 | Foreign entry point declaration | Preview feature | Permanent |
| E1109 | Float not yet implemented | Preview feature | Permanent |
| E1200 | Comptime evaluation failed | Comptime | Permanent |
| E1201 | Comptime arg not const | Comptime | Permanent |
| E1300 | Unchecked op requires checked | Unchecked code | Permanent |
| E1400 | Invalid compiler input | Compiler input | Permanent |
| E1401 | Compiler resource limit | Compiler input | Permanent |
| E1402 | Compiler resource exhaustion | Compiler input | Permanent |
| E1403 | Output publication | Compiler input | Permanent |
| E1404 | Unsatisfied trusted toolchain input | Compiler input | Permanent |
| E1500 | Driver source load | Driver and host | Permanent |
| E1501 | Driver toolchain integrity | Driver and host | Permanent |
| E1502 | Driver hermetic denial | Driver and host | Permanent |
| E9000 | Internal error | Internal compiler | Permanent |
| E9001 | Internal codegen error | Internal compiler | Permanent |