File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -572,6 +572,10 @@ fn verify_and_get_lifetime(generics: &syn::Generics) -> Result<Option<&syn::Life
572
572
/// * Derivation for structs with generic fields like `struct<T> Foo(T)`
573
573
/// adds `T: FromPyObject` on the derived implementation.
574
574
pub fn build_derive_from_pyobject ( tokens : & DeriveInput ) -> Result < TokenStream > {
575
+ let options = ContainerOptions :: from_attrs ( & tokens. attrs ) ?;
576
+ let ctx = & Ctx :: new ( & options. krate , None ) ;
577
+ let Ctx { pyo3_path, .. } = & ctx;
578
+
575
579
let mut trait_generics = tokens. generics . clone ( ) ;
576
580
let generics = & tokens. generics ;
577
581
let lt_param = if let Some ( lt) = verify_and_get_lifetime ( generics) ? {
@@ -585,11 +589,8 @@ pub fn build_derive_from_pyobject(tokens: &DeriveInput) -> Result<TokenStream> {
585
589
let gen_ident = & param. ident ;
586
590
where_clause
587
591
. predicates
588
- . push ( parse_quote ! ( #gen_ident: for < ' _a> FromPyObject < ' _a , #lt_param>) )
592
+ . push ( parse_quote ! ( #gen_ident: #pyo3_path :: conversion :: FromPyObjectOwned < #lt_param>) )
589
593
}
590
- let options = ContainerOptions :: from_attrs ( & tokens. attrs ) ?;
591
- let ctx = & Ctx :: new ( & options. krate , None ) ;
592
- let Ctx { pyo3_path, .. } = & ctx;
593
594
594
595
let derives = match & tokens. data {
595
596
syn:: Data :: Enum ( en) => {
You can’t perform that action at this time.
0 commit comments