@@ -15,7 +15,10 @@ pub mod generated;
1515#[ allow( clippy:: enum_variant_names, clippy:: useless_conversion, unused_imports) ]
1616mod python;
1717
18- use pyo3:: { PyClass , create_exception, exceptions:: PyValueError , prelude:: * , types:: * } ;
18+ use pyo3:: {
19+ PyClass , create_exception, exceptions:: PyValueError , prelude:: * ,
20+ pyclass:: boolean_struct:: False , types:: * ,
21+ } ;
1922use python:: * ;
2023use std:: { panic:: Location , path:: MAIN_SEPARATOR } ;
2124
@@ -144,9 +147,7 @@ pub trait UnpackFrom<T> {
144147pub fn update_list < T , U > ( py : Python , items : Borrowed < PyList > , flat_t : Vec < T > )
145148where
146149 T : IntoGil < U > ,
147- U : pyo3:: PyClass < Frozen = pyo3:: pyclass:: boolean_struct:: False >
148- + Into < PyClassInitializer < U > >
149- + UnpackFrom < T > ,
150+ U : pyo3:: PyClass < Frozen = False > + Into < PyClassInitializer < U > > + UnpackFrom < T > ,
150151{
151152 let scripts_len = flat_t. len ( ) ;
152153 let mut script_iter = flat_t. into_iter ( ) ;
@@ -159,8 +160,9 @@ where
159160 . borrow_mut ( )
160161 . unpack_from ( py, item) ,
161162 None => {
162- for i in scripts_len..items. len ( ) {
163- items. del_item ( i) . unwrap ( ) ;
163+ let items_len = items. len ( ) ;
164+ for i in 0 ..items_len - scripts_len {
165+ items. del_item ( items_len - i - 1 ) . unwrap ( ) ;
164166 }
165167 return ;
166168 }
0 commit comments