aboutsummaryrefslogtreecommitdiff
path: root/vendor/syn/src/drops.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/syn/src/drops.rs
parent3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff)
downloadfparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz
fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip
Deleted vendor folder
Diffstat (limited to 'vendor/syn/src/drops.rs')
-rw-r--r--vendor/syn/src/drops.rs58
1 files changed, 0 insertions, 58 deletions
diff --git a/vendor/syn/src/drops.rs b/vendor/syn/src/drops.rs
deleted file mode 100644
index 89b42d8..0000000
--- a/vendor/syn/src/drops.rs
+++ /dev/null
@@ -1,58 +0,0 @@
-use std::iter;
-use std::mem::ManuallyDrop;
-use std::ops::{Deref, DerefMut};
-use std::option;
-use std::slice;
-
-#[repr(transparent)]
-pub(crate) struct NoDrop<T: ?Sized>(ManuallyDrop<T>);
-
-impl<T> NoDrop<T> {
- pub(crate) fn new(value: T) -> Self
- where
- T: TrivialDrop,
- {
- NoDrop(ManuallyDrop::new(value))
- }
-}
-
-impl<T: ?Sized> Deref for NoDrop<T> {
- type Target = T;
- fn deref(&self) -> &Self::Target {
- &self.0
- }
-}
-
-impl<T: ?Sized> DerefMut for NoDrop<T> {
- fn deref_mut(&mut self) -> &mut Self::Target {
- &mut self.0
- }
-}
-
-pub(crate) trait TrivialDrop {}
-
-impl<T> TrivialDrop for iter::Empty<T> {}
-impl<'a, T> TrivialDrop for slice::Iter<'a, T> {}
-impl<'a, T> TrivialDrop for slice::IterMut<'a, T> {}
-impl<'a, T> TrivialDrop for option::IntoIter<&'a T> {}
-impl<'a, T> TrivialDrop for option::IntoIter<&'a mut T> {}
-
-#[test]
-fn test_needs_drop() {
- use std::mem::needs_drop;
-
- struct NeedsDrop;
-
- impl Drop for NeedsDrop {
- fn drop(&mut self) {}
- }
-
- assert!(needs_drop::<NeedsDrop>());
-
- // Test each of the types with a handwritten TrivialDrop impl above.
- assert!(!needs_drop::<iter::Empty<NeedsDrop>>());
- assert!(!needs_drop::<slice::Iter<NeedsDrop>>());
- assert!(!needs_drop::<slice::IterMut<NeedsDrop>>());
- assert!(!needs_drop::<option::IntoIter<&NeedsDrop>>());
- assert!(!needs_drop::<option::IntoIter<&mut NeedsDrop>>());
-}