You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the following code PyCharm finds 1 warning and 1 error:
importjsonschemav: jsonschema.protocols.Validator=jsonschema.Draft202012Validator({})
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^# Expected type 'Validator', got 'Draft202012Validator' insteadprint(isinstance(jsonschema.Draft202012Validator({}), jsonschema.protocols.Validator))
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^# Only @runtime_checkable protocols can be used with instance and class checks
mypy finds them too:
test004.py:3: error: Incompatible types in assignment (expression has type "Draft202012Validator", variable has type "Validator") [assignment]
test004.py:3: note: Following member(s) of "Draft202012Validator" have conflicts:
test004.py:3: note: Expected:
test004.py:3: note: def evolve(self, **kwargs: Any) -> Validator
test004.py:3: note: Got:
test004.py:3: note: def evolve(self, **changes: Any) -> _Validator
test004.py:3: note: schema: expected "dict[Any, Any] | bool", got "bool | Mapping[str, Any]"
test004.py:6: error: Only @runtime_checkable protocols can be used with instance and class checks [misc]
Found 2 errors in 1 file (checked 1 source file)
But the code works and prints "True".
Why doesn't Validator protocol work as expected? Is this jsonschema library issue? Or am I doing something wrong here (and if yes, how to do it correctly)?
The text was updated successfully, but these errors were encountered:
In the following code PyCharm finds 1 warning and 1 error:
mypy finds them too:
But the code works and prints "True".
Why doesn't
Validator
protocol work as expected? Is this jsonschema library issue? Or am I doing something wrong here (and if yes, how to do it correctly)?The text was updated successfully, but these errors were encountered: