@@ -17,8 +17,8 @@ use crate::slots::{Comparable, Hashable, Iterable, PyComparisonOp, PyIter, Unhas
1717use crate :: utils:: Either ;
1818use crate :: vm:: { ReprGuard , VirtualMachine } ;
1919use crate :: {
20- BorrowValue , PyClassImpl , PyComparisonValue , PyContext , PyIterable , PyObjectRef , PyRef ,
21- PyResult , PyValue , TryFromObject , TypeProtocol ,
20+ PyClassImpl , PyComparisonValue , PyContext , PyIterable , PyObjectRef , PyRef , PyResult , PyValue ,
21+ TryFromObject , TypeProtocol ,
2222} ;
2323
2424/// Built-in mutable sequence.
@@ -58,7 +58,7 @@ impl PyValue for PyList {
5858 }
5959}
6060
61- impl < ' a > BorrowValue < ' a > for PyList {
61+ impl < ' a > rustpython_common :: borrow :: BorrowValue < ' a > for PyList {
6262 type Borrowed = PyMappedRwLockReadGuard < ' a , [ PyObjectRef ] > ;
6363
6464 fn borrow_value ( & ' a self ) -> Self :: Borrowed {
@@ -110,8 +110,8 @@ impl PyList {
110110 #[ pymethod( name = "__add__" ) ]
111111 fn add ( & self , other : PyObjectRef , vm : & VirtualMachine ) -> PyResult {
112112 if let Some ( other) = other. payload_if_subclass :: < PyList > ( vm) {
113- let mut elements = self . borrow_value ( ) . to_vec ( ) ;
114- elements. extend ( other. borrow_value ( ) . iter ( ) . cloned ( ) ) ;
113+ let mut elements = self . borrow_list ( ) . to_vec ( ) ;
114+ elements. extend ( other. borrow_list ( ) . iter ( ) . cloned ( ) ) ;
115115 Ok ( vm. ctx . new_list ( elements) )
116116 } else {
117117 Err ( vm. new_type_error ( format ! (
@@ -135,7 +135,7 @@ impl PyList {
135135
136136 #[ pymethod( name = "__bool__" ) ]
137137 fn bool ( & self ) -> bool {
138- !self . borrow_value ( ) . is_empty ( )
138+ !self . borrow_list ( ) . is_empty ( )
139139 }
140140
141141 #[ pymethod]
@@ -145,12 +145,12 @@ impl PyList {
145145
146146 #[ pymethod]
147147 fn copy ( & self , vm : & VirtualMachine ) -> PyObjectRef {
148- vm. ctx . new_list ( self . borrow_value ( ) . to_vec ( ) )
148+ vm. ctx . new_list ( self . borrow_list ( ) . to_vec ( ) )
149149 }
150150
151151 #[ pymethod( name = "__len__" ) ]
152152 fn len ( & self ) -> usize {
153- self . borrow_value ( ) . len ( )
153+ self . borrow_list ( ) . len ( )
154154 }
155155
156156 #[ pymethod( name = "__sizeof__" ) ]
@@ -165,7 +165,7 @@ impl PyList {
165165
166166 #[ pymethod( name = "__reversed__" ) ]
167167 fn reversed ( zelf : PyRef < Self > ) -> PyListReverseIterator {
168- let final_position = zelf. borrow_value ( ) . len ( ) ;
168+ let final_position = zelf. borrow_list ( ) . len ( ) ;
169169 PyListReverseIterator {
170170 position : AtomicCell :: new ( final_position as isize ) ,
171171 list : zelf,
@@ -174,7 +174,7 @@ impl PyList {
174174
175175 #[ pymethod( name = "__getitem__" ) ]
176176 fn getitem ( zelf : PyRef < Self > , needle : PyObjectRef , vm : & VirtualMachine ) -> PyResult {
177- let result = match zelf. borrow_value ( ) . get_item ( vm, needle, "list" ) ? {
177+ let result = match zelf. borrow_list ( ) . get_item ( vm, needle, "list" ) ? {
178178 Either :: A ( obj) => obj,
179179 Either :: B ( vec) => vm. ctx . new_list ( vec) ,
180180 } ;
@@ -310,8 +310,7 @@ impl PyList {
310310 return Ok ( index) ;
311311 }
312312 }
313- let needle_str = vm. to_str ( & needle) ?;
314- Err ( vm. new_value_error ( format ! ( "'{}' is not in list" , needle_str. borrow_value( ) ) ) )
313+ Err ( vm. new_value_error ( format ! ( "'{}' is not in list" , vm. to_str( & needle) ?) ) )
315314 }
316315
317316 #[ pymethod]
@@ -344,8 +343,7 @@ impl PyList {
344343 // defer delete out of borrow
345344 Ok ( self . borrow_list_mut ( ) . remove ( index) )
346345 } else {
347- let needle_str = vm. to_str ( & needle) ?;
348- Err ( vm. new_value_error ( format ! ( "'{}' is not in list" , needle_str. borrow_value( ) ) ) )
346+ Err ( vm. new_value_error ( format ! ( "'{}' is not in list" , vm. to_str( & needle) ?) ) )
349347 }
350348 . map ( drop)
351349 }
0 commit comments