Content -Test gegen die Literalliste ("Y in [" Foo "," bar "]`) ist kein engerer WerttypPython

Python-Programme
Anonymous
 Content -Test gegen die Literalliste ("Y in [" Foo "," bar "]`) ist kein engerer Werttyp

Post by Anonymous »

Das folgende MWE führt zu einem Fehler.

Code: Select all

from typing import Literal

def expects_literal(x: Literal["foo", "bar"]) -> None:
print(f"{x=}")

def fails_mypy_check(y: str) -> None:
if y in ["foo", "bar"]:
expects_literal(y)
else:
print("format incorrect")
< /code>
Ergebnisse: < /p>
mwe.py:8: error: Argument 1 to "expects_literal" has incompatible type "str"; expected "Literal['foo', 'bar']"  [arg-type]
Aber die Schutzklausel in Zeile 7 stellt sicher, dass y einer der akzeptablen Werte ist. MyPy-Dokumente nennen dies eine "Vollständigkeitsüberprüfung" und implizieren, dass es unterstützt werden sollte.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post