Skip to main content

DiagnosticCode

Enum DiagnosticCode 

Source
pub enum DiagnosticCode {
Show 44 variants ParseError, SyntaxError, UnexpectedEof, MissingStrict, MissingWarnings, UnusedVariable, UndefinedVariable, VariableShadowing, VariableRedeclaration, DuplicateParameter, ParameterShadowsGlobal, UnusedParameter, UnquotedBareword, UninitializedVariable, MisspelledPragma, MissingPackageDeclaration, DuplicatePackage, DuplicateSubroutine, MissingReturn, BarewordFilehandle, TwoArgOpen, ImplicitReturn, AssignmentInCondition, NumericComparisonWithUndef, PrintfFormatMismatch, DeprecatedDefined, DeprecatedArrayBase, SecurityStringEval, SecurityBacktickExec, UnusedImport, ModuleNotFound, HeredocInFormat, HeredocInBegin, HeredocDynamicDelimiter, HeredocInSourceFilter, HeredocInRegexCode, HeredocInEval, HeredocTiedHandle, VersionIncompatFeature, CriticSeverity1, CriticSeverity2, CriticSeverity3, CriticSeverity4, CriticSeverity5,
}
Expand description

Stable diagnostic codes for Perl LSP.

Each code has a fixed string representation and associated metadata.

Variants§

§

ParseError

General parse error

§

SyntaxError

Syntax error

§

UnexpectedEof

Unexpected end-of-file

§

MissingStrict

Missing ‘use strict’ pragma

§

MissingWarnings

Missing ‘use warnings’ pragma

§

UnusedVariable

Unused variable

§

UndefinedVariable

Undefined variable

§

VariableShadowing

Variable shadowing an outer declaration

§

VariableRedeclaration

Variable redeclared in the same scope

§

DuplicateParameter

Duplicate parameter in a subroutine signature

§

ParameterShadowsGlobal

Subroutine parameter shadows a global variable

§

UnusedParameter

Subroutine parameter is declared but never used

§

UnquotedBareword

Bareword used where a quoted string is expected (under strict)

§

UninitializedVariable

Variable used before being initialized

§

MisspelledPragma

Pragma name appears to be misspelled

§

MissingPackageDeclaration

Missing package declaration

§

DuplicatePackage

Duplicate package declaration

§

DuplicateSubroutine

Duplicate subroutine definition

§

MissingReturn

Missing explicit return statement

§

BarewordFilehandle

Bareword filehandle usage

§

TwoArgOpen

Two-argument open() call

§

ImplicitReturn

Implicit return value

§

AssignmentInCondition

Assignment used where a comparison was likely intended

§

NumericComparisonWithUndef

Numeric comparison against a potentially undefined value

§

PrintfFormatMismatch

printf/sprintf format specifier count does not match argument count

§

DeprecatedDefined

Use of deprecated defined(@array) / defined(%hash)

§

DeprecatedArrayBase

Use of deprecated $[ array base variable

§

SecurityStringEval

String eval is a security risk

§

SecurityBacktickExec

Backtick/qx command execution detected

§

UnusedImport

Module appears to be unused

§

ModuleNotFound

Module not found in workspace or configured include paths

§

HeredocInFormat

Heredoc used inside a format block

§

HeredocInBegin

Heredoc used inside a BEGIN block

§

HeredocDynamicDelimiter

Heredoc delimiter is dynamic (variable interpolation)

§

HeredocInSourceFilter

Heredoc used inside a source filter

§

HeredocInRegexCode

Heredoc used inside a regex code block

§

HeredocInEval

Heredoc used inside string eval

§

HeredocTiedHandle

Heredoc used with a tied filehandle

§

VersionIncompatFeature

Use of a Perl feature not available in the declared version

§

CriticSeverity1

Perl::Critic brutal (severity 1) violation

§

CriticSeverity2

Perl::Critic cruel (severity 2) violation

§

CriticSeverity3

Perl::Critic harsh (severity 3) violation

§

CriticSeverity4

Perl::Critic stern (severity 4) violation

§

CriticSeverity5

Perl::Critic gentle (severity 5) violation

Implementations§

Source§

impl DiagnosticCode

Source

pub fn as_str(&self) -> &'static str

Get the string representation of this code.

Source

pub fn documentation_url(&self) -> Option<&'static str>

Get the documentation URL for this code, if available.

Source

pub fn severity(&self) -> DiagnosticSeverity

Get the default severity for this diagnostic code.

Source

pub fn tags(&self) -> &'static [DiagnosticTag]

Get any diagnostic tags associated with this code.

Source

pub fn context_hint(&self) -> Option<&'static str>

Return a human-readable context hint for this diagnostic code.

Hints are short, actionable explanations that help users understand what the diagnostic means and how to resolve it. Perl::Critic codes return None because their per-policy descriptions already serve this purpose.

Source

pub fn from_message(msg: &str) -> Option<DiagnosticCode>

Try to infer a diagnostic code from a message.

Source

pub fn parse_code(code: &str) -> Option<DiagnosticCode>

Try to parse a code string into a DiagnosticCode.

Source§

impl DiagnosticCode

Source

pub fn category(&self) -> DiagnosticCategory

Get the category of this diagnostic code.

Trait Implementations§

Source§

impl Clone for DiagnosticCode

Source§

fn clone(&self) -> DiagnosticCode

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DiagnosticCode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for DiagnosticCode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for DiagnosticCode

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for DiagnosticCode

Source§

fn eq(&self, other: &DiagnosticCode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for DiagnosticCode

Source§

impl Eq for DiagnosticCode

Source§

impl StructuralPartialEq for DiagnosticCode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.