=over =item state VARLIST X =item state TYPE VARLIST =item state VARLIST : ATTRS =item state TYPE VARLIST : ATTRS L|/state VARLIST> declares a lexically scoped variable, just like L|/my VARLIST>. However, those variables will never be reinitialized, contrary to lexical variables that are reinitialized each time their enclosing block is entered. See L for details. If more than one variable is listed, the list must be placed in parentheses. With a parenthesised list, L|/undef EXPR> can be used as a dummy placeholder. However, since initialization of state variables in such lists is currently not possible this would serve no purpose. Redeclaring a variable in the same scope or statement will "shadow" the previous declaration, creating a new instance and preventing access to the previous one. This is usually undesired and, if warnings are enabled, will result in a warning in the C category. L|/state VARLIST> is available only if the L feature|feature/The 'state' feature> is enabled or if it is prefixed with C. The L feature|feature/The 'state' feature> is enabled automatically with a C (or higher) declaration in the current scope. =back