Skip to content

Commit 1229efb

Browse files
authored
Prepend bases on first subscription (#386)
* Prepend bases with _gorg on subscription * Simplify code
1 parent d149ce7 commit 1229efb

File tree

4 files changed

+8
-2
lines changed

4 files changed

+8
-2
lines changed

python2/test_typing.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,7 @@ def test_basics(self):
521521
Y[unicode]
522522
with self.assertRaises(TypeError):
523523
Y[unicode, unicode]
524+
self.assertIsSubclass(SimpleMapping[str, int], SimpleMapping)
524525

525526
def test_generic_errors(self):
526527
T = TypeVar('T')

python2/typing.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1169,8 +1169,10 @@ def __getitem__(self, params):
11691169
_check_generic(self, params)
11701170
tvars = _type_vars(params)
11711171
args = params
1172+
1173+
prepend = (self,) if self.__origin__ is None else ()
11721174
return self.__class__(self.__name__,
1173-
self.__bases__,
1175+
prepend + self.__bases__,
11741176
dict(self.__dict__),
11751177
tvars=tvars,
11761178
args=args,

src/test_typing.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,7 @@ def test_basics(self):
552552
Y[str]
553553
with self.assertRaises(TypeError):
554554
Y[str, str]
555+
self.assertIsSubclass(SimpleMapping[str, int], SimpleMapping)
555556

556557
def test_generic_errors(self):
557558
T = TypeVar('T')

src/typing.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1096,8 +1096,10 @@ def __getitem__(self, params):
10961096
_check_generic(self, params)
10971097
tvars = _type_vars(params)
10981098
args = params
1099+
1100+
prepend = (self,) if self.__origin__ is None else ()
10991101
return self.__class__(self.__name__,
1100-
self.__bases__,
1102+
prepend + self.__bases__,
11011103
_no_slots_copy(self.__dict__),
11021104
tvars=tvars,
11031105
args=args,

0 commit comments

Comments
 (0)