// SPDX-License-Identifier: Apache-2.0 OR MIT

// The subset of Span's API stabilized in Rust 1.88.

extern crate proc_macro;

use proc_macro::Span;

pub fn start(this: &Span) -> Span {
    this.start()
}

pub fn end(this: &Span) -> Span {
    this.end()
}

pub fn line(this: &Span) -> usize {
    this.line()
}

pub fn column(this: &Span) -> usize {
    this.column()
}
