Skip to content

NotImplementedError: Cannot serialize ErasedType instance #9654

Closed
@Kyuuhachi

Description

@Kyuuhachi

Crash Report

I'm making a project that deals quite heavily with continuation-passing style, and I'm getting a crash.

Traceback

Traceback (most recent call last):
  File "~/.local/bin/mypy", line 8, in <module>
    sys.exit(console_entry())
  File "~/.local/lib/python3.8/site-packages/mypy/__main__.py", line 8, in console_entry
    main(None, sys.stdout, sys.stderr)
  File "mypy/main.py", line 90, in main
  File "mypy/build.py", line 180, in build
  File "mypy/build.py", line 254, in _build
  File "mypy/build.py", line 2630, in dispatch
  File "mypy/build.py", line 2953, in process_graph
  File "mypy/build.py", line 3070, in process_stale_scc
  File "mypy/build.py", line 2232, in write_cache
  File "mypy/build.py", line 1445, in write_cache
  File "mypy/nodes.py", line 303, in serialize
  File "mypy/nodes.py", line 3098, in serialize
  File "mypy/nodes.py", line 3037, in serialize
  File "mypy/nodes.py", line 883, in serialize
  File "mypy/types.py", line 814, in serialize
  File "mypy/types.py", line 145, in serialize
    "must be a (non-strict) subclass "
NotImplementedError: Cannot serialize ErasedType instance

To Reproduce

import typing as T

V = T.TypeVar("V")
V2 = T.TypeVar("V2")

def apply(val: V, func: T.Callable[[V], V2]) -> V2:
	return func(val)

xs = []
apply(0, lambda a: xs.append(a))

Your Environment

  • Mypy version used: mypy 0.790
  • Mypy command-line flags: None (just mypy error.py)
  • Mypy configuration options from mypy.ini (and other config files): None
  • Python version used: Python 3.8.6
  • Operating system and version: Linux 5.1.5-arch1-2-ARCH

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions