diff --git a/source/extensions/dynamic_modules/sdk/rust/src/lib.rs b/source/extensions/dynamic_modules/sdk/rust/src/lib.rs index 22955d0fec261..8cc9bb8b25355 100644 --- a/source/extensions/dynamic_modules/sdk/rust/src/lib.rs +++ b/source/extensions/dynamic_modules/sdk/rust/src/lib.rs @@ -378,7 +378,7 @@ macro_rules! envoy_log { macro_rules! set_factory_once { ($static:expr, $fn:expr, $name:literal) => { if let Err(new_val) = $static.set($fn) { - if *$static.get().unwrap() != new_val { + if !::std::ptr::fn_addr_eq(*$static.get().unwrap(), new_val) { $crate::envoy_log_critical!( "Duplicate factory registration for {}. A different module already registered this \ factory. Check dynamic_module_config for conflicting standalone and consolidated \