diff options
Diffstat (limited to 'test/ext/mypy/plugin_files/mixin_three.py')
-rw-r--r-- | test/ext/mypy/plugin_files/mixin_three.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/ext/mypy/plugin_files/mixin_three.py b/test/ext/mypy/plugin_files/mixin_three.py new file mode 100644 index 000000000..cb8e30df8 --- /dev/null +++ b/test/ext/mypy/plugin_files/mixin_three.py @@ -0,0 +1,33 @@ +from typing import Callable + +from sqlalchemy import Column +from sqlalchemy import Integer +from sqlalchemy import String +from sqlalchemy.orm import deferred +from sqlalchemy.orm import Mapped +from sqlalchemy.orm.decl_api import declarative_mixin +from sqlalchemy.orm.decl_api import declared_attr +from sqlalchemy.orm.interfaces import MapperProperty + + +def some_other_decorator(fn: Callable[..., None]) -> Callable[..., None]: + return fn + + +@declarative_mixin +class HasAMixin: + x: Mapped[int] = Column(Integer) + + y = Column(String) + + @declared_attr + def data(cls) -> Column[String]: + return Column(String) + + @declared_attr + def data2(cls) -> MapperProperty[str]: + return deferred(Column(String)) + + @some_other_decorator + def q(cls) -> None: + return None |