Skip to main content

TypeError

Struct TypeError 

Source
pub struct TypeError {
    pub message: String,
    pub code: String,
    pub line: Option<usize>,
    pub column: Option<usize>,
    pub file_path: Option<String>,
    pub suggestions: Vec<String>,
    pub related_types: Vec<String>,
    pub severity: TypeErrorSeverity,
}
Expand description

类型错误

表示类型检查过程中发现的错误,包含错误信息、位置和建议修复方案。

Fields§

§message: String

错误信息

§code: String

错误代码

§line: Option<usize>

错误位置(行号,从 1 开始)

§column: Option<usize>

错误位置(列号,从 1 开始)

§file_path: Option<String>

源文件路径

§suggestions: Vec<String>

建议修复方案

§related_types: Vec<String>

相关类型

§severity: TypeErrorSeverity

错误严重程度

Implementations§

Source§

impl TypeError

Source

pub fn new(message: impl Into<String>, code: impl Into<String>) -> Self

创建新的类型错误

§参数
  • message - 错误信息
  • code - 错误代码
§返回值

返回新的类型错误实例

Source

pub fn with_location(self, line: usize, column: usize) -> Self

设置错误位置

§参数
  • line - 行号
  • column - 列号
§返回值

返回修改后的错误实例

Source

pub fn with_file(self, path: impl Into<String>) -> Self

设置源文件路径

§参数
  • path - 文件路径
§返回值

返回修改后的错误实例

Source

pub fn with_suggestion(self, suggestion: impl Into<String>) -> Self

添加建议修复方案

§参数
  • suggestion - 建议修复方案
§返回值

返回修改后的错误实例

添加相关类型

§参数
  • type_name - 相关类型名称
§返回值

返回修改后的错误实例

Source

pub fn with_severity(self, severity: TypeErrorSeverity) -> Self

设置错误严重程度

§参数
  • severity - 严重程度
§返回值

返回修改后的错误实例

Source

pub fn format(&self) -> String

格式化错误信息

§返回值

返回格式化后的错误信息字符串

Trait Implementations§

Source§

impl Clone for TypeError

Source§

fn clone(&self) -> TypeError

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 TypeError

Source§

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

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

impl PartialEq for TypeError

Source§

fn eq(&self, other: &TypeError) -> 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 Eq for TypeError

Source§

impl StructuralPartialEq for TypeError

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, 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V