diff --git a/derive-impl/src/pyclass.rs b/derive-impl/src/pyclass.rs index f1aee1531b..2768655d79 100644 --- a/derive-impl/src/pyclass.rs +++ b/derive-impl/src/pyclass.rs @@ -142,6 +142,19 @@ pub(crate) fn impl_pyimpl(attr: AttributeArgs, item: Item) -> Result { let mut context = ImplContext::default(); + let mut has_extend_slots = false; + for item in &trai.items { + let has = match item { + syn::TraitItem::Method(method) => { + &method.sig.ident.to_string() == "extend_slots" + } + _ => false, + }; + if has { + has_extend_slots = has; + break; + } + } extract_items_into_context(&mut context, trai.items.iter_mut()); let ExtractedImplAttrs { @@ -155,6 +168,13 @@ pub(crate) fn impl_pyimpl(attr: AttributeArgs, item: Item) -> Result Result