Struct partiql_source_map::location::LineAndColumn
source · 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: NonZeroUsize
The 1-indexed line absolute position (i.e., relative to the start of a &str)
column: NonZeroUsize
The 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 copy 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<LineAndColumn> for LineAndColumn
impl PartialEq<LineAndColumn> for LineAndColumn
source§fn eq(&self, other: &LineAndColumn) -> bool
fn eq(&self, other: &LineAndColumn) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<LineAndColumn> for LineAndColumn
impl PartialOrd<LineAndColumn> for LineAndColumn
source§fn partial_cmp(&self, other: &LineAndColumn) -> Option<Ordering>
fn partial_cmp(&self, other: &LineAndColumn) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for LineAndColumn
impl Eq for LineAndColumn
impl StructuralEq for LineAndColumn
impl StructuralPartialEq for LineAndColumn
Auto Trait Implementations§
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<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.