Ruta graveolens  ·  notes from a language experiment  ·  cultivated since 2025

Compiler errors

Every active Rue compiler diagnostic code has a permanent number. A retired number is never reassigned.

CodeTitleCategoryStability
E0001Unexpected characterLexerPermanent
E0002Invalid integerLexerPermanent
E0003Invalid string escapeLexerPermanent
E0004Unterminated stringLexerPermanent
E0006Uppercase base prefixLexerPermanent
E0007Empty based literalLexerPermanent
E0008Invalid digit for baseLexerPermanent
E0009Malformed byte literalLexerPermanent
E0010Lexer diagnostics omittedLexerPermanent
E0011Malformed float literalLexerPermanent
E0100Unexpected tokenParserPermanent
E0102Parse errorParserPermanent
E0103Parser diagnostics omittedParserPermanent
E0200No main functionSemanticPermanent
E0201Undefined variableSemanticPermanent
E0202Undefined functionSemanticPermanent
E0203Assign to immutableSemanticPermanent
E0204Unknown typeSemanticPermanent
E0205Use after moveSemanticPermanent
E0206Type mismatchSemanticPermanent
E0207Wrong argument countSemanticPermanent
E0208Move while call loanedSemanticPermanent
E0209Unexpected call argument modeSemanticPermanent
E0210Str view reassignmentSemanticPermanent
E0211Invalid main signatureSemanticPermanent
E0250Accessor result returnedSemanticPermanent
E0251Accessor result storedSemanticPermanent
E0252Accessor result boundSemanticPermanent
E0253Accessor result capturedSemanticPermanent
E0254Accessor body missing yieldSemanticPermanent
E0255Accessor yield not receiver rootedSemanticPermanent
E0256Yield outside accessorSemanticPermanent
E0257Accessor requires borrow selfSemanticPermanent
E0258Accessor result movedSemanticPermanent
E0259Accessor loan conflictSemanticPermanent
E0260Accessor param mode unsupportedSemanticPermanent
E0261Accessor recursionSemanticPermanent
E0400Missing fieldsStruct and enumPermanent
E0401Unknown fieldStruct and enumPermanent
E0402Duplicate fieldStruct and enumPermanent
E0403Copy struct non copy fieldStruct and enumPermanent
E0404Reserved type nameStruct and enumPermanent
E0405Duplicate type definitionStruct and enumPermanent
E0406Linear value not consumedStruct and enumPermanent
E0407Linear struct copyStruct and enumPermanent
E0410Duplicate methodStruct and enumPermanent
E0411Undefined methodStruct and enumPermanent
E0412Undefined assoc fnStruct and enumPermanent
E0413Method call on non structStruct and enumPermanent
E0414Method called as assoc fnStruct and enumPermanent
E0415Assoc fn called as methodStruct and enumPermanent
E0416Duplicate destructorStruct and enumPermanent
E0417Destructor unknown typeStruct and enumPermanent
E0418Duplicate constantStruct and enumPermanent
E0419Duplicate variantStruct and enumPermanent
E0420Unknown variantStruct and enumPermanent
E0421Unknown enum typeStruct and enumPermanent
E0423Field access on non structStruct and enumPermanent
E0424Invalid assignment targetStruct and enumPermanent
E0425Inout non lvalueStruct and enumPermanent
E0426Inout exclusive accessStruct and enumPermanent
E0427Borrow non lvalueStruct and enumPermanent
E0428Mutate borrowed valueStruct and enumPermanent
E0429Move out of borrowStruct and enumPermanent
E0430Borrow inout conflictStruct and enumPermanent
E0431Inout keyword missingStruct and enumPermanent
E0432Borrow keyword missingStruct and enumPermanent
E0433Empty structStruct and enumPermanent
E0434Const expr not supportedStruct and enumPermanent
E0435Reserved function nameStruct and enumPermanent
E0436Duplicate function definitionStruct and enumPermanent
E0437Move out of inoutStruct and enumPermanent
E0442Move self out of destructorStruct and enumPermanent
E0443Linear value not consumed on all pathsStruct and enumPermanent
E0456Move field out of destructor typeStruct and enumPermanent
E0457Copy struct with destructorStruct and enumPermanent
E0460Private unqualified accessStruct and enumPermanent
E0461Const initializer cycleStruct and enumPermanent
E0474Linear field dropped by destructureStruct and enumPermanent
E0475Const missing type annotationStruct and enumPermanent
E0478Linear value discardedStruct and enumPermanent
E0480Assign to partially moved arrayStruct and enumPermanent
E0481Invalid array lengthStruct and enumPermanent
E0482Nesting limit exceededStruct and enumPermanent
E0483Recursive type infinite sizeStruct and enumPermanent
E0484Duplicate pattern bindingStruct and enumPermanent
E0485Raw requires placeStruct and enumPermanent
E0486Linear payload discardedStruct and enumPermanent
E0487Slice return not allowedStruct and enumPermanent
E0488Slice in aggregate fieldStruct and enumPermanent
E0489Slice escapes scopeStruct and enumPermanent
E0490Field ptr requires fieldStruct and enumPermanent
E0491Duplicate parameterStruct and enumPermanent
E0492Str fixed capacity exceededStruct and enumPermanent
E0493Linear value overwrittenStruct and enumPermanent
E0494Linear value overwritten through inoutStruct and enumPermanent
E0495Buffer not first class strStruct and enumPermanent
E0496Inout str requires local bufferStruct and enumPermanent
E0497Str view not first classStruct and enumPermanent
E0499Container element is linearStruct and enumPermanent
E0500Break outside loopControl flowPermanent
E0501Continue outside loopControl flowPermanent
E0502Break with valueControl flowPermanent
E0503Question outside option fnControl flowPermanent
E0504Question on non optionControl flowPermanent
E0505Question outside result fnControl flowPermanent
E0506Question err type mismatchControl flowPermanent
E0600Non exhaustive matchMatchPermanent
E0601Empty matchMatchPermanent
E0602Invalid match typeMatchPermanent
E0700Unknown intrinsicIntrinsicPermanent
E0701Intrinsic wrong arg countIntrinsicPermanent
E0702Intrinsic type mismatchIntrinsicPermanent
E0703Import requires string literalIntrinsicPermanent
E0704Module not foundIntrinsicPermanent
E0705Std lib not foundIntrinsicPermanent
E0706Private member accessIntrinsicPermanent
E0707Unknown module memberIntrinsicPermanent
E0709Cannot infer cast targetIntrinsicPermanent
E0710Cannot infer pointee typeIntrinsicPermanent
E0711Container element not trivially droppableIntrinsicPermanent
E0712Intrinsic align not power of twoIntrinsicPermanent
E0713Import escapes rootIntrinsicPermanent
E0714Import specifier not relativeIntrinsicPermanent
E0715Import spellings same fileIntrinsicPermanent
E0800Literal out of rangeLiteral and operatorPermanent
E0801Cannot negateLiteral and operatorPermanent
E0802Chained comparisonLiteral and operatorPermanent
E0900Index on non arrayArrayPermanent
E0901Array length mismatchArrayPermanent
E0902Index out of boundsArrayPermanent
E0903Type annotation requiredArrayPermanent
E0904Move out of indexArrayPermanent
E0905Array repeat non copyArrayPermanent
E0906Type too largeArrayPermanent
E0907Function frame too largeArrayPermanent
E0908Slice frame array not supportedArrayPermanent
E0950Bit cast width mismatchArrayPermanent
E1000Link errorLinker and targetPermanent
E1001Unsupported targetLinker and targetPermanent
E1100Preview feature requiredPreview featurePermanent
E1101Extern signature type unsupportedPreview featurePermanent
E1102Extern aggregate not repr cPreview featurePermanent
E1103Extern array by valuePreview featurePermanent
E1104Repr c struct ineligiblePreview featurePermanent
E1105Extern variadic unsupportedPreview featurePermanent
E1106Export signature unsupportedPreview featurePermanent
E1107Foreign signature conflictPreview featurePermanent
E1108Foreign entry point declarationPreview featurePermanent
E1109Float not yet implementedPreview featurePermanent
E1200Comptime evaluation failedComptimePermanent
E1201Comptime arg not constComptimePermanent
E1300Unchecked op requires checkedUnchecked codePermanent
E1400Invalid compiler inputCompiler inputPermanent
E1401Compiler resource limitCompiler inputPermanent
E1402Compiler resource exhaustionCompiler inputPermanent
E1403Output publicationCompiler inputPermanent
E1404Unsatisfied trusted toolchain inputCompiler inputPermanent
E1500Driver source loadDriver and hostPermanent
E1501Driver toolchain integrityDriver and hostPermanent
E1502Driver hermetic denialDriver and hostPermanent
E9000Internal errorInternal compilerPermanent
E9001Internal codegen errorInternal compilerPermanent