1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use syntax::ast::*;
use syntax::ptr::P;
use syntax::source_map::{Span, Spanned};
use crate::ast_manip::util::extended_span;
pub trait GetSpan {
fn get_span(&self) -> Span;
}
impl<T> GetSpan for Spanned<T> {
fn get_span(&self) -> Span {
self.span
}
}
impl<'a, T: GetSpan> GetSpan for &'a T {
fn get_span(&self) -> Span {
<T as GetSpan>::get_span(self)
}
}
impl<T: GetSpan> GetSpan for P<T> {
fn get_span(&self) -> Span {
<T as GetSpan>::get_span(self)
}
}
include!(concat!(env!("OUT_DIR"), "/get_span_gen.inc.rs"));