pub struct SourceLocation {
pub file: Option<String>,
pub line: usize,
pub column: usize,
pub length: usize,
pub end_line: Option<usize>,
pub end_column: Option<usize>,
}Expand description
Source location information for error reporting
Fields§
§file: Option<String>Source file path (if available)
line: usizeLine number (1-indexed)
column: usizeColumn number (1-indexed)
length: usizeLength of the error span
end_line: Option<usize>End line for multi-line spans
end_column: Option<usize>End column for multi-line spans
Implementations§
Source§impl SourceLocation
impl SourceLocation
Sourcepub fn with_file(file: impl Into<String>, line: usize, column: usize) -> Self
pub fn with_file(file: impl Into<String>, line: usize, column: usize) -> Self
Create a source location with file information
Sourcepub fn with_length(self, length: usize) -> Self
pub fn with_length(self, length: usize) -> Self
Set the span length
Sourcepub fn with_end(self, end_line: usize, end_column: usize) -> Self
pub fn with_end(self, end_line: usize, end_column: usize) -> Self
Set the end position for multi-line spans
Sourcepub fn span_to(&self, end: &SourceLocation) -> Self
pub fn span_to(&self, end: &SourceLocation) -> Self
Create a span from start to end location
Trait Implementations§
Source§impl Clone for SourceLocation
impl Clone for SourceLocation
Source§fn clone(&self) -> SourceLocation
fn clone(&self) -> SourceLocation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SourceLocation
impl Debug for SourceLocation
Source§impl Default for SourceLocation
impl Default for SourceLocation
Source§fn default() -> SourceLocation
fn default() -> SourceLocation
Returns the “default value” for a type. Read more
Source§impl Display for SourceLocation
impl Display for SourceLocation
Source§impl PartialEq for SourceLocation
impl PartialEq for SourceLocation
impl Eq for SourceLocation
impl StructuralPartialEq for SourceLocation
Auto Trait Implementations§
impl Freeze for SourceLocation
impl RefUnwindSafe for SourceLocation
impl Send for SourceLocation
impl Sync for SourceLocation
impl Unpin for SourceLocation
impl UnwindSafe for SourceLocation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more