#8052·RustPython

`type(...).__name__` 为 `'EllipsisType'`,而不是 `'ellipsis'`

作者: myers创建于 2026年6月5日更新于 2026年8月11日
标签C-compat

□ 特性

在CPython中, " . " 单体类型被命名为 " ellipsis " (小写); " 类型 " 。 椭圆形Type只是它的别名. RustPython将“Ellipsis Type”命名为“Ellipsis Type”类型,因此,其“ ”和“repr”与“CPython”不同。

由运行CPython自己的stdlib测试套件在RustPython-'test json.test default::test bad default'(其错误文本嵌入了'type(o.). name %)下而出. 最小的独立复制:

  • 复制
打印( 类型 (. ). -- name -- )
打印(repr (type (.)))

页:1

椭圆
< class' “ 椭圆sis”

** RustPython:**

椭圆Type
< class' “ Ellipsis Type ”

(类型'. Ellipsis Type是类型(.)',两者都是True'——只有名称不同。) 一个用户可见的后果:json'编码器的PEP 678注释当将{type(o.). name X对象'序列化时'改为Ellipsis Type'而不是ellipsis'。 )

□ZZ. CPython源代码的文档或参考文献

  • [类型.Ellipsis Type'](https://docs.Python.org/3/library/types.html#types.EllipsisType])——作为椭圆花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花花
  • CPython's [PyEllipsis-Type'](https://GitHub.com/Python/cpython/blob/v3.1.43/Objects/sliceobject.c)有tp name="椭圆形".
  • RustPython's 'PyEllipsis'被宣布为"[pyclass(module)=假,取名"EllipsisType";"取名'是"tp name".

建议改正

将pyclass的"name"更名为"ellipsis". ‘types.Ellipsis Type'仍然解决了(它被定义为别名),现在报告" "( )"ellipsis",所以上面的"test bad default"失败就过去了.

-- -- . . .

  • 根据RustPython的人工智能政策,在人工智能协助下调查并起草(Claude 代码),在提交前由人审查

内容来源: RustPython/RustPython