@@ -130,6 +130,7 @@ pub struct PyContext {
130130pub map_type : PyObjectRef ,
131131pub memoryview_type : PyObjectRef ,
132132pub none : PyObjectRef ,
133+ pub ellipsis : PyObjectRef ,
133134pub not_implemented : PyObjectRef ,
134135pub tuple_type : PyObjectRef ,
135136pub set_type : PyObjectRef ,
@@ -223,6 +224,12 @@ impl PyContext {
223224create_type ( "NoneType" , & type_type, & object_type, & dict_type) ,
224225) ;
225226
227+ // TODO: implement proper ellipsis class?
228+ let ellipsis =PyObject :: new (
229+ PyObjectPayload :: None ,
230+ create_type ( "EllipsisType" , & type_type, & object_type, & dict_type) ,
231+ ) ;
232+
226233let not_implemented =PyObject :: new (
227234PyObjectPayload :: NotImplemented ,
228235create_type ( "NotImplementedType" , & type_type, & object_type, & dict_type) ,
@@ -263,6 +270,7 @@ impl PyContext {
263270 zip_type,
264271 dict_type,
265272 none,
273+ ellipsis,
266274 not_implemented,
267275 str_type,
268276 range_type,
@@ -441,6 +449,11 @@ impl PyContext {
441449pub fn none ( & self ) ->PyObjectRef {
442450self . none . clone ( )
443451}
452+
453+ pub fn ellipsis ( & self ) ->PyObjectRef {
454+ self . ellipsis . clone ( )
455+ }
456+
444457pub fn not_implemented ( & self ) ->PyObjectRef {
445458self . not_implemented . clone ( )
446459}
@@ -699,6 +712,7 @@ impl PyContext {
699712self . new_tuple ( elements)
700713}
701714 bytecode:: Constant :: None =>self . none ( ) ,
715+ bytecode:: Constant :: Ellipsis =>self . ellipsis ( ) ,
702716}
703717}
704718}