Skip to content

Missing "final" decorator in typing #2658

Closed

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions