Skip to content

Missing "final" decorator in typing #2658

@oroppas

Description

@oroppas

Feature

pytest's type checking depends on final from typing

https://github.com/pytest-dev/pytest/blob/main/src/_pytest/compat.py#L348

rustpython -m pytest piconumpy -s
    Finished release [optimized] target(s) in 0.16s
     Running `/home/ryuta/packages/rustpython/rustpython/target/release/rustpython -m pytest piconumpy -s`
Traceback (most recent call last):
  File "/home/ryuta/packages/rustpython/rustpython/vm/pylib-crate/Lib/runpy.py", line 188, in _run_module_as_main
    sys.exit(msg)
  File "/home/ryuta/packages/rustpython/rustpython/vm/pylib-crate/Lib/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/home/ryuta/packages/rustpython/rustpython/vm/pylib-crate/Lib/runpy.py", line 147, in _get_module_details
    "be directly executed") %(e, mod_name))
  File "/home/ryuta/packages/rustpython/rustpython/vm/pylib-crate/Lib/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/home/ryuta/packages/rustpython/rustpython/vm/pylib-crate/Lib/runpy.py", line 116, in _get_module_details
    raise
  File "/home/ryuta/packages/rustpython/rustpython/vm/pylib-crate/Lib/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "_frozen_importlib", line 1094, in __import__
  File "_frozen_importlib", line 1015, in _gcd_import
  File "_frozen_importlib", line 992, in _find_and_load
  File "_frozen_importlib", line 992, in _find_and_load
  File "_frozen_importlib", line 976, in _find_and_load_unlocked
  File "_frozen_importlib", line 687, in _load_unlocked
  File "_frozen_importlib", line 685, in _load_unlocked
  File "_frozen_importlib", line 678, in _load_unlocked
  File "_frozen_importlib", line 672, in _load_unlocked
  File "_frozen_importlib_external", line 783, in exec_module
  File "_frozen_importlib", line 219, in _call_with_frames_removed
  File "/home/ryuta/.local/lib/rustpython3.9/site-packages/pytest/__init__.py", line 3, in <module>
    from . import collect
  File "/home/ryuta/.local/lib/rustpython3.9/site-packages/pytest/collect.py", line 8, in <module>
    from _pytest.deprecated import PYTEST_COLLECT_MODULE
  File "/home/ryuta/.local/lib/rustpython3.9/site-packages/_pytest/deprecated.py", line 13, in <module>
    from _pytest.warning_types import PytestDeprecationWarning
  File "/home/ryuta/.local/lib/rustpython3.9/site-packages/_pytest/warning_types.py", line 8, in <module>
    from _pytest.compat import final
  File "/home/ryuta/.local/lib/rustpython3.9/site-packages/_pytest/compat.py", line 331, in <module>
    from typing import final as final
ImportError: cannot import name 'final'

Python Documentation

https://docs.python.org/3/library/typing.html?highlight=typing#typing.final

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions