Docs

Diagnostics

Every error and warning the compiler reports has a code: E- for an error or W- for a warning, the area, and a number that stays with the message (E-TYPE-0042). adm check prints it beside the place, --json gives it as code, and editors show it with a link here. What the C compiler, nvcc, zig, rustc, go and the linker report on your code is shown the same way, at the line of the C, Zig, Rust or Go file, at the line of a cuda def body, or at the declaration a missing symbol belongs to. adm explain E-TYPE-0042 prints one entry in the terminal. Where the compiler knows the edit that resolves a diagnostic, it attaches a fix: editors offer it as a quick fix, adm check --fix applies them, and adm check --json lists them under fixes. In the messages below, %s and its kin stand for the names and types the compiler fills in.

Syntax

What the parser cannot read. 178 codes.

E-SYNTAX-0001errorillegal token %q
E-SYNTAX-0002errorexpected %s, found %s
E-SYNTAX-0003errortoo many errors; the rest of the file is not parsed
E-SYNTAX-0004errorexpected ',' in attribute arguments
E-SYNTAX-0005errorunsupported attribute argument %s
E-SYNTAX-0006errorexpected identifier, found keyword %q; it cannot be used as a name
E-SYNTAX-0007errorexpected identifier, found %s
E-SYNTAX-0008errorexpected operator, found %s
E-SYNTAX-0009erroran anonymous struct takes name type fields only; declare a struct for defaults, annotations and modifiers
E-SYNTAX-0010errorfield %q is written twice
E-SYNTAX-0011erroran anonymous struct literal takes name: value fields only
E-SYNTAX-0012errorstyle takes the properties the call sets and their values: style = {opacity: 0.8}
E-SYNTAX-0013errorstyle = {...} is given to a component called by its name: Button("Save", style = {...})
E-SYNTAX-0014errorstyle lists properties of the component's style by name: {opacity: 0.8}
E-SYNTAX-0015erroron takes the states and what each changes: on: {hover: {opacity: 0.8}}
E-SYNTAX-0016errora rule selects components by variant (kind<Button>().variant("primary")); it cannot ask for one
E-SYNTAX-0017errorvariant lists the variants to apply by name: variant: [primary, big]
E-SYNTAX-0018erroronly modules can be declared internal
E-SYNTAX-0019errorfunctions cannot be declared at the top level
E-SYNTAX-0020errorlet declarations are not allowed at the top level
E-SYNTAX-0021errorconst declarations are not allowed at the top level
E-SYNTAX-0022errorcomponents cannot be declared at the top level
E-SYNTAX-0023errortypes cannot be declared at the top level
E-SYNTAX-0024errorstructs cannot be declared at the top level
E-SYNTAX-0025errorenums cannot be declared at the top level
E-SYNTAX-0026errorunions cannot be declared at the top level
E-SYNTAX-0027errorinterfaces cannot be declared at the top level
E-SYNTAX-0028errordatatypes cannot be declared at the top level
E-SYNTAX-0029errorservices cannot be declared at the top level
E-SYNTAX-0030errorviews cannot be declared at the top level
E-SYNTAX-0031errorstyles cannot be declared at the top level
E-SYNTAX-0032errorinvalid declaration
E-SYNTAX-0033errorunexpected %s at top level
E-SYNTAX-0034errormodule declarations require a name
E-SYNTAX-0035errorcheck suites cannot be internal
E-SYNTAX-0036errorcheck suites cannot be partial
E-SYNTAX-0037errorcheck suites require a quoted name
E-SYNTAX-0038errorunterminated %s body
E-SYNTAX-0039errorproperty accessors must use the 'def' keyword
E-SYNTAX-0040errorduplicate %s accessor
E-SYNTAX-0041errorunexpected %s in property body
E-SYNTAX-0042errorunterminated property body
E-SYNTAX-0043errorproperty storage declarations require a type or initializer
E-SYNTAX-0044errornested properties are not allowed
E-SYNTAX-0045erroronly get/set accessors are allowed inside property bodies
E-SYNTAX-0046errorproperty accessors cannot be async
E-SYNTAX-0047errorproperty accessors cannot be meta
E-SYNTAX-0048errorproperty accessors cannot be infix
E-SYNTAX-0049errorproperty accessors require bodies
E-SYNTAX-0050errorget accessor cannot declare parameters
E-SYNTAX-0051errorset accessor requires exactly one parameter
E-SYNTAX-0052errorviews cannot have attributes
E-SYNTAX-0053errorstyles cannot have attributes
E-SYNTAX-0054errorexport declarations cannot have attributes
E-SYNTAX-0055erroruse declarations cannot have attributes
E-SYNTAX-0056error%s do not support where blocks
E-SYNTAX-0057errorwhere blocks cannot have attributes
E-SYNTAX-0058error%s do not support %s declarations
E-SYNTAX-0059errorembedded structs cannot have attributes
E-SYNTAX-0060errorexpected a declaration, found keyword %q; it cannot be used as a name
E-SYNTAX-0061error%s bodies only allow declarations; unexpected %s
E-SYNTAX-0062errorunterminated where block
E-SYNTAX-0063error%s bodies cannot declare methods; use a type instead
E-SYNTAX-0064errorservices cannot declare %s methods
E-SYNTAX-0065error%s methods cannot be internal
E-SYNTAX-0066error%s do not support infix methods
E-SYNTAX-0067errorinfix methods cannot be internal
E-SYNTAX-0068errorinfix methods cannot be async
E-SYNTAX-0069errorfunction declarations without bodies are only allowed inside modules
E-SYNTAX-0070error%s declarations require a type or initializer
E-SYNTAX-0071error%s bodies cannot declare properties; use a type instead
E-SYNTAX-0072errorproperty declarations require a single identifier
E-SYNTAX-0073errorproperties cannot be marked atomic
E-SYNTAX-0074errorproperties cannot be marked weak
E-SYNTAX-0075error%s properties cannot be internal
E-SYNTAX-0076error%s members cannot be internal
E-SYNTAX-0077errora let of a style body is set once and would keep the theme it was made with: read theme where the property is assigned (background = new BackgroundFill(theme.palette.surface))
E-SYNTAX-0078erroron takes the states and what each changes: on = {hover: {opacity: 0.8}}
E-SYNTAX-0079error%s takes the properties to change and their values: %s = {opacity: 0.0}
E-SYNTAX-0080error%s is written twice in this style
E-SYNTAX-0081error$ is followed by the name of a component: $parent, $root, $prev, $next or a ref of the view
E-SYNTAX-0082error$%s names a ref of a component's view, which only the component's own style { ... } sees; a style declared apart reads $parent, $root, $prev and $next
E-SYNTAX-0083errorself in a style body is the component whose own style { ... } it is; a style declared apart has none
E-SYNTAX-0084errora patch lists properties of the style by name: {opacity: 0.0}
E-SYNTAX-0085errora state takes the properties it changes: hover: {opacity: 0.8}
E-SYNTAX-0086errora state lists properties of the style by name: {opacity: 0.8}
E-SYNTAX-0087errora state cannot ask for variants: variant is set by the style's body, by code or by the call
E-SYNTAX-0088errora variant is a name and the properties it sets: big: {minHeight: 40(px)}
E-SYNTAX-0089errora variant lists properties of the style by name: {minHeight: 40(px)}
E-SYNTAX-0090errora variant cannot ask for variants: variant is set by the style's body, by code or by the call
E-SYNTAX-0091errora key of on is a state, or a list of states that all hold: hover or [hover, selected]
E-SYNTAX-0092errorcomponent bodies cannot contain attributes
E-SYNTAX-0093errortypes cannot have attributes
E-SYNTAX-0094errorunexpected %s in component body
E-SYNTAX-0095errorunterminated component body
E-SYNTAX-0096errorinline component views must be declared as view { ... }
E-SYNTAX-0097errorinline component styles must be declared as style { ... }
E-SYNTAX-0098errorinline component controllers must be declared as type { ... }
E-SYNTAX-0099errortype alias requires a target type
E-SYNTAX-0100errortype aliases cannot be partial
E-SYNTAX-0101errorunions cannot have attributes
E-SYNTAX-0102errorinterfaces cannot have attributes
E-SYNTAX-0103errordatatypes cannot have attributes
E-SYNTAX-0104errorenum values cannot have attributes
E-SYNTAX-0105errorunion variants cannot have attributes
E-SYNTAX-0106errorinterface methods cannot have attributes
E-SYNTAX-0107errorexported modules cannot be aliased
E-SYNTAX-0108errorexported symbols cannot be aliased
E-SYNTAX-0109errorwildcard import cannot be combined with named symbols
E-SYNTAX-0110errorunexpected tokens after wildcard import
E-SYNTAX-0111errorexpected ',' between imported symbols
E-SYNTAX-0112errorunterminated block
E-SYNTAX-0113errorunterminated check block
E-SYNTAX-0114errorattributes can only be applied to declarations inside check suites
E-SYNTAX-0115errorweak applies to fields only
E-SYNTAX-0116errorfunction declarations without bodies cannot use cuda modifier
E-SYNTAX-0117errorfunction declarations without bodies cannot use sql modifier
E-SYNTAX-0118errorfunction declarations without bodies cannot use meta modifier
E-SYNTAX-0119errorfunction declarations without bodies cannot be infix
E-SYNTAX-0120error%s
E-SYNTAX-0121errorexpected ',' between parameters
E-SYNTAX-0122errorvariadic parameter requires a type
E-SYNTAX-0123errorparameter default value requires an expression
E-SYNTAX-0124errorvariadic parameter must be last
E-SYNTAX-0125errorparameter requires a type (or a default value)
E-SYNTAX-0126errordestructuring let requires initializer
E-SYNTAX-0127errorexpected identifier in destructuring let
E-SYNTAX-0128errorexpected identifier after 'as'
E-SYNTAX-0129errorexpected ',' between declarations
E-SYNTAX-0130errorexpected identifier in declaration
E-SYNTAX-0131errorexpected identifier
E-SYNTAX-0132errorexpected ',' or ')'
E-SYNTAX-0133errorexpected a dimension after %s
E-SYNTAX-0134errora dimension's exponent is an integer: Length ** 2
E-SYNTAX-0135errora conditional junction after %s needs parentheses: write a %s (b := c || d)
E-SYNTAX-0136errorconditional junction requires at least one expression
E-SYNTAX-0137errorconditional junction cannot mix && and || operators
E-SYNTAX-0138errorconditional junction is malformed
E-SYNTAX-0139errorchoice operator requires expressions for both branches
E-SYNTAX-0140errorexpected > after the scope of async<scope>
E-SYNTAX-0141errorasync call prefix expects a call expression
E-SYNTAX-0142errorduplicate async call prefix
E-SYNTAX-0143errorexpected ',' between lambda parameters
E-SYNTAX-0144errorexpected '=>' after lambda parameters
E-SYNTAX-0145errorlambda requires an expression body
E-SYNTAX-0146errorexpected '=>' after lambda parameter
E-SYNTAX-0147errorexpected expression in string interpolation
E-SYNTAX-0148errorassert requires an expression
E-SYNTAX-0149errorexpected ',' between arguments
E-SYNTAX-0150errorduplicate named argument %q
E-SYNTAX-0151errorpositional arguments cannot follow named arguments
E-SYNTAX-0152errornew expression requires a type
E-SYNTAX-0153errorunexpected token %s in array literal
E-SYNTAX-0154errortype cast requires an expression
E-SYNTAX-0155errortype cast expects exactly 1 argument, got %d
E-SYNTAX-0156errorinvalid escape %q in a string: use \n, \t, \r, \\, \", \xHH, \uHHHH or \UHHHHHHHH
E-SYNTAX-0157errorcheck suites are not allowed inside function bodies
E-SYNTAX-0158errorunexpected token %q in statement
E-SYNTAX-0159errorduplicate every block
E-SYNTAX-0160errorduplicate empty block
E-SYNTAX-0161errorduplicate finish block
E-SYNTAX-0162errorrecover requires an expression
E-SYNTAX-0163errorexpected case or default clause
E-SYNTAX-0164errorcase requires at least one expression
E-SYNTAX-0165errormatch case requires at least one pattern
E-SYNTAX-0166errorinvalid match pattern
E-SYNTAX-0167errorexpected ',' between struct pattern fields
E-SYNTAX-0168errorinvalid tuple pattern element
E-SYNTAX-0169errordefer requires a call expression
E-SYNTAX-0170erroryield requires a value
E-SYNTAX-0171errorsend statement requires a value
E-SYNTAX-0172errordispose requires an expression
E-SYNTAX-0173errorexpected identifier for onerror binding
E-SYNTAX-0174errorexpected type for onerror binding
E-SYNTAX-0175errorunion requires a type on the right-hand side
E-SYNTAX-0176errorintersection requires a type on the right-hand side
E-SYNTAX-0177errorreserved keyword %q cannot be used as an identifier
E-SYNTAX-0178errorunexpected token %q in expression

Names

Names, declarations, imports and overloads. 35 codes.

E-NAME-0001errorpartial type %q cannot be an alias
E-NAME-0002errorpartial type %q must repeat the generic parameter list of its other parts
E-NAME-0003errorembedded style %q redeclares %q
E-NAME-0004errorcontroller member %q conflicts with existing %s
E-NAME-0005errorinternal scope %q must be a namespace that contains module %q
E-NAME-0006errormodule %q is internal to %s in another file; every internal part must name the same scope
E-NAME-0007error%q is internal to module %q
E-NAME-0008errormodule %q has no symbol %q
E-NAME-0009errormixed partial and non-partial definitions for %s %q
E-NAME-0010errorduplicate pattern binding %q
E-NAME-0011errorundefined identifier %q
E-NAME-0012errormodule %q is reserved for the standard library
E-NAME-0013errorapplication %q is missing def new entrypoint
E-NAME-0014errorunknown module %q
E-NAME-0015errormodule %q is internal to %s
E-NAME-0016errormodule %q is internal to library %q; it exports %s
E-NAME-0017errorcannot alias module %q when importing symbols
E-NAME-0018errorundefined identifier %q; declare the loop variable with for let %s in ...
E-NAME-0019errorunknown controller type %q
E-NAME-0020error@on target %q.%s is ambiguous (overloaded); overload selection is not supported in @on
E-NAME-0021errorduplicate field %q in struct pattern
E-NAME-0022errorunknown builtin primitive %q
E-NAME-0023errorduplicate union variant %q (previously at %d:%d)
E-NAME-0024errorduplicate interface method %q (previously at %d:%d)
E-NAME-0025errorunknown type %q
E-NAME-0026errorunknown module alias %q (add use <module> to import it)
E-NAME-0027errorwhere constraint references unknown generic %q
E-NAME-0028errorunknown initializer field %q on %s
E-NAME-0029errorduplicate enum value %q (previously at %d:%d)
E-NAME-0030errorunknown function %q
E-NAME-0031errorambiguous overload of %q for arguments (%s); candidates: %s
E-NAME-0032errorunknown named argument %q
E-NAME-0033errorambiguous overload of %q for argument (%s) on %s; candidates: %s
E-NAME-0034errorduplicate field %q
E-NAME-0035errorunknown field %q in struct literal

Types

Types, expressions and statements. 203 codes.

E-TYPE-0001error%s is only valid inside functions
E-TYPE-0002errordatatype fields cannot be marked weak
E-TYPE-0003errora field cannot be both atomic and weak
E-TYPE-0004errorweak field must declare an optional reference type (?T)
E-TYPE-0005errorweak field must have an optional reference type (?T), got %s
E-TYPE-0006errorthe default of %q cannot name %q: a default is evaluated before the instance exists; assign the field in the constructor (def new())
E-TYPE-0007error'%s' names %d functions; give the variable the function type of the one meant
E-TYPE-0008errorarray element type mismatch: got %s, want %s
E-TYPE-0009errorinitializer count mismatch: got %d values for %d names
E-TYPE-0010errortuple destructuring mismatch: got %d bindings for %d elements
E-TYPE-0011errordestructuring let expects tuple or struct-like value, got %s
E-TYPE-0012error%s has no field %q
E-TYPE-0013errorcondition must be bool, got %s
E-TYPE-0014errorbreak statement requires enclosing loop
E-TYPE-0015errorcontinue is not allowed inside select
E-TYPE-0016errorcontinue statement requires enclosing loop
E-TYPE-0017errordefer does not support onerror handlers
E-TYPE-0018errordispose expects a struct/type instance, got %s
E-TYPE-0019errormulti-assignment only supports '='
E-TYPE-0020errormulti-assignment requires at least 1 target and 1 value
E-TYPE-0021errormulti-assignment gives %d targets one value; unpack a tuple with (a, b) = value
E-TYPE-0022errormulti-assignment requires the same number of targets and values (%d vs %d)
E-TYPE-0023errorfunction %q cannot be declared inside a function body; write let %s = def (...) { ... }, or declare it in the module
E-TYPE-0024errora tuple of targets only supports '='
E-TYPE-0025errorcannot unpack %s into %d targets; the value is not a tuple
E-TYPE-0026errorcannot unpack a tuple of %d elements into %d targets
E-TYPE-0027errorthe result may be an error and is dropped; use try, handle it with onerror, or discard it with _ =
E-TYPE-0028errormissing return
E-TYPE-0029errorrange loop binding cannot use destructuring
E-TYPE-0030errorrange loop binding type must be int, got %s
E-TYPE-0031errorrange loop requires exactly 1 binding name
E-TYPE-0032errorrange loop binding cannot be const
E-TYPE-0033errorrange loop binding must be int, got %s
E-TYPE-0034errorrange loop binding must be an identifier
E-TYPE-0035errorevery block requires enclosing loop
E-TYPE-0036errorfor-in binds a value, or a key and a value, got %d names
E-TYPE-0037error%s has no index or key to bind: write (_, value) or a single name (two names never destructure the element)
E-TYPE-0038errorswitch default clause cannot have expressions
E-TYPE-0039errorswitch case must be bool, got %s
E-TYPE-0040errorswitch case type mismatch: got %s, want %s
E-TYPE-0041errorswitch guard must be bool, got %s
E-TYPE-0042errorselect default clause cannot have expressions
E-TYPE-0043errorselect guard must be bool, got %s
E-TYPE-0044errormatch case pattern %d missing binding %q
E-TYPE-0045errormatch guard must be bool, got %s
E-TYPE-0046error%s is a value, and a case of match names a type or a pattern: use switch to compare values
E-TYPE-0047errormatch pattern type mismatch: got %s, want %s
E-TYPE-0048error.%s reads an element of a tuple; this is %s
E-TYPE-0049error.%s is not a position in a tuple; write it without leading zeros
E-TYPE-0050error%s has %d elements, .0 to .%d
E-TYPE-0051errortuple pattern type mismatch: got %s, want tuple
E-TYPE-0052errortuple pattern arity mismatch: got %d, want %d
E-TYPE-0053errorprevious use of %q
E-TYPE-0054errorstruct pattern type mismatch: got %s, want struct-like type
E-TYPE-0055errorstruct pattern field %q type mismatch: got %s, want %s
E-TYPE-0056errormap expects 2 type arguments (key, value)
E-TYPE-0057errorarray expects 1 type argument, got %d
E-TYPE-0058error%s expects %d type arguments, got %d
E-TYPE-0059errortype argument %d does not satisfy bound: got %s, want %s
E-TYPE-0060error%s is not a generic type
E-TYPE-0061errorunion variant %q requires a type
E-TYPE-0062errorembedded type %q is not an interface
E-TYPE-0063errorrecursive interface embedding of %s
E-TYPE-0064errorpreviously seen %s here
E-TYPE-0065errorrecursive datatype embedding of %s
E-TYPE-0066erroridentifier %q is not a type
E-TYPE-0067errorqualified type must use imported module alias (e.g. use std.reflection then reflection.MetaContext)
E-TYPE-0068errormodule %q symbol %q is not a type
E-TYPE-0069errormodule %q has no type %q
E-TYPE-0070error%s %q is internal to %s
E-TYPE-0071error%s %q is internal
E-TYPE-0072errorproperty %q is write-only (missing get accessor)
E-TYPE-0073errorcompound assignment to property %q requires both get and set accessors
E-TYPE-0074errorproperty %q is read-only (missing set accessor)
E-TYPE-0075errorcannot assign to const %q; a const keeps the value it was declared with
E-TYPE-0076erroran element of a tuple cannot be assigned; make a new tuple
E-TYPE-0077errora tuple of targets stands alone on the left of '=': (a, b) = value
E-TYPE-0078errorwhere blocks require a generic declaration
E-TYPE-0079errorwhere blocks require generic parameters
E-TYPE-0080errorwhere block requires a constraint expression
E-TYPE-0081errorwhere constraint must target a generic parameter
E-TYPE-0082errorwhere constraint must compare a generic parameter with a type
E-TYPE-0083errorwhere constraint parameters must match (%s vs %s)
E-TYPE-0084errorunsupported where constraint expression
E-TYPE-0085errorbinary operands must match: %s vs %s
E-TYPE-0086error%s must be int, got %s
E-TYPE-0087errortry requires errorable return type
E-TYPE-0088errortry requires errorable return type, got %s
E-TYPE-0089error%s requires function to return an errorable type
E-TYPE-0090error%s requires errorable return type, got %s
E-TYPE-0091erroronerror binding requires exactly 1 name
E-TYPE-0092erroronerror binding type must be error, got %s
E-TYPE-0093error%s: use try to unwrap %s
E-TYPE-0094error%s: optional value %s requires explicit none handling
E-TYPE-0095error%s: %s does not satisfy datatype %s%s
E-TYPE-0096error%s type mismatch: got %s, want %s
E-TYPE-0097error%s is a type, not a value
E-TYPE-0098erroris: %s is error or %s; test one of those, or use try to unwrap it
E-TYPE-0099erroris comparison requires a type on the right
E-TYPE-0100error%s is not compatible with datatype %s%s
E-TYPE-0101error%s does not implement interface %s
E-TYPE-0102errorspread (...) is only allowed in call arguments
E-TYPE-0103errorunary operator %q expects numeric operand, got %s
E-TYPE-0104errorunary operator %q expects bool or integral operand, got %s
E-TYPE-0105errorunary operator %q expects integral operand, got %s
E-TYPE-0106errora range is not a value: a..b is only the header of a loop, for let i in a..b
E-TYPE-0107errorin expects array or map container, got %s
E-TYPE-0108errorin operand type mismatch: got %s, want %s
E-TYPE-0109errorin on an array of %s is not supported; use .includes(x), which compares with ==
E-TYPE-0110error%s values cannot be compared with %s: the type defines no infix %s
E-TYPE-0111errortuples cannot be compared with %s; compare their members
E-TYPE-0112erroroperator %s is not defined on arrays (%s); matrix arithmetic is on matrix<T>
E-TYPE-0113errortuple literal requires at least one element
E-TYPE-0114errortype cast requires a value, e.g. byte[](text)
E-TYPE-0115errorcannot cast %s to %s
E-TYPE-0116errortry expects errorable expression, got %s
E-TYPE-0117errorchoice condition must be bool
E-TYPE-0118errorassert requires bool, got %s
E-TYPE-0119error%s has no member %q
E-TYPE-0120errorcould not parse expression
E-TYPE-0121erroronerror handler requires errorable %s, got %s
E-TYPE-0122erroronerror handler must recover or fail
E-TYPE-0123erroronerror handler must recover
E-TYPE-0124errorconditional member %q has inconsistent types: %s vs %s
E-TYPE-0125errornew(...) names no type and nothing declared here takes the value: write the type, new T(...)
E-TYPE-0126errorcannot instantiate %s %s
E-TYPE-0127errortype %s has no constructor; use named arguments to initialize members
E-TYPE-0128errorcannot slice map types
E-TYPE-0129errorindex must be %s, got %s
E-TYPE-0130errormap literal entries must specify a value
E-TYPE-0131errorcannot slice non-sliceable type %s
E-TYPE-0132errorcannot index non-indexable type %s
E-TYPE-0133errorrecursive embedding of %s
E-TYPE-0134errorconflicting field %q types: %s vs %s
E-TYPE-0135errorprevious definition of %q
E-TYPE-0136errordatatype fields cannot be marked atomic
E-TYPE-0137erroran enum value is a constant: a number, another member, a const, or arithmetic over those
E-TYPE-0138errorcannot modify const %q; its value is frozen (clone() it for a copy you can change)
E-TYPE-0139errorcannot modify const %q: %s changes it in place (clone() it for a copy you can change)
E-TYPE-0140errorvariadic parameter cannot declare multiple names
E-TYPE-0141errorvariadic parameters cannot have default values
E-TYPE-0142errorthis literal has no type here: write its type (Type{...}, map<K, V>{...})
E-TYPE-0143errorcannot call %s: the element is not a function
E-TYPE-0144errorunion variant constructors do not accept type arguments
E-TYPE-0145errorunion variant constructors do not accept named arguments
E-TYPE-0146errorunion %q has no variant %q
E-TYPE-0147errorunion variant constructor %q expects 1 argument, got %d
E-TYPE-0148errora literal without a type cannot be converted: write %s{...}
E-TYPE-0149error%s.%s does not take arguments
E-TYPE-0150errorcannot dispatch method on non-named receiver of type %s
E-TYPE-0151error%s has no method %q; %q is a field or local here and shadows module %s, so call %s.%s outside the type or through a helper
E-TYPE-0152errorcannot call non-function
E-TYPE-0153errornamed arguments require a direct function call
E-TYPE-0154error%q is not callable
E-TYPE-0155errorno overload of %q matches arguments (%s); candidates: %s
E-TYPE-0156errornamed arguments are not supported for variadic functions
E-TYPE-0157errorcall argument count mismatch: got %d, want %d
E-TYPE-0158errorargument %q is provided more than once
E-TYPE-0159errormissing argument %q
E-TYPE-0160errormissing argument %d
E-TYPE-0161errorno overload of %q matches argument (%s) on %s
E-TYPE-0162errorlambda parameters cannot be variadic or have default values
E-TYPE-0163errorlambda parameter requires a type (or must be used in a typed context)
E-TYPE-0164errorargument %d type mismatch: got %s, want bigint
E-TYPE-0165errormultiple spread (...) arguments are not supported
E-TYPE-0166errorspread (...) requires a variadic function
E-TYPE-0167errorspread (...) must be the final argument
E-TYPE-0168errorspread (...) must appear after fixed arguments
E-TYPE-0169errorcall argument count mismatch: got %d, want at least %d
E-TYPE-0170errorspread (...) expects an array argument, got %s
E-TYPE-0171errorfail inside an onerror handler needs an errorable enclosing function; recover here, or declare the function's result as !T
E-TYPE-0172errorfail requires errorable return type
E-TYPE-0173errorfail requires errorable return type, got %s
E-TYPE-0174errorreturn needs a value: the function returns %s
E-TYPE-0175errorfunction has no return value
E-TYPE-0176errorrecover is only allowed inside call onerror handlers
E-TYPE-0177errordispose cannot declare a result
E-TYPE-0178errora matrix size in the type must be an integer known at compile time; use matrix<T>[].size(rows, cols) for sizes computed at run time
E-TYPE-0179errormatrix product %s * %s: the columns of the left (%d) must equal the rows of the right (%d)
E-TYPE-0180errormatrix %s needs equal shapes, got %s and %s
E-TYPE-0181errormatrix literal row %d has %d values, row 0 has %d; the rows of a matrix must have the same length
E-TYPE-0182errormatrix cell type mismatch: got %s, want %s
E-TYPE-0183errormatrix literal is %d×%d, the type %s is %d×%d
E-TYPE-0184errorcannot infer the type arguments of %s from this new: nothing declared takes the value and the constructor's arguments do not settle them; write them: new %s<...>(...)
E-TYPE-0185errorproperty %q has inconsistent types: %s vs %s
E-TYPE-0186errorproperty %q %s accessor type mismatch: got %s, want %s
E-TYPE-0187errorproperty %q get accessor must declare a return type
E-TYPE-0188errorproperty %q set accessor cannot declare a return type
E-TYPE-0189errorproperty %q set accessor requires a parameter
E-TYPE-0190errorproperty %q set accessor parameter must declare a type
E-TYPE-0191errorproperty %q storage type mismatch: got %s, want %s
E-TYPE-0192error%s: %s holds %d bits and %s holds %d; a bitcast needs vectors of the same size
E-TYPE-0193errorcannot infer struct literal type for generic %s; use %s{...} or specify type arguments
E-TYPE-0194errorfield %q of an anonymous struct takes its type from its value: write the value's type (Type{...}, struct { ... }, map<K, V>{...})
E-TYPE-0195errorfield %q of an anonymous struct takes its type from its value, and none has none: declare a struct with an optional field
E-TYPE-0196errorstruct spread expects struct type, got %s
E-TYPE-0197errorcannot assign spread field %q of type %s to %s
E-TYPE-0198errorstruct literal keys must be identifiers
E-TYPE-0199errorstruct literal entries must specify a value
E-TYPE-0200errorPermission spec must name a type
E-TYPE-0201errorcannot assign %s to field %q of type %s
E-TYPE-0202errorwhere constraints must reference types
W-TYPE-0001warning%s is deprecated%s

Async

async, await, generators, channels and tasks. 40 codes.

E-ASYNC-0001errorsend expects channel<T>, got %s
E-ASYNC-0002errormutating iterated map %q inside forall is not allowed
E-ASYNC-0003errorforall does not support C-style loop headers; use forall let ... in ...
E-ASYNC-0004errorforall requires a range-style header: forall let ... in <iterable>
E-ASYNC-0005errorforall requires let bindings in the header
E-ASYNC-0006errorforall bindings cannot have initializers; use forall let ... in ...
E-ASYNC-0007errorforall currently supports ranges, arrays, strings, maps, and channels; got %s
E-ASYNC-0008errorfor-in expects an array, map, string, channel, or a type with def iterate() ?T (builtin.Iterator), got %s
E-ASYNC-0009errorselect case expects channel, got %s
E-ASYNC-0010error%s: await async %s to use %s
E-ASYNC-0011errorreceive expects channel<T>, got %s
E-ASYNC-0012errorfuture boolean composition requires both operands to be async: %s vs %s
E-ASYNC-0013errorawait expects async value, got %s
E-ASYNC-0014errorawait expects an async value, and this returns nothing: the call is not async, so it has finished when it returns; remove the await
E-ASYNC-0015errorasync<...> expects an AsyncScope, got %s
E-ASYNC-0016errorasync call prefix requires a direct function call
E-ASYNC-0017errorasync call prefix cannot be combined with onerror
E-ASYNC-0018errorasync call prefix is not supported on union variant constructors
E-ASYNC-0019errorasync call prefix is not supported on type conversions
E-ASYNC-0020errorfuture helpers do not accept type arguments
E-ASYNC-0021errorfuture helpers do not accept named arguments
E-ASYNC-0022errorfuture.%s does not take arguments
E-ASYNC-0023errorfuture.keepAlive does not take arguments
E-ASYNC-0024errorfuture.cancel expects 0 or 1 arguments, got %d
E-ASYNC-0025errorfuture.cancel reason must be string, got %s
E-ASYNC-0026errorfuture.timeout expects 1 argument, got %d
E-ASYNC-0027errorfuture.timeout expects duration, got %s
E-ASYNC-0028errorfuture.scope expects 1 argument, got %d
E-ASYNC-0029errorfuture.scope expects an AsyncScope, got %s
E-ASYNC-0030errorasync prefix is not supported on component instantiation
E-ASYNC-0031errorfail is not allowed inside forall bodies
E-ASYNC-0032errorreturn is not allowed inside forall bodies
E-ASYNC-0033errora generator ends with a bare return; it yields its values
E-ASYNC-0034error%s cannot yield: a generator is a plain function that returns Iterator<T>
E-ASYNC-0035errora generator cannot have %s blocks
E-ASYNC-0036erroryield is only valid inside functions
E-ASYNC-0037erroryield needs a function that returns Iterator<T>
E-ASYNC-0038erroryield is not allowed inside forall bodies
E-ASYNC-0039erroryield is not allowed inside a transaction
E-ASYNC-0040errora constructor cannot declare a result; new always yields the instance, so work that can fail belongs in a method or a factory function returning !T

Contracts

expects, provides and transactions. 17 codes.

E-CONTRACT-0001errorexpects block cannot be guarded
E-CONTRACT-0002errorprovides block cannot be guarded
E-CONTRACT-0003errorbegin block cannot be guarded
E-CONTRACT-0004errorrollback block cannot be guarded
E-CONTRACT-0005errorexpects block must appear at start of function body
E-CONTRACT-0006errorprovides block must appear at end of function body
E-CONTRACT-0007errorbegin block must appear before rollback block
E-CONTRACT-0008error%s block must be declared at function top level
E-CONTRACT-0009errorexpects block already declared in this function
E-CONTRACT-0010errorprovides block already declared in this function
E-CONTRACT-0011errorbegin block must be declared at function top level
E-CONTRACT-0012errorbegin block already declared in this function
E-CONTRACT-0013errorrollback block must be declared at function top level
E-CONTRACT-0014errorrollback block already declared in this function
E-CONTRACT-0015error%s block cannot reference outer local %q; use parameters or heap/module state instead
E-CONTRACT-0016error%s blocks can only contain assert statements
E-CONTRACT-0017errorrollback statement requires enclosing transaction

Services

Services, events and @remote. 30 codes.

E-SERVICE-0001errorservice %q does not satisfy ServiceDescriptor%s
E-SERVICE-0002errorservice %q must declare %s %s
E-SERVICE-0003errorservices cannot declare %q; service lifecycle is managed by the runtime
E-SERVICE-0004error@emit methods cannot be async
E-SERVICE-0005error@emit is only valid inside a service body or a component's type
E-SERVICE-0006error@%s is only valid inside a service body
E-SERVICE-0007error@emit immediate must be a bool literal
E-SERVICE-0008error@query methods cannot be async
E-SERVICE-0009error@on requires a service method reference (e.g. @on(Storage.open))
E-SERVICE-0010error@on target must be a service or a component (e.g. Storage.open, Button.clicked)
E-SERVICE-0011error@on target must name a method
E-SERVICE-0012error@on target %q has no method %q
E-SERVICE-0013error@on cannot observe @query methods (queries do not emit events)
E-SERVICE-0014error@on target must be a @commit or @emit method
E-SERVICE-0015error@on(%s.%s) hears a service: its handler takes %s, not ComponentEvent (the envelope of a component's events)
E-SERVICE-0016errorcannot instantiate service %s
E-SERVICE-0017error@persist cannot mark a field of service %s: kept values are read from the vault, and %s needs %s started first
E-SERVICE-0018error@persist cannot mark a field of service %s: it is the service that keeps the values
E-SERVICE-0019error@remote applies to a type or struct that implements the interface
E-SERVICE-0020error@remote names the interface it serves: @remote<Interface>
E-SERVICE-0021error@remote<%s>: %s is not an interface
E-SERVICE-0022error@remote<%s>: %s does not implement %s
E-SERVICE-0023error%s: %s is not an interface
E-SERVICE-0025errormethod %s is generic; a remote method takes and returns types both sides know
E-SERVICE-0026errormethod %s must be errorable (!%s): a call that crosses to another process can always fail
E-SERVICE-0027errormethod %s: parameter %d (%s) cannot cross to another process: %s
E-SERVICE-0028errormethod %s: its result %s cannot cross to another process: %s
E-SERVICE-0029errorIPC.connect<%s>: %s is not an interface
E-SERVICE-0030errorIPC.%s: %s is not marked @remote<Interface>; mark it for each interface it serves
E-SERVICE-0031errorservice dependency cycle: %s

UI

Components, views and styles. 67 codes.

E-UI-0001errorcomponent %q must define a view block (inline or referenced)
E-UI-0002errorcomponent %q must define a style block (inline or referenced)
E-UI-0003errorcomponent controller must be a type marked with @controller(), got %s
E-UI-0004errorcomponent controller type %q must be marked with @controller()
E-UI-0005errorcontroller %s has the type parameters <%s> and component %s has <%s>: a component's controller declares the component's own, in its order
E-UI-0006errorweak field target must be a struct, type, service or component: a field of the kind style holds its style and has no weak form
E-UI-0007errorweak field target must be a struct, type, service or component, got %s
E-UI-0008errorchildren() is reached a second time on the same run: the caller's components have one place; put the two under the arms of one if
E-UI-0009errorchildren() stands in a loop: the caller's components have one place; call it once, outside the loop
E-UI-0010errorcomponent %q takes no block of components: its view never calls children(); add children() where they go in its view, or remove the block
E-UI-0011erroran input of function type cannot be bind = true: a handler is called by the component, not assigned
E-UI-0012errora component has one value input: %q is marked @input(value = true) too
E-UI-0013error@state marks a field in the type { ... } of a component or in its @controller() type: a change of it is emitted as that component's UI.stateChange
E-UI-0014error@persist marks a field of a type, a service or a component, and %s is a struct: declare it type %s for its objects to start with the kept value
E-UI-0015error@persist marks a field of a type, a service or a component: its value is kept between runs and is what the next object made starts with
E-UI-0016errorchildren() takes no block: it places what the caller of the component wrote in its own
E-UI-0017errora placed view takes no block: what it shows is the view itself
E-UI-0018error%q is not a style property of %s; mark it @styleProperty to use it outside the style
E-UI-0019errormissing type StyleNode for style context: style blocks need std.ui (use std.ui)
E-UI-0020errormissing type StyleClass for style context: style blocks need std.ui (use std.ui)
E-UI-0021errorref = %s declares a member of a component: write the call in the view { ... } of a component that has a type { ... } of its own, not in a view declared by name or shared through type Name
E-UI-0022errorcannot instantiate controller %s: it is the body of the components that name it as their type; make one of those
E-UI-0023error@on target %s.%s is not an event: mark the method @emit() in the component
E-UI-0024error@on(%s.%s) hears a component: its handler takes %s, not Event (the envelope of a service's events)
E-UI-0025error@on expects 1 or 2 arguments (the component's event, optionally which components to hear)
E-UI-0026error@on(%s, ...) takes a filter, def(Event<%s>) bool, or a matcher, a value with def matchesEvent(result %s, listener ?component) bool; got %s
E-UI-0027erroran @on filter held in a value must be a function, not %s (it may be none): give it the type of the function
E-UI-0028errorcomponent %q takes no type arguments
E-UI-0029errorcomponent %q expects %d type arguments, got %d
E-UI-0030errorcannot infer the type argument %s of component %q from this call; write it: %s<...>(...)
E-UI-0031errorthe style of component %q holds no value typed with its type parameter (%s is %s): one style object serves every instance of the component; keep the value in the component's type
E-UI-0032errorstyle = {...} gives properties to the style of the component a call makes, or of the kind the selector of a rule names (rule(kind<Button>(), style = {...})); this call makes no component and names no kind
E-UI-0033erroronerror handlers are not supported on component instantiation
E-UI-0034errora component takes at most one unnamed argument, for its @input(value = true) field; name the others
E-UI-0035errorcomponent %q takes no unnamed argument: none of its inputs is marked @input(value = true); pass it by name
E-UI-0036errorcomponent %q has no member %q
E-UI-0037error%q is a field of component %q, not an input: a call passes the fields marked @input; mark the field, or assign it after the call
E-UI-0038errorcomponent %q needs its input %q: the input has no initial value, so every call passes it (%s = ...)
E-UI-0039errorno style of %s or of this module has the property %q; a rule for another style names its kind: rule(kind<Card>(), style = {...})
E-UI-0040error%q is %s in %s and %s in %s; a rule that sets it names the kind: rule(kind<Card>(), style = {...})
E-UI-0041errorstyle = {...} gives properties to the style of the component a call makes, or of the components a rule of std.ui selects (rule(role(Role.Button), style = {...})); this call is neither
E-UI-0042errorstate %q is also %s: the states of a component share one set of names
E-UI-0043error%q is not a variant of the style: %s
E-UI-0044error%q is not a state of component %s: a state is one of %s, a @state bool field of the component, or a case of a @state enum field
E-UI-0045errorstyle %s names the state %q in its on, which component %s does not have: a state is one of %s, a @state bool field of the component, or a case of a @state enum field
E-UI-0046error%q is not a variant of component %s: %s
E-UI-0047errorunknown %s %q
E-UI-0048errorcomponent %s must reference a %s, got %s %q
E-UI-0049errorembedded style %q redeclares property %q
E-UI-0050errora component declares no member named ref: on a call of the component, ref = name is how the calling view names it; rename the member
E-UI-0051errorevery component has a field %q: rename this one
E-UI-0052errorref names a component a view places: it is given on a component call that is a statement of a view
E-UI-0053errorref takes a new name: it declares that name as a member of the component, holding the child the call places
E-UI-0054errorref %q is given twice in this view: a ref names one component; rename one of them
E-UI-0055errorref %q: the name is taken by a %s in scope here, which hides the member the ref declares; rename one of them
E-UI-0056errorref %q stands in a loop, where it would name the component of every round: give the round a component of its own and put the ref in its view
E-UI-0057erroran optional slot may hold nothing: place it under if !(%s is none) { ... }
E-UI-0058errora view takes no arguments: a slot that receives something is a function returning a view (def(T) view)
E-UI-0059errorthis call may return no view: keep its result in a let and place it under if !(name is none) { name() }
E-UI-0060errora view is placed by a statement of a view, not from a function
E-UI-0061error%q cannot be assigned here: only the block of a component call assigns, and only that component's slots
E-UI-0062errorcomponent %q has no slot %q
E-UI-0063error%q is not a slot of %q: a block assigns only inputs typed view (or a function returning one); pass this one in the parentheses, %s(%s = ...)
E-UI-0064error%q is a slot of %q and also %s in scope here, where the block is written: rename one of them
E-UI-0065errorslot %q needs a fallback or to be optional: write %s view = view { ... }, or %s ?view = none and place it under if !(%s is none)
E-UI-0066errora @scoped component names no style: it is not laid out or drawn, its children are placed as its parent's; remove the style, or the annotation
E-UI-0067errora @scoped component declares no render: it is not drawn; remove the method, or the annotation

Annotations

Annotations and build-time metas. 58 codes.

E-META-0001error@%s runs during the build, and the program that calls it did not build: %s
E-META-0002error@%s adds members during the build, before names are resolved, and was not found then: it annotates a partial type declared in a module, and the file names its module (use %s, or %s.%s after it)
E-META-0003error@%s is %s here, but the build ran %s for it, which the file's imports also offer: write the annotation with its module's name
E-META-0004error@%s runs during the build and sets one value: annotate a single name with a declared type
E-META-0005error@%s runs during the build and sets the value: the declaration takes no initializer
E-META-0006error@%s runs during the build, outside the program: its arguments are literals
E-META-0007error@%s: %s
E-META-0008error@%s set bytes: that takes a byte[] constant, got %s
E-META-0009error@%s set %s, and %s is declared %s
E-META-0010error@%s can only annotate methods
E-META-0011error@persist takes the key the value is kept under as a string written in place: @persist("sidebar.width")
E-META-0012error@persist key %q is not a name a value can be kept under: 1 to %d letters a to z and A to Z, digits, '.', '_' and '-'
E-META-0013error@persist marks one field: %d fields declared together would be kept under the same key
E-META-0014error@persist cannot keep a field whose type names %s, a type parameter of %s: every instance of %s keeps the field under the one key %q, each as another type
E-META-0015error@persist cannot keep a %s: %s
E-META-0016error@embed requires a single const binding
E-META-0017error@embed requires an explicit type
E-META-0018error@embed requires a string literal path
E-META-0019error@embed path %q does not exist
E-META-0020error@embed expects a byte[] constant, got %s
E-META-0021error@embed expects a file, got directory %q
E-META-0022error@embed constant cannot have an initializer
E-META-0023error@embed gzip must be a bool literal
E-META-0024error@builtin types must live in the builtin module
E-META-0025error@builtin types cannot specify both primitive and for
E-META-0026errorinvalid @builtin for constraint
E-META-0027errorcannot infer lambda parameter types; add parameter type annotations or use a typed context
E-META-0028error@implicit applies to constructors (def new) only
E-META-0029error@implicit requires a constructor with exactly one parameter
E-META-0030error@implicit constructor must not fail: no fail, expects, try or onerror in its body
E-META-0031error@implicit applies to constructors of types and structs only
E-META-0032error%s already has an @implicit constructor
E-META-0033error@persist key %q is kept as %s here and as %s at %s: fields that share a key have one type
E-META-0034error@on handler signature mismatch: got %s, want %s
E-META-0035error@on expects 1 or 2 arguments (service method, optional filter)
E-META-0036errormeta functions cannot be infix
E-META-0037errormeta functions must declare a first parameter of a std.reflection.*MetaContext type
E-META-0038errormeta functions must declare a first parameter of a std.reflection.*MetaContext type, got %s
E-META-0039errormeta functions targeting compile-time contexts cannot be async
E-META-0040errorunknown annotation @%s
E-META-0041error@%s: one of its arguments has no type; write a literal or an expression (a lone name is not looked up as a value in an annotation)
E-META-0042error@%s cannot use a templated argument: %s is not annotated with a runtime meta context
E-META-0043error@%s cannot annotate %s of type %s (requires %s)
E-META-0044error@%s does not refer to a meta function
E-META-0045error@%s cannot annotate %s (supported contexts: %s)
E-META-0046errorno overload of @%s matches arguments (%s)
E-META-0047errorambiguous overload of @%s for arguments (%s)
E-META-0048error@%s takes a file here: a string literal path
E-META-0049error@%s: file %q does not exist
E-META-0050error@%s expects a file, got directory %q
E-META-0051errorcannot infer property type for %q; add a type annotation or typed accessor/storage
E-META-0052error@trackCaller function %s cannot be used as a value: its call-site location is passed implicitly and only a direct call can supply it
E-META-0053error@trackCaller method %s cannot satisfy interface %s: interface dispatch has no slot for the implicit call-site location
E-META-0054errormodule %q is provided by more than one package: %s; a program uses one package per module prefix, keep one of them in adm.lock or list it under [deps] in adm.toml
E-META-0055error@%s adds members to %s during the build, as another part of the type: declare it partial type %s
E-META-0056error@%s runs during the build, and the program that calls it did not build (its module cannot import code that uses what it generates): %s
W-META-0001warning@%s: %s
W-META-0002warningthe members @%s adds to %s are not known here: build the program once (adm build, adm test) and they are

Plugins

Plugin exports. 11 codes.

E-PLUGIN-0001error%q is exported from both %s and %s; a plugin publishes each name once
E-PLUGIN-0002errorname the functions of plugin %q to export: %s::(name, ...)
E-PLUGIN-0003errorplugin %q declares no function %q to export
E-PLUGIN-0004errorcannot export unknown module %q
E-PLUGIN-0005errorlibrary %q may only export modules under its own prefix; %q is outside it
E-PLUGIN-0006errorplugin does not use module %q; add it to the use list before exporting it
E-PLUGIN-0007errormodule %q has no symbol %q to export
E-PLUGIN-0008error%q is internal to module %q and cannot be exported
E-PLUGIN-0009errora plugin exports no service: %q stays inside the plugin, and a host reaches it through an exported type or function
E-PLUGIN-0010errorexported %q uses unexported type %q; export it as well
E-PLUGIN-0011error%q is generic and cannot be exported from a plugin: a host cannot instantiate it; export a function or type without type parameters

Policy

Policies and permissions. 14 codes.

E-POLICY-0001errorPermission needs a name
E-POLICY-0002errorPermission name %q must be one segment; the service's prefix %q is added by the compiler
E-POLICY-0003errorduplicate permission %q
E-POLICY-0004errorPermission spec %s is not a spec type: it needs def validate(value T) !none
E-POLICY-0005errorpolicy must be a string literal naming a permission
E-POLICY-0006error@requires takes a string literal naming a permission
E-POLICY-0007errorunknown permission %q; declared: %s
E-POLICY-0008errorunknown permission %q; no service declares permissions
E-POLICY-0009error@requires gates %q on %q, so it must return an errorable (!T)
E-POLICY-0010error@%s(policy = %q) gates %q, so it must return an errorable (!T)
E-POLICY-0011errorparameter %s is constrained by %s, but permission %q declares spec %s
E-POLICY-0012error%s binds C code in %s that was not accepted at install (adm install --accept foreign)
E-POLICY-0013error%s observes %s, which needs %s; the package was not granted it (adm install --accept)
W-POLICY-0001warningparameter %s is constrained but the %s is not gated (no policy or @requires); nothing checks it

SQL

sql def and its schema. 20 codes.

E-SQL-0001errorthe result %s of this sql def does not read as a type
E-SQL-0002error@routine names a stored routine in the database; this sql def's body is a statement, not a routine (BEGIN ... END)
E-SQL-0003error@routine takes the routine's body and connection from its sql def; give it only name and schema
E-SQL-0004errorthis sql def names its connection with @db and with @migration(db = ...): keep one
E-SQL-0005errora sql def step runs on one connection: @migration(db = "main"); a step on several is a plain function calling sql def functions in a transaction { } block
E-SQL-0006error@migration names one connection of the database service with a plain string: @migration(db = "main")
E-SQL-0007error@db names one connection of the database service with a plain string: @db("reports")
E-SQL-0008errortype %s marks %d properties with @connection (%s); its sql def methods run on one
E-SQL-0009errorsql def %s names a connection with @db, and its type %s marks the property %s with @connection: keep one
E-SQL-0010error%s (@sqlschema %s)
E-SQL-0011error{%s} is a %s, and column %s holds %s values (%s)
E-SQL-0012error@sqlschema names the schema file with a plain string: @sqlschema("schema.sql")
E-SQL-0013error@sqlschema cannot read %s: %v
E-SQL-0014errorthe query returns %d columns, and the result %s reads %d
E-SQL-0015errorcolumn %d (%s) holds %s values, which do not read as %s
E-SQL-0016errorthe query returns %d columns, and the result %s reads one
E-SQL-0017errorcolumn %s holds %s values, which do not read as %s
E-SQL-0018errorcolumn %s holds %s values, which do not read into field %s.%s (%s)
E-SQL-0019errorstored routine %s is declared twice for %s: %s and %s; give one another name with @db.routine(name = "...")
W-SQL-0001warningfield %s.%s reads column %s, which the query does not return; it keeps its zero value

Units

Quantities and units of measure. 18 codes.

E-UNIT-0001errora derived dimension combines dimension types with *, / and ** (integer exponent)
E-UNIT-0002errora @dimension type has no body, alias or type parameters: @dimension(unit = "m") type Length
E-UNIT-0003errorunit %q is already declared in this module
E-UNIT-0004error@unit takes a single-name symbol, optional prefixes and a numeric offset: @unit("g", prefixes = Prefixes.SI)
E-UNIT-0005errora unit's value is a literal: const gram Mass = 0.001(kg)
E-UNIT-0006errora unit's type is a dimension, or float for a plain ratio
E-UNIT-0007errora duration meets a quantity as a Time, but no dimension with base unit s is visible: import std.units
E-UNIT-0008errorcannot %s %s and %s: %s
E-UNIT-0009errora quantity's exponent is an integer constant: side ** 2
E-UNIT-0010error%s takes no argument %q
E-UNIT-0011errorto takes the unit to express the quantity in: v.to(km/h)
E-UNIT-0012errorstr takes an optional unit and digits: v.str(km, digits = 2)
E-UNIT-0013error(%s) is not a unit of %s
E-UNIT-0014errorno base unit for %s: its dimensions declare none
E-UNIT-0015errordigits is an integer constant from 0 to 17
E-UNIT-0016error(%s) measures no dimension: a unit argument names a quantity's unit
W-UNIT-0001warning(%s) is logarithmic and stored linear, so this %s adds the linear values; levels in %s combine with *
W-UNIT-0002warning(%s) has an offset, so this %s works on absolute values in the base unit; write a difference in the base unit

Foreign code

Foreign functions and headers, the C, Zig, Rust and Go sources a build compiles, and the linker. 34 codes.

E-FFI-0001erroronly structs can be embedded; %s is not a struct
E-FFI-0002errorcannot embed type parameter %s; only structs can be embedded
E-FFI-0003erroronly structs can be embedded; %s is a %s
E-FFI-0004errorfield %q is embedded from both %s and %s; declare %s in the struct to choose one
E-FFI-0005error@callback marks a function parameter of a C declaration (a body-less def in an @c/@link/@native module), which C keeps and calls later
E-FFI-0006errorC function %s cannot take optional function parameter %q: pass a function, or declare the parameter uint and pass 0 for none
E-FFI-0007error@callback needs a function parameter, not %s
E-FFI-0008errorC function %s cannot take parameter %q of type %s: C has no %s
E-FFI-0009errorC function %s cannot take function parameter %q: %s
E-FFI-0010errorC function %s cannot return a function value: C function pointers are not ADM functions
E-FFI-0011errorC function %s cannot return %s: C has no %s
E-FFI-0012errorC keeps this callback after the call returns, but a lambda that captures dies with it: keep it in a variable or field for as long as C may call it
E-FFI-0013errorunknown calling convention %q: use "cdecl", "stdcall", "fastcall" or "vectorcall"
E-FFI-0014errorC function %s takes variable arguments, so it cannot take or return a struct
E-FFI-0015errorC function %s cannot pass its structs: %s
E-FFI-0016errorC function %s does not match %s: %s
E-FFI-0017error@%s names no source file, and neither does the module of %s
E-FFI-0018error@%s names no source file, and the module of %s is a @%s unit
E-FFI-0019error@portable applies to a type: a struct crosses to another process without it
E-FFI-0020error@portable applies to a type only
E-FFI-0021error@portable applies to a type with fields: an alias crosses as the type it names
E-FFI-0022error@portable type %s: its field %s cannot cross to another process: %s
E-FFI-0023errorC compiler: %s
E-FFI-0024errorZig compiler: %s
E-FFI-0025errorRust compiler: %s
E-FFI-0026errorGo compiler: %s
E-FFI-0027error%s is declared without a body, and nothing linked defines its symbol %s: add the source that defines it, or name its library with @c or @link
E-FFI-0028errorthe linker found no definition of %s
E-FFI-0029errorlinker: %s
E-FFI-0030error%s binds %q, which the program's foreign sources do not export
E-FFI-0031error%s does not match the exported function %s: %s
W-FFI-0001warningC compiler: %s
W-FFI-0002warningZig compiler: %s
W-FFI-0003warningRust compiler: %s

GPU

cuda def kernels. 8 codes.

E-GPU-0001error@kernelOnly cuda def returns %s; a helper returns a numeric scalar or nothing
E-GPU-0002errorcuda def must return !none; results come back through array parameters
E-GPU-0003error@kernelOnly cuda def cannot take a gpu.Stream; streams pick where a launch is queued
E-GPU-0004errorcuda def takes at most one gpu.Stream
E-GPU-0005errorcuda def parameter %s has type %s; a kernel takes numeric scalars, arrays of them, DeviceBuffers and a gpu.Stream
E-GPU-0006error%s is @kernelOnly: call it from a cuda def body, not from ADM code
E-GPU-0007errorCUDA C: %s
W-GPU-0001warningCUDA C: %s

Shaders

@fragment code. 52 codes.

E-SHADER-0001errormissing uniform %s of %s
E-SHADER-0002error@fragment functions cannot be overloaded: %s is declared twice
E-SHADER-0003errora @fragment function cannot be %s
E-SHADER-0004errora @fragment function cannot be generic
E-SHADER-0005errora @fragment function cannot be variadic
E-SHADER-0006errora @fragment parameter is %s
E-SHADER-0007errora @fragment function returns %s
E-SHADER-0008errorbreak outside a loop
E-SHADER-0009errorcontinue outside a loop
E-SHADER-0010error%s is not available in fragment code
E-SHADER-0011errora fragment local is %s
E-SHADER-0012errordeclare one fragment local at a time
E-SHADER-0013errora fragment local needs a type or a value
E-SHADER-0014error%s applies to int and float
E-SHADER-0015errora fragment statement assigns, declares or controls flow; this value is unused
E-SHADER-0016error%s is not a fragment local
E-SHADER-0017error%s has no component %s
E-SHADER-0018erroronly fragment locals and their vector components can be assigned
E-SHADER-0019error%s %s %s does not fit %s
E-SHADER-0020erroran if with an initializer is not available in fragment code
E-SHADER-0021errorfragment code guards only return, break and continue
E-SHADER-0022errorevery, empty, break and finish blocks are not available in fragment code
E-SHADER-0023errorfragment loops count explicitly: for let i = a; i < b; i++
E-SHADER-0024errorfail is not available in fragment code
E-SHADER-0025errora fragment function returns a %s
E-SHADER-0026errorexpected %s, got %s
E-SHADER-0027error%s has no field %s in fragment code
E-SHADER-0028error%s does not fit a 32-bit int
E-SHADER-0029error%s is not a number
E-SHADER-0030errorconst %s is not a number fragment code can use
E-SHADER-0031error%s is not available in fragment code: only locals, parameters and const numbers are
E-SHADER-0032errorthe arms are %s and %s
E-SHADER-0033error%s %s %s is not available in fragment code
E-SHADER-0034error%s%s is not available in fragment code
E-SHADER-0035error%s cannot convert to %s
E-SHADER-0036erroronly float, float32 and int conversions are available in fragment code
E-SHADER-0037errorfragment code constructs only Vec2, Vec3 and Vec4
E-SHADER-0038errorpass vector components by position
E-SHADER-0039errornew %s takes %d components
E-SHADER-0040errorgeneric calls are not available in fragment code
E-SHADER-0041erroronerror is not available in fragment code
E-SHADER-0042error%s.%s is not available in fragment code
E-SHADER-0043erroronly named calls are available in fragment code
E-SHADER-0044errora conversion takes one value
E-SHADER-0045error%s takes %d value(s)
E-SHADER-0046errorrecursion is not available in fragment code
E-SHADER-0047error%s takes %d values
E-SHADER-0048error%s has no parameter %s
E-SHADER-0049errormissing value for %s
E-SHADER-0050errorpass method arguments by position in fragment code
E-SHADER-0051errorno %s.%s takes (%s)
E-SHADER-0052errorrecursion is not available in fragment code: %s calls itself through other functions

Internal

A tool refused code adm generated: a compiler bug. Please report it with the message. 2 codes.

E-INTERNAL-0001errorthe %s refused code adm generated, a compiler bug; please report it: %s: %s
E-INTERNAL-0002errorLLVM rejected the code adm generated for %s, a compiler bug; please report it: %s