aboutsummaryrefslogtreecommitdiff
path: root/proc-macro2/tests/marker.rs
diff options
context:
space:
mode:
Diffstat (limited to 'proc-macro2/tests/marker.rs')
-rw-r--r--proc-macro2/tests/marker.rs59
1 files changed, 0 insertions, 59 deletions
diff --git a/proc-macro2/tests/marker.rs b/proc-macro2/tests/marker.rs
deleted file mode 100644
index 7af2539..0000000
--- a/proc-macro2/tests/marker.rs
+++ /dev/null
@@ -1,59 +0,0 @@
-use proc_macro2::*;
-
-macro_rules! assert_impl {
- ($ty:ident is $($marker:ident) and +) => {
- #[test]
- #[allow(non_snake_case)]
- fn $ty() {
- fn assert_implemented<T: $($marker +)+>() {}
- assert_implemented::<$ty>();
- }
- };
-
- ($ty:ident is not $($marker:ident) or +) => {
- #[test]
- #[allow(non_snake_case)]
- fn $ty() {
- $(
- {
- // Implemented for types that implement $marker.
- trait IsNotImplemented {
- fn assert_not_implemented() {}
- }
- impl<T: $marker> IsNotImplemented for T {}
-
- // Implemented for the type being tested.
- trait IsImplemented {
- fn assert_not_implemented() {}
- }
- impl IsImplemented for $ty {}
-
- // If $ty does not implement $marker, there is no ambiguity
- // in the following trait method call.
- <$ty>::assert_not_implemented();
- }
- )+
- }
- };
-}
-
-assert_impl!(Delimiter is Send and Sync);
-assert_impl!(Spacing is Send and Sync);
-
-assert_impl!(Group is not Send or Sync);
-assert_impl!(Ident is not Send or Sync);
-assert_impl!(LexError is not Send or Sync);
-assert_impl!(Literal is not Send or Sync);
-assert_impl!(Punct is not Send or Sync);
-assert_impl!(Span is not Send or Sync);
-assert_impl!(TokenStream is not Send or Sync);
-assert_impl!(TokenTree is not Send or Sync);
-
-#[cfg(procmacro2_semver_exempt)]
-mod semver_exempt {
- use super::*;
-
- assert_impl!(LineColumn is Send and Sync);
-
- assert_impl!(SourceFile is not Send or Sync);
-}