@@ -85,7 +85,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
8585 self . deserialize_tuple ( obj. len ( ) ?, visitor)
8686 } else if obj. is_instance_of :: < PyUnicode > ( ) {
8787 self . deserialize_str ( visitor)
88- } else if let Ok ( _ ) = obj. downcast :: < PySequence > ( ) {
88+ } else if obj. downcast :: < PySequence > ( ) . is_ok ( ) {
8989 self . deserialize_tuple ( obj. len ( ) ?, visitor)
9090 } else if obj. downcast :: < PyMapping > ( ) . is_ok ( ) {
9191 self . deserialize_map ( visitor)
@@ -258,7 +258,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
258258 . get_item ( 0 ) ?
259259 . downcast ( )
260260 . map_err ( |_| PythonizeError :: dict_key_not_string ( ) ) ?;
261- let value = d. get_item ( variant) . unwrap ( ) ;
261+ let value = d. get_item ( variant) ? . unwrap ( ) ;
262262 let mut de = Depythonizer :: from_object ( value) ;
263263 visitor. visit_enum ( PyEnumAccess :: new ( & mut de, variant) )
264264 } else if item. is_instance_of :: < PyString > ( ) {
@@ -437,7 +437,7 @@ mod test {
437437 let locals = PyDict :: new ( py) ;
438438 py. run ( & format ! ( "obj = {}" , code) , None , Some ( locals) )
439439 . unwrap ( ) ;
440- let obj = locals. get_item ( "obj" ) . unwrap ( ) ;
440+ let obj = locals. get_item ( "obj" ) . unwrap ( ) . unwrap ( ) ;
441441 let actual: T = depythonize ( obj) . unwrap ( ) ;
442442 assert_eq ! ( & actual, expected) ;
443443 let actual_json: JsonValue = depythonize ( obj) . unwrap ( ) ;
@@ -493,7 +493,7 @@ mod test {
493493 let locals = PyDict :: new ( py) ;
494494 py. run ( & format ! ( "obj = {}" , code) , None , Some ( locals) )
495495 . unwrap ( ) ;
496- let obj = locals. get_item ( "obj" ) . unwrap ( ) ;
496+ let obj = locals. get_item ( "obj" ) . unwrap ( ) . unwrap ( ) ;
497497 assert ! ( matches!(
498498 * depythonize:: <Struct >( obj) . unwrap_err( ) . inner,
499499 ErrorImpl :: Message ( msg) if msg == "missing field `bar`"
@@ -523,7 +523,7 @@ mod test {
523523 let locals = PyDict :: new ( py) ;
524524 py. run ( & format ! ( "obj = {}" , code) , None , Some ( locals) )
525525 . unwrap ( ) ;
526- let obj = locals. get_item ( "obj" ) . unwrap ( ) ;
526+ let obj = locals. get_item ( "obj" ) . unwrap ( ) . unwrap ( ) ;
527527 assert ! ( matches!(
528528 * depythonize:: <TupleStruct >( obj) . unwrap_err( ) . inner,
529529 ErrorImpl :: IncorrectSequenceLength { expected, got } if expected == 2 && got == 3
0 commit comments