#[repr(C)]pub enum DiagnosticMessage {
Show 90 variants
FractionAfterNumeric {},
NoDigitsAfterDot {},
UnknownTypeOfPercentString {},
NumericLiteralWithoutDigits {},
UnterminatedList {},
UnterminatedRegexp {},
UnterminatedString {},
UnterminatedQuotedString {},
InvalidUnicodeEscape {},
TooLargeUnicodeCodepoint {},
InvalidUnicodeCodepoint {},
MultipleCodepointAtSingleChar {},
InvalidEscapeCharacter {},
InvalidHexEscape {},
UnterminatedHeredoc {
heredoc_id: String,
},
UnterminatedHeredocId {},
SlashRAtMiddleOfLine {},
DStarInterpretedAsArgPrefix {},
StarInterpretedAsArgPrefix {},
AmpersandInterpretedAsArgPrefix {},
TripleDotAtEol {},
ParenthesesIterpretedAsArglist {},
AmbiguousFirstArgument {
operator: u8,
},
AmbiguousOperator {
operator: String,
interpreted_as: String,
},
InvalidCharacterSyntax {
suggestion: String,
},
InvalidOctalDigit {},
TrailingCharInNumber {
c: u8,
},
EmbeddedDocumentMeetsEof {},
InvalidChar {
c: u8,
},
IncompleteCharacterSyntax {},
GvarWithoutId {},
InvalidGvarName {
c: u8,
},
IvarWithoutId {},
InvalidIvarName {
c: u8,
},
CvarWithoutId {},
InvalidCvarName {
c: u8,
},
UnknownRegexOptions {
options: String,
},
UnterminatedUnicodeEscape {},
EncodingError {
error: String,
},
InvalidMultibyteChar {},
AmbiguousTernaryOperator {
condition: String,
},
AmbiguousRegexp {},
ElseWithoutRescue {},
BeginNotAtTopLevel {},
AliasNthRef {},
CsendInsideMasgn {},
ClassOrModuleNameMustBeConstant {},
EndlessSetterDefinition {},
UnexpectedToken {
token_name: String,
},
ClassDefinitionInMethodBody {},
ModuleDefinitionInMethodBody {},
InvalidReturnInClassOrModuleBody {},
ConstArgument {},
IvarArgument {},
GvarArgument {},
CvarArgument {},
NoSuchLocalVariable {
var_name: String,
},
OrdinaryParamDefined {},
NumparamUsed {},
TokAtEolWithoutExpression {
token_name: String,
},
InvalidIdToGet {
identifier: String,
},
ForwardArgAfterRestarg {},
NoAnonymousBlockarg {},
EndInMethod {},
ComparisonAfterComparison {
comparison: String,
},
DuplicateHashKey {},
CircularArgumentReference {
arg_name: String,
},
DynamicConstantAssignment {},
CantAssignToSelf {},
CantAssignToNil {},
CantAssignToTrue {},
CantAssignToFalse {},
CantAssignToFile {},
CantAssignToLine {},
CantAssignToEncoding {},
CantAssignToNumparam {
numparam: String,
},
CantSetVariable {
var_name: String,
},
BlockGivenToYield {},
BlockAndBlockArgGiven {},
SymbolLiteralWithInterpolation {},
ReservedForNumparam {
numparam: String,
},
KeyMustBeValidAsLocalVariable {},
DuplicateVariableName {},
DuplicateKeyName {},
SingletonLiteral {},
NthRefIsTooBig {
nth_ref: String,
},
DuplicatedArgumentName {},
RegexError {
error: String,
},
InvalidSymbol {
symbol: String,
},
VoidValueExpression {},
}Expand description
Enum of all possible diagnostic message (both warnings and errors)
Variants§
FractionAfterNumeric
Emitted for code
1.2.3NoDigitsAfterDot
Emitted for code like
foo.2UnknownTypeOfPercentString
Emitted for code like
%k[foo]NumericLiteralWithoutDigits
Emitted for code like
0bUnterminatedList
Emitted for code like
%w[foo barUnterminatedRegexp
Emitted for code like
/fooUnterminatedString
Emitted for code like
"fooUnterminatedQuotedString
Emitted for code like
%s
// ^ EOF, not "
InvalidUnicodeEscape
Emitted for code like
"\ufoo"TooLargeUnicodeCodepoint
Emitted for code like
"\u{999999}"InvalidUnicodeCodepoint
Emitted for code like
"\u{d800}"MultipleCodepointAtSingleChar
Emitted for code like
?\u{41 42}InvalidEscapeCharacter
Emitted for code like
"\M-"InvalidHexEscape
Emitted for code like
"\xZZ"UnterminatedHeredoc
Emitted for code like
<<-HEREUnterminatedHeredocId
Emitted for code like
<<-"HERESlashRAtMiddleOfLine
Emitted for code like
eval("foo \r = 42")DStarInterpretedAsArgPrefix
Emitted for code like (only in $VERBOSE mode)
foo **argStarInterpretedAsArgPrefix
Emitted for code like (only in $VERBOSE mode)
foo *argAmpersandInterpretedAsArgPrefix
Emitted for code like (only in $VERBOSE mode)
foo &argTripleDotAtEol
Emitted for code like
range = 1...ParenthesesIterpretedAsArglist
Emitted for code like (only in $VERBOSE mode)
def m (a, b, c); endAmbiguousFirstArgument
Emitted for code like (only in $VERBOSE mode)
m +fooAmbiguousOperator
Emitted for code like (only in $VERBOSE mode)
1 *2Fields
InvalidCharacterSyntax
Emitted for code like
"\M- "InvalidOctalDigit
Emitted for code like
09TrailingCharInNumber
Emitted for code like
0_aEmbeddedDocumentMeetsEof
Emitted for code like
=beginInvalidChar
Emitted for code like
eval("\x01foo")IncompleteCharacterSyntax
It is unknown how to trigger this error. Code that triggers it in MRI can be dead.
GvarWithoutId
Emitted for code like
$InvalidGvarName
Emitted for code like
$@IvarWithoutId
Emitted for code like
@InvalidIvarName
Emitted for code like
@1CvarWithoutId
Emitted for code like
@@InvalidCvarName
Emitted for code like
@@1UnknownRegexOptions
Emitted for code like
/re/fooUnterminatedUnicodeEscape
Emitted for code like
"\u{1234"EncodingError
Emitted for code like
# encoding: fooInvalidMultibyteChar
Emitter for code like
eval("\xFF = 42")AmbiguousTernaryOperator
Emitted for code like
a ?AA : 2AmbiguousRegexp
Emitted for code like
m /foo/ElseWithoutRescue
Emitted for code like
begin; else; endBeginNotAtTopLevel
Emitted for code like
def f; BEGIN{}; endAliasNthRef
Emitted for code like
alias $a $1CsendInsideMasgn
Emitted for code like
*a&.x = 0ClassOrModuleNameMustBeConstant
Emitted for code like
module foo; endEndlessSetterDefinition
Emitted for code like
def foo=() = 42UnexpectedToken
Emitted for any code that produces invalid sequence of tokens
ClassDefinitionInMethodBody
Emitted for code like
def a; class Foo; end; endModuleDefinitionInMethodBody
Emitted for code like
def a; module Foo; end; endInvalidReturnInClassOrModuleBody
Emitted for code like
class A; return; endConstArgument
Emitted for code like
def foo(Abc); endIvarArgument
Emitted for code like
def foo(@abc); endGvarArgument
Emitted for code like
def foo($abc); endCvarArgument
Emitted for code like
def foo(@@abc); endNoSuchLocalVariable
Emitted for code like
case 0; in ^a; true; endOrdinaryParamDefined
Emitted for code like
m { |a| _1 }NumparamUsed
Emitted for code like
foo { _1; bar { _2 }; }TokAtEolWithoutExpression
Emitted for code like (only in $VERBOSE mode)
if
42
endInvalidIdToGet
Emitted for code like
{ foo?: }
# or
{ foo!: }ForwardArgAfterRestarg
Emitted for code like
def foo *rest, ...
endNoAnonymousBlockarg
Emitted for code like
def foo(); bar(&); endEndInMethod
Emitted for code like
def m; END {}; endComparisonAfterComparison
Emitted for code like (only in $VERBOSE mode)
a < b < cDuplicateHashKey
Emitted for code like
{ 42 => value, 42 => another_value }CircularArgumentReference
Emitted for code like
def m(foo = foo) endDynamicConstantAssignment
Emitted for code like
def m; FOO = 1; endCantAssignToSelf
Emitted for code like
self = fooCantAssignToNil
Emitted for code like
nil = fooCantAssignToTrue
Emitted for code like
true = fooCantAssignToFalse
Emitted for code like
false = fooCantAssignToFile
Emitted for code like
__FILE__ = fooCantAssignToLine
Emitted for code like
__LINE__ = fooCantAssignToEncoding
Emitted for code like
__ENCODING__ = fooCantAssignToNumparam
Emitted for code like
proc {_1; _1 = nil}CantSetVariable
Emitted for code like
$1 = fooBlockGivenToYield
Emitted for code like
yield(&foo)BlockAndBlockArgGiven
Emitted for code like
fun(&bar) do endSymbolLiteralWithInterpolation
Emitted for code like
case a; in "#{a}": 1; endReservedForNumparam
Emitted for code like
_1 = 1KeyMustBeValidAsLocalVariable
Emitted for code like
case a; in a?:; endDuplicateVariableName
Emitted for code like
case 0; in a, a; endDuplicateKeyName
Emitted for code like
case 0; in a: 1, a: 2; endSingletonLiteral
Emitted for code like
def (1).foo; endNthRefIsTooBig
Emitted for code like (only in $VERBOSE mode)
$100DuplicatedArgumentName
Emitted for code like
def foo(aa, aa); endRegexError
Emitted for code like
/[/InvalidSymbol
Emitted for code like
%I"x .\xc3."VoidValueExpression
Emitted for code like
a = returnImplementations§
Trait Implementations§
Source§impl Clone for DiagnosticMessage
impl Clone for DiagnosticMessage
Source§fn clone(&self) -> DiagnosticMessage
fn clone(&self) -> DiagnosticMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more