summaryrefslogtreecommitdiffstats
path: root/third_party/rust/proc-macro2/build
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/proc-macro2/build')
-rw-r--r--third_party/rust/proc-macro2/build/probe.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/third_party/rust/proc-macro2/build/probe.rs b/third_party/rust/proc-macro2/build/probe.rs
new file mode 100644
index 0000000000..5afa13a125
--- /dev/null
+++ b/third_party/rust/proc-macro2/build/probe.rs
@@ -0,0 +1,21 @@
+// 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.
+
+#![feature(proc_macro_span)]
+
+extern crate proc_macro;
+
+use core::ops::RangeBounds;
+use proc_macro::{Literal, Span};
+
+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.
+const _: Option<&str> = option_env!("RUSTC_BOOTSTRAP");