`__class_getitem__` to support generics was introduced in Python 3.7.
In 3.9 some built-ins were made generic but the functionality
for user-defined classes has been there since 3.7.
return exclusions.open()
@property
- def builtin_generics(self):
- "If list[int] is a valid syntax. basically py3.9+"
- return exclusions.only_if(lambda: util.py39)
+ def generic_classes(self):
+ "If X[Y] can be implemented with ``__class_getitem__``. py3.7+"
+ return exclusions.only_if(lambda: util.py37)
class TestGenerics(fixtures.TestBase):
- @requires.builtin_generics
+ @requires.generic_classes
def test_traversible_is_generic(self):
col = Column[int]
assert col is Column