diff --git a/sqlalchemy-stubs/orm/mapper.pyi b/sqlalchemy-stubs/orm/mapper.pyi index 792fe59..6f8dc48 100644 --- a/sqlalchemy-stubs/orm/mapper.pyi +++ b/sqlalchemy-stubs/orm/mapper.pyi @@ -25,6 +25,7 @@ from ..sql import coercions as coercions from ..sql import expression as expression from ..sql import operators as operators from ..sql import roles as roles +from ..sql import traversals as traversals from ..sql import visitors as visitors from ..sql.selectable import LABEL_STYLE_TABLENAME_PLUS_COL as LABEL_STYLE_TABLENAME_PLUS_COL from ..util import HasMemoized as HasMemoized @@ -35,7 +36,7 @@ NO_ATTRIBUTE: Any class Mapper( ORMFromClauseRole, ORMEntityColumnsClauseRole, - sql_base.MemoizedHasCacheKey, + traversals.MemoizedHasCacheKey, InspectionAttr, ): class_: Any = ... diff --git a/sqlalchemy-stubs/orm/util.pyi b/sqlalchemy-stubs/orm/util.pyi index 10c47cd..98c68cf 100644 --- a/sqlalchemy-stubs/orm/util.pyi +++ b/sqlalchemy-stubs/orm/util.pyi @@ -29,6 +29,7 @@ from ..sql import coercions as coercions from ..sql import expression as expression from ..sql import lambdas as lambdas from ..sql import roles as roles +from ..sql import traversals as traversals from ..sql import util as sql_util from ..sql import visitors as visitors from ..sql.annotation import SupportsCloneAnnotations as SupportsCloneAnnotations @@ -88,7 +89,7 @@ class AliasedClass: class AliasedInsp( ORMEntityColumnsClauseRole, ORMFromClauseRole, - sql_base.MemoizedHasCacheKey, + traversals.MemoizedHasCacheKey, InspectionAttr, ): mapper: Any = ... diff --git a/test/files/column_operators_binops.py b/test/files/column_operators_binops.py index 0b89290..107e221 100644 --- a/test/files/column_operators_binops.py +++ b/test/files/column_operators_binops.py @@ -51,11 +51,11 @@ class A: # error: Incompatible types in assignment (expression has type "bool", variable has type "ColumnElement[Boolean]") # noqa # contains1: "ColumnElement[Boolean]" = A.id in A.arr -lshift1: "ColumnElement[Boolean]" = A.id << A.id -lshift2: "ColumnElement[Boolean]" = A.id << 1 +lshift1: "ColumnElement[Integer]" = A.id << A.id +lshift2: "ColumnElement[Integer]" = A.id << 1 -rshift1: "ColumnElement[Boolean]" = A.id >> A.id -rshift2: "ColumnElement[Boolean]" = A.id >> 1 +rshift1: "ColumnElement[Integer]" = A.id >> A.id +rshift2: "ColumnElement[Integer]" = A.id >> 1 concat1: "ColumnElement[String]" = A.string.concat(A.string) concat2: "ColumnElement[String]" = A.string.concat(1)