@@ -25,7 +25,7 @@ use crate::{
25
25
AsObject , Context , Py , PyObject , PyObjectRef , PyPayload , PyRef , PyResult , TryFromObject ,
26
26
} ;
27
27
use rustpython_common:: lock:: PyMutex ;
28
- use std:: { borrow :: Cow , fmt} ;
28
+ use std:: fmt;
29
29
30
30
pub type DictContentType = dictdatatype:: Dict ;
31
31
@@ -478,13 +478,7 @@ impl AsMapping for PyDict {
478
478
}
479
479
480
480
impl AsSequence for PyDict {
481
- fn as_sequence ( _zelf : & Py < Self > , _vm : & VirtualMachine ) -> Cow < ' static , PySequenceMethods > {
482
- Cow :: Borrowed ( & Self :: SEQUENCE_METHODS )
483
- }
484
- }
485
-
486
- impl PyDict {
487
- const SEQUENCE_METHODS : PySequenceMethods = PySequenceMethods {
481
+ const AS_SEQUENCE : PySequenceMethods = PySequenceMethods {
488
482
contains : Some ( |seq, target, vm| Self :: sequence_downcast ( seq) . entries . contains ( vm, target) ) ,
489
483
..* PySequenceMethods :: not_implemented ( )
490
484
} ;
@@ -1054,12 +1048,7 @@ impl Comparable for PyDictKeys {
1054
1048
}
1055
1049
1056
1050
impl AsSequence for PyDictKeys {
1057
- fn as_sequence ( _zelf : & Py < Self > , _vm : & VirtualMachine ) -> Cow < ' static , PySequenceMethods > {
1058
- Cow :: Borrowed ( & Self :: SEQUENCE_METHODS )
1059
- }
1060
- }
1061
- impl PyDictKeys {
1062
- const SEQUENCE_METHODS : PySequenceMethods = PySequenceMethods {
1051
+ const AS_SEQUENCE : PySequenceMethods = PySequenceMethods {
1063
1052
length : Some ( |seq, _vm| Ok ( Self :: sequence_downcast ( seq) . len ( ) ) ) ,
1064
1053
contains : Some ( |seq, target, vm| {
1065
1054
Self :: sequence_downcast ( seq)
@@ -1108,12 +1097,7 @@ impl Comparable for PyDictItems {
1108
1097
}
1109
1098
1110
1099
impl AsSequence for PyDictItems {
1111
- fn as_sequence ( _zelf : & Py < Self > , _vm : & VirtualMachine ) -> Cow < ' static , PySequenceMethods > {
1112
- Cow :: Borrowed ( & Self :: SEQUENCE_METHODS )
1113
- }
1114
- }
1115
- impl PyDictItems {
1116
- const SEQUENCE_METHODS : PySequenceMethods = PySequenceMethods {
1100
+ const AS_SEQUENCE : PySequenceMethods = PySequenceMethods {
1117
1101
length : Some ( |seq, _vm| Ok ( Self :: sequence_downcast ( seq) . len ( ) ) ) ,
1118
1102
contains : Some ( |seq, target, vm| {
1119
1103
Self :: sequence_downcast ( seq)
@@ -1130,12 +1114,7 @@ impl PyDictValues {}
1130
1114
impl Unconstructible for PyDictValues { }
1131
1115
1132
1116
impl AsSequence for PyDictValues {
1133
- fn as_sequence ( _zelf : & Py < Self > , _vm : & VirtualMachine ) -> Cow < ' static , PySequenceMethods > {
1134
- Cow :: Borrowed ( & Self :: SEQUENCE_METHODS )
1135
- }
1136
- }
1137
- impl PyDictValues {
1138
- const SEQUENCE_METHODS : PySequenceMethods = PySequenceMethods {
1117
+ const AS_SEQUENCE : PySequenceMethods = PySequenceMethods {
1139
1118
length : Some ( |seq, _vm| Ok ( Self :: sequence_downcast ( seq) . len ( ) ) ) ,
1140
1119
..* PySequenceMethods :: not_implemented ( )
1141
1120
} ;
0 commit comments