mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Originally, when the Rust upstream `alloc` standard library crate was
vendored in commit 057b8d2571 ("rust: adapt `alloc` crate to the
kernel"), the SPDX License Identifiers were added to every file so that
the license on those was clear.
Thus do the same for the `proc-macro2` crate.
This makes `scripts/spdxcheck.py` pass.
Reviewed-by: Gary Guo <gary@garyguo.net>
Tested-by: Gary Guo <gary@garyguo.net>
Tested-by: Jesung Yang <y.j3ms.n@gmail.com>
Link: https://patch.msgid.link/20251124151837.2184382-8-ojeda@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
54 lines
1.1 KiB
Rust
54 lines
1.1 KiB
Rust
// SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
|
|
// This code exercises the surface area that we expect of Span's unstable API.
|
|
// If the current toolchain is able to compile it, then proc-macro2 is able to
|
|
// offer these APIs too.
|
|
|
|
#![cfg_attr(procmacro2_build_probe, feature(proc_macro_span))]
|
|
|
|
extern crate proc_macro;
|
|
|
|
use core::ops::{Range, RangeBounds};
|
|
use proc_macro::{Literal, Span};
|
|
use std::path::PathBuf;
|
|
|
|
pub fn byte_range(this: &Span) -> Range<usize> {
|
|
this.byte_range()
|
|
}
|
|
|
|
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()
|
|
}
|
|
|
|
pub fn file(this: &Span) -> String {
|
|
this.file()
|
|
}
|
|
|
|
pub fn local_file(this: &Span) -> Option<PathBuf> {
|
|
this.local_file()
|
|
}
|
|
|
|
pub fn join(this: &Span, other: Span) -> Option<Span> {
|
|
this.join(other)
|
|
}
|
|
|
|
pub fn subspan<R: RangeBounds<usize>>(this: &Literal, range: R) -> Option<Span> {
|
|
this.subspan(range)
|
|
}
|
|
|
|
// Include in sccache cache key.
|
|
#[cfg(procmacro2_build_probe)]
|
|
const _: Option<&str> = option_env!("RUSTC_BOOTSTRAP");
|