summaryrefslogtreecommitdiff
path: root/libbindgen/src/ir/derive.rs
diff options
context:
space:
mode:
Diffstat (limited to 'libbindgen/src/ir/derive.rs')
-rw-r--r--libbindgen/src/ir/derive.rs67
1 files changed, 0 insertions, 67 deletions
diff --git a/libbindgen/src/ir/derive.rs b/libbindgen/src/ir/derive.rs
deleted file mode 100644
index d13a8117..00000000
--- a/libbindgen/src/ir/derive.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-//! Traits for determining whether we can derive traits for a thing or not.
-
-use super::context::BindgenContext;
-
-/// A trait that encapsulates the logic for whether or not we can derive `Debug`
-/// for a given thing.
-///
-/// This should ideally be a no-op that just returns `true`, but instead needs
-/// to be a recursive method that checks whether all the proper members can
-/// derive debug or not, because of the limit rust has on 32 items as max in the
-/// array.
-pub trait CanDeriveDebug {
- /// Implementations can define this type to get access to any extra
- /// information required to determine whether they can derive `Debug`. If
- /// extra information is unneeded, then this should simply be the unit type.
- type Extra;
-
- /// Return `true` if `Debug` can be derived for this thing, `false`
- /// otherwise.
- fn can_derive_debug(&self,
- ctx: &BindgenContext,
- extra: Self::Extra)
- -> bool;
-}
-
-/// A trait that encapsulates the logic for whether or not we can derive `Copy`
-/// for a given thing.
-pub trait CanDeriveCopy<'a> {
- /// Implementations can define this type to get access to any extra
- /// information required to determine whether they can derive `Copy`. If
- /// extra information is unneeded, then this should simply be the unit type.
- type Extra;
-
- /// Return `true` if `Copy` can be derived for this thing, `false`
- /// otherwise.
- fn can_derive_copy(&'a self,
- ctx: &'a BindgenContext,
- extra: Self::Extra)
- -> bool;
-
- /// For some reason, deriving copies of an array of a type that is not known
- /// to be `Copy` is a compile error. e.g.:
- ///
- /// ```rust
- /// #[derive(Copy, Clone)]
- /// struct A<T> {
- /// member: T,
- /// }
- /// ```
- ///
- /// is fine, while:
- ///
- /// ```rust,ignore
- /// #[derive(Copy, Clone)]
- /// struct A<T> {
- /// member: [T; 1],
- /// }
- /// ```
- ///
- /// is an error.
- ///
- /// That's the whole point of the existence of `can_derive_copy_in_array`.
- fn can_derive_copy_in_array(&'a self,
- ctx: &'a BindgenContext,
- extra: Self::Extra)
- -> bool;
-}