pub trait Span: Types {
Show 16 methods
// Required methods
fn debug(&mut self, self_: Self::Span) -> String;
fn parent(&mut self, self_: Self::Span) -> Option<Self::Span>;
fn source(&mut self, self_: Self::Span) -> Self::Span;
fn byte_range(&mut self, self_: Self::Span) -> Range<usize>;
fn start(&mut self, self_: Self::Span) -> Self::Span;
fn end(&mut self, self_: Self::Span) -> Self::Span;
fn line(&mut self, self_: Self::Span) -> usize;
fn column(&mut self, self_: Self::Span) -> usize;
fn file(&mut self, self_: Self::Span) -> String;
fn local_file(&mut self, self_: Self::Span) -> Option<String>;
fn join(
&mut self,
self_: Self::Span,
other: Self::Span,
) -> Option<Self::Span>;
fn subspan(
&mut self,
self_: Self::Span,
start: Bound<usize>,
end: Bound<usize>,
) -> Option<Self::Span>;
fn resolved_at(&mut self, self_: Self::Span, at: Self::Span) -> Self::Span;
fn source_text(&mut self, self_: Self::Span) -> Option<String>;
fn save_span(&mut self, self_: Self::Span) -> usize;
fn recover_proc_macro_span(&mut self, id: usize) -> Self::Span;
}
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)Required Methodsยง
fn debug(&mut self, self_: Self::Span) -> String
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn parent(&mut self, self_: Self::Span) -> Option<Self::Span>
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn source(&mut self, self_: Self::Span) -> Self::Span
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn byte_range(&mut self, self_: Self::Span) -> Range<usize>
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn start(&mut self, self_: Self::Span) -> Self::Span
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn end(&mut self, self_: Self::Span) -> Self::Span
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn line(&mut self, self_: Self::Span) -> usize
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn column(&mut self, self_: Self::Span) -> usize
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn file(&mut self, self_: Self::Span) -> String
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn local_file(&mut self, self_: Self::Span) -> Option<String>
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn join(&mut self, self_: Self::Span, other: Self::Span) -> Option<Self::Span>
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn subspan( &mut self, self_: Self::Span, start: Bound<usize>, end: Bound<usize>, ) -> Option<Self::Span>
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn resolved_at(&mut self, self_: Self::Span, at: Self::Span) -> Self::Span
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn source_text(&mut self, self_: Self::Span) -> Option<String>
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn save_span(&mut self, self_: Self::Span) -> usize
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)fn recover_proc_macro_span(&mut self, id: usize) -> Self::Span
๐ฌThis is a nightly-only experimental API. (
proc_macro_internals
#27812)