diff --git a/prost-build/src/code_generator.rs b/prost-build/src/code_generator.rs index 65ee53d71..f5c4a4dcc 100644 --- a/prost-build/src/code_generator.rs +++ b/prost-build/src/code_generator.rs @@ -619,9 +619,9 @@ impl<'a> CodeGenerator<'a> { self.buf .push_str("#[allow(clippy::derive_partial_eq_without_eq)]\n"); - let can_oneof_derive_copy = fields.iter().map(|(field, _idx)| field).all(|field| { + let can_oneof_derive_copy = oneof.fields.iter().all(|field| { self.message_graph - .can_field_derive_copy(fq_message_name, field) + .can_field_derive_copy(fq_message_name, &field.descriptor) }); self.buf.push_str(&format!( "#[derive(Clone, {}PartialEq, {}::Oneof)]\n", diff --git a/tests/src/derive_copy.rs b/tests/src/derive_copy.rs index 33b4fc84f..5c5fbb632 100644 --- a/tests/src/derive_copy.rs +++ b/tests/src/derive_copy.rs @@ -1,5 +1,6 @@ include!(concat!(env!("OUT_DIR"), "/derive_copy.rs")); +#[allow(dead_code)] trait TestCopyIsImplemented: Copy {} impl TestCopyIsImplemented for EmptyMsg {}