Skip to content

Commit 54f1d58

Browse files
committed
Fix Debug not being derived for Rust enumerations anymore by default
Fixes rust-lang#2076
1 parent d79922d commit 54f1d58

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/codegen/mod.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3000,7 +3000,7 @@ impl CodeGenerator for Enum {
30003000

30013001
if !variation.is_const() {
30023002
let mut derives = derives_of_item(item, ctx);
3003-
// For backwards compat, enums always derive Clone/Eq/PartialEq/Hash, even
3003+
// For backwards compat, enums always derive Debug/Clone/Eq/PartialEq/Hash, even
30043004
// if we don't generate those by default.
30053005
derives.insert(
30063006
DerivableTraits::CLONE |
@@ -3009,6 +3009,9 @@ impl CodeGenerator for Enum {
30093009
DerivableTraits::PARTIAL_EQ |
30103010
DerivableTraits::EQ,
30113011
);
3012+
if variation.is_rust() {
3013+
derives.insert(DerivableTraits::DEBUG);
3014+
}
30123015
let derives: Vec<_> = derives.into();
30133016
attrs.push(attributes::derives(&derives));
30143017
}

tests/expectations/tests/enum-default-rust.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ pub mod Neg {
6363
}
6464
#[repr(u32)]
6565
/// <div rustbindgen nodebug></div>
66-
#[derive(Copy, Clone, Hash, PartialEq, Eq)]
66+
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6767
pub enum NoDebug {
6868
NoDebug1 = 0,
6969
NoDebug2 = 1,

0 commit comments

Comments
 (0)