We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
__instancecheck__
This code does not work:
from classes import typeclass class Meta(type): def __instancecheck__(self, other) -> bool: return other == 1 class Some(object, metaclass=Meta): ... @typeclass def some(instance) -> bool: ... @some.instance(Some) def _some_some(instance: Some) -> bool: return True print(some(1)) # NotImplementedError: Missing matched typeclass instance for type: int
But, it should! For example, phantom-types use this method: https://github.com/antonagestam/phantom-types/blob/main/phantom/base.py#L28-L43
phantom-types
If we want to support them - we would need this feature.
I suggest that we need to add types with __instancecheck__ defined to both ._instances and ._protocols. This way both of these cases would work:
._instances
._protocols
print(some(Some())) print(some(1))
The text was updated successfully, but these errors were encountered:
Closes #248
bcb1790
8842dff
No branches or pull requests
This code does not work:
But, it should! For example,
phantom-types
use this method: https://github.com/antonagestam/phantom-types/blob/main/phantom/base.py#L28-L43If we want to support them - we would need this feature.
Solution
I suggest that we need to add types with
__instancecheck__
defined to both._instances
and._protocols
.This way both of these cases would work:
The text was updated successfully, but these errors were encountered: