pub struct LineAndColumn {
pub line: NonZeroUsize,
pub column: NonZeroUsize,
}Expand description
A 1-indexed line and column location intended for usage in errors/warnings/lints/etc.
Both line and column are 1-indexed, as that is how most people think of lines and columns.
§Example
assert_eq!("Beginning of &str: 1:1",format!("Beginning of &str: {}", LineAndColumn::new(1, 1).unwrap()));Fields§
§line: NonZeroUsizeThe 1-indexed line absolute position (i.e., relative to the start of a &str)
column: NonZeroUsizeThe 1-indexed character absolute position (i.e., relative to the start of a &str)
Implementations§
Source§impl LineAndColumn
impl LineAndColumn
Sourcepub fn new(line: usize, column: usize) -> Option<Self>
pub fn new(line: usize, column: usize) -> Option<Self>
Constructs at LineAndColumn if non-zero-index invariants, else None
Sourcepub const unsafe fn new_unchecked(line: usize, column: usize) -> Self
pub const unsafe fn new_unchecked(line: usize, column: usize) -> Self
Constructs at LineAndColumn without verifying 1-indexed invariant (i.e. nonzero).
This results in undefined behaviour if either line or column is zero.
§Safety
Both line and column values must not be zero.
Trait Implementations§
Source§impl Clone for LineAndColumn
impl Clone for LineAndColumn
Source§fn clone(&self) -> LineAndColumn
fn clone(&self) -> LineAndColumn
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 LineAndColumn
impl Debug for LineAndColumn
Source§impl Display for LineAndColumn
impl Display for LineAndColumn
Source§impl From<LineAndCharPosition> for LineAndColumn
impl From<LineAndCharPosition> for LineAndColumn
Source§fn from(_: LineAndCharPosition) -> Self
fn from(_: LineAndCharPosition) -> Self
Converts to this type from the input type.
Source§impl Hash for LineAndColumn
impl Hash for LineAndColumn
Source§impl Ord for LineAndColumn
impl Ord for LineAndColumn
Source§fn cmp(&self, other: &LineAndColumn) -> Ordering
fn cmp(&self, other: &LineAndColumn) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for LineAndColumn
impl PartialEq for LineAndColumn
Source§impl PartialOrd for LineAndColumn
impl PartialOrd for LineAndColumn
impl Copy for LineAndColumn
impl Eq for LineAndColumn
impl StructuralPartialEq for LineAndColumn
Auto Trait Implementations§
impl Freeze for LineAndColumn
impl RefUnwindSafe for LineAndColumn
impl Send for LineAndColumn
impl Sync for LineAndColumn
impl Unpin for LineAndColumn
impl UnwindSafe for LineAndColumn
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.