aboutsummaryrefslogtreecommitdiff
path: root/vendor/proc-macro2/tests/marker.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-07-19 15:37:58 +0300
committerValentin Popov <valentin@popov.link>2024-07-19 15:37:58 +0300
commita990de90fe41456a23e58bd087d2f107d321f3a1 (patch)
tree15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/proc-macro2/tests/marker.rs
parent3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff)
downloadfparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz
fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip
Deleted vendor folder
Diffstat (limited to 'vendor/proc-macro2/tests/marker.rs')
-rw-r--r--vendor/proc-macro2/tests/marker.rs99
1 files changed, 0 insertions, 99 deletions
diff --git a/vendor/proc-macro2/tests/marker.rs b/vendor/proc-macro2/tests/marker.rs
deleted file mode 100644
index d08fbfc..0000000
--- a/vendor/proc-macro2/tests/marker.rs
+++ /dev/null
@@ -1,99 +0,0 @@
-#![allow(clippy::extra_unused_type_parameters)]
-
-use proc_macro2::{
- Delimiter, Group, Ident, LexError, Literal, Punct, Spacing, Span, TokenStream, TokenTree,
-};
-
-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 proc_macro2::{LineColumn, SourceFile};
-
- assert_impl!(LineColumn is Send and Sync);
-
- assert_impl!(SourceFile is not Send or Sync);
-}
-
-mod unwind_safe {
- use proc_macro2::{
- Delimiter, Group, Ident, LexError, Literal, Punct, Spacing, Span, TokenStream, TokenTree,
- };
- #[cfg(procmacro2_semver_exempt)]
- use proc_macro2::{LineColumn, SourceFile};
- use std::panic::{RefUnwindSafe, UnwindSafe};
-
- macro_rules! assert_unwind_safe {
- ($($types:ident)*) => {
- $(
- assert_impl!($types is UnwindSafe and RefUnwindSafe);
- )*
- };
- }
-
- assert_unwind_safe! {
- Delimiter
- Group
- Ident
- LexError
- Literal
- Punct
- Spacing
- Span
- TokenStream
- TokenTree
- }
-
- #[cfg(procmacro2_semver_exempt)]
- assert_unwind_safe! {
- LineColumn
- SourceFile
- }
-}