summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
authorVarphone Wong <varphone@qq.com>2020-08-02 09:48:40 +0800
committerEmilio Cobos Álvarez <emilio@crisal.io>2020-08-03 18:29:07 +0200
commitff3698189cb44f900e81d2b92131b1c191acf4de (patch)
tree89b8c03fe5f29b8afebf77ead0962f1f8b217d06 /src/codegen/mod.rs
parentf56fbcef788098155a10ef455284e218fe15bc7a (diff)
Add --no-debug <regex> flag
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 20bf54c4..00aa68f3 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -112,7 +112,7 @@ bitflags! {
fn derives_of_item(item: &Item, ctx: &BindgenContext) -> DerivableTraits {
let mut derivable_traits = DerivableTraits::empty();
- if item.can_derive_debug(ctx) {
+ if item.can_derive_debug(ctx) && !item.annotations().disallow_debug() {
derivable_traits |= DerivableTraits::DEBUG;
}
@@ -1885,8 +1885,10 @@ impl CodeGenerator for CompInfo {
let derivable_traits = derives_of_item(item, ctx);
if !derivable_traits.contains(DerivableTraits::DEBUG) {
- needs_debug_impl =
- ctx.options().derive_debug && ctx.options().impl_debug
+ needs_debug_impl = ctx.options().derive_debug &&
+ ctx.options().impl_debug &&
+ !ctx.no_debug_by_name(item) &&
+ !item.annotations().disallow_debug();
}
if !derivable_traits.contains(DerivableTraits::DEFAULT) {