pub enum Span {
Detached,
FileLocated {
source: SourceId,
range: TextRange,
},
LocalRefFrame {
range: TextRange,
},
}Variants§
Implementations§
Source§impl Span
impl Span
Sourcepub fn detached() -> Self
pub fn detached() -> Self
Examples found in repository?
examples/parse_emit_walkthrough.rs (line 14)
10 fn parse(input: &mut ParseStream) -> Result<Self, TokenParseError> {
11 let Some(token) = input.next_token() else {
12 return Err(TokenParseError::UnexpectedEnd {
13 expected: "identifier",
14 span: Span::detached(),
15 });
16 };
17
18 let span = token.span();
19 match token {
20 TokenTree::Ident(identifier) => Ok(Self(identifier)),
21 token => Err(TokenParseError::UnexpectedToken {
22 expected: "identifier",
23 found: token.spelling().unwrap_or("group or trivia").to_owned(),
24 span,
25 }),
26 }
27 }pub fn new(source: SourceId, range: TextRange) -> Self
pub fn in_tmp_file(range: TextRange) -> Self
pub fn source(self) -> Result<SourceId, MissingData>
pub fn range(self) -> Result<TextRange, MissingData>
pub fn start_point(self) -> Result<TextPoint, MissingData>
pub fn end_point(self) -> Result<TextPoint, MissingData>
pub fn byte_size(self) -> Result<usize, MissingData>
pub fn join(self, other: Self) -> Self
pub fn join_all(spans: impl IntoIterator<Item = Span>) -> Self
Trait Implementations§
impl Copy for Span
impl Eq for Span
impl StructuralPartialEq for Span
Auto Trait Implementations§
impl Freeze for Span
impl RefUnwindSafe for Span
impl Send for Span
impl Sync for Span
impl Unpin for Span
impl UnsafeUnpin for Span
impl UnwindSafe for Span
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