Skip to content

Commit d6b0c70

Browse files
author
Bas van Beek
committed
MAINT: Explicitly define real and imag for a number of generic subclasses
1 parent 3434da8 commit d6b0c70

1 file changed

Lines changed: 20 additions & 10 deletions

File tree

numpy/__init__.pyi

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -388,19 +388,25 @@ class generic(_ArrayOrScalarCommon):
388388
@property
389389
def base(self) -> None: ...
390390

391-
class _real_generic(generic): # type: ignore
391+
class number(generic): # type: ignore
392392
@property
393393
def real(self: _ArraySelf) -> _ArraySelf: ...
394394
@property
395395
def imag(self: _ArraySelf) -> _ArraySelf: ...
396396

397-
class number(generic): ... # type: ignore
398-
399-
class bool_(_real_generic):
397+
class bool_(generic):
400398
def __init__(self, __value: object = ...) -> None: ...
399+
@property
400+
def real(self: _ArraySelf) -> _ArraySelf: ...
401+
@property
402+
def imag(self: _ArraySelf) -> _ArraySelf: ...
401403

402404
class object_(generic):
403405
def __init__(self, __value: object = ...) -> None: ...
406+
@property
407+
def real(self: _ArraySelf) -> _ArraySelf: ...
408+
@property
409+
def imag(self: _ArraySelf) -> _ArraySelf: ...
404410

405411
class datetime64:
406412
@overload
@@ -414,7 +420,7 @@ class datetime64:
414420
def __add__(self, other: Union[timedelta64, int]) -> datetime64: ...
415421
def __sub__(self, other: Union[timedelta64, datetime64, int]) -> timedelta64: ...
416422

417-
class integer(number, _real_generic): ... # type: ignore
423+
class integer(number): ... # type: ignore
418424
class signedinteger(integer): ... # type: ignore
419425

420426
class int8(signedinteger):
@@ -482,7 +488,7 @@ class uint64(unsignedinteger):
482488
) -> None: ...
483489

484490
class inexact(number): ... # type: ignore
485-
class floating(inexact, _real_generic): ... # type: ignore
491+
class floating(inexact): ... # type: ignore
486492

487493
_FloatType = TypeVar('_FloatType', bound=floating)
488494

@@ -503,9 +509,9 @@ class float64(floating, float):
503509

504510
class complexfloating(inexact, Generic[_FloatType]): # type: ignore
505511
@property
506-
def real(self) -> _FloatType: ...
512+
def real(self) -> _FloatType: ... # type: ignore[override]
507513
@property
508-
def imag(self) -> _FloatType: ...
514+
def imag(self) -> _FloatType: ... # type: ignore[override]
509515
def __abs__(self) -> _FloatType: ... # type: ignore[override]
510516

511517
class complex64(complexfloating[float32]):
@@ -524,12 +530,16 @@ class complex128(complexfloating[float64], complex):
524530
] = ...,
525531
) -> None: ...
526532

527-
class flexible(_real_generic): ... # type: ignore
533+
class flexible(generic): ... # type: ignore
528534

529535
class void(flexible):
530536
def __init__(self, __value: Union[int, integer, bool_, bytes]): ...
537+
@property
538+
def real(self: _ArraySelf) -> _ArraySelf: ...
539+
@property
540+
def imag(self: _ArraySelf) -> _ArraySelf: ...
531541

532-
class character(_real_generic): ... # type: ignore
542+
class character(generic): ... # type: ignore
533543

534544
class bytes_(character, bytes):
535545
@overload

0 commit comments

Comments
 (0)