From bb3e60c94c682f1778b546d3682b738545f950da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lena=20Hellstr=C3=B6m?= Date: Mon, 10 Mar 2025 18:48:46 +0100 Subject: [PATCH] Fix issue when a foreign `Err` pollutes scope (#758) --- derive/src/derive_enum.rs | 2 +- tests/derive.rs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/derive/src/derive_enum.rs b/derive/src/derive_enum.rs index c93ac8e..2ba17c5 100644 --- a/derive/src/derive_enum.rs +++ b/derive/src/derive_enum.rs @@ -162,7 +162,7 @@ impl DeriveEnum { // if we have fixed value variants result.ident_str("variant"); result.puncts("=>"); - result.ident_str("Err"); + result.push_parsed("core::result::Result::Err")?; result.group(Delimiter::Parenthesis, |err_inner| { err_inner.push_parsed(format!( "{}::error::DecodeError::UnexpectedVariant", diff --git a/tests/derive.rs b/tests/derive.rs index 693aec5..c059c96 100644 --- a/tests/derive.rs +++ b/tests/derive.rs @@ -408,6 +408,10 @@ mod derive_with_polluted_scope { #[allow(non_snake_case)] fn Ok() {} + #[allow(dead_code)] + #[allow(non_snake_case)] + fn Err() {} + #[derive(bincode::Encode, bincode::Decode)] struct A { a: u32,