|
|
|
|
@@ -79,59 +79,59 @@ reveal_type(Sub() & Sub()) # revealed: Literal["&"]
|
|
|
|
|
reveal_type(Sub() // Sub()) # revealed: Literal["//"]
|
|
|
|
|
|
|
|
|
|
# No does not implement any of the dunder methods.
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() + No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `-` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `-` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() - No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `*` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `*` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() * No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `@` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `@` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() @ No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `/` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `/` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() / No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `%` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `%` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() % No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `**` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `**` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() ** No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `<<` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `<<` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() << No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `>>` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `>>` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() >> No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `|` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `|` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() | No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `^` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `^` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() ^ No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `&` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `&` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() & No()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `//` is unsupported between objects of type `No` and `No`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `//` is not supported between objects of type `No` and `No`"
|
|
|
|
|
reveal_type(No() // No()) # revealed: Unknown
|
|
|
|
|
|
|
|
|
|
# Yes does not implement any of the reflected dunder methods.
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() + Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `-` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `-` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() - Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `*` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `*` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() * Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `@` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `@` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() @ Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `/` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `/` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() / Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `%` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `%` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() % Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `**` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `**` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() ** Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `<<` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `<<` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() << Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `>>` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `>>` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() >> Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `|` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `|` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() | Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `^` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `^` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() ^ Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `&` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `&` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() & Yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `//` is unsupported between objects of type `No` and `Yes`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `//` is not supported between objects of type `No` and `Yes`"
|
|
|
|
|
reveal_type(No() // Yes()) # revealed: Unknown
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
@@ -307,11 +307,11 @@ class Yes:
|
|
|
|
|
class Sub(Yes): ...
|
|
|
|
|
class No: ...
|
|
|
|
|
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is unsupported between objects of type `<class 'Yes'>` and `<class 'Yes'>`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is not supported between objects of type `<class 'Yes'>` and `<class 'Yes'>`"
|
|
|
|
|
reveal_type(Yes + Yes) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is unsupported between objects of type `<class 'Sub'>` and `<class 'Sub'>`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is not supported between objects of type `<class 'Sub'>` and `<class 'Sub'>`"
|
|
|
|
|
reveal_type(Sub + Sub) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is unsupported between objects of type `<class 'No'>` and `<class 'No'>`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is not supported between objects of type `<class 'No'>` and `<class 'No'>`"
|
|
|
|
|
reveal_type(No + No) # revealed: Unknown
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
@@ -336,11 +336,11 @@ def sub() -> type[Sub]:
|
|
|
|
|
def no() -> type[No]:
|
|
|
|
|
return No
|
|
|
|
|
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is unsupported between objects of type `type[Yes]` and `type[Yes]`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is not supported between objects of type `type[Yes]` and `type[Yes]`"
|
|
|
|
|
reveal_type(yes() + yes()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is unsupported between objects of type `type[Sub]` and `type[Sub]`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is not supported between objects of type `type[Sub]` and `type[Sub]`"
|
|
|
|
|
reveal_type(sub() + sub()) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is unsupported between objects of type `type[No]` and `type[No]`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is not supported between objects of type `type[No]` and `type[No]`"
|
|
|
|
|
reveal_type(no() + no()) # revealed: Unknown
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
@@ -350,30 +350,30 @@ reveal_type(no() + no()) # revealed: Unknown
|
|
|
|
|
def f():
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `+` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f + f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `-` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `-` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f - f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `*` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `*` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f * f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `@` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `@` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f @ f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `/` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `/` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f / f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `%` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `%` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f % f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `**` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `**` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f**f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `<<` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `<<` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f << f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `>>` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `>>` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f >> f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `|` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `|` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f | f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `^` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `^` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f ^ f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `&` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `&` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f & f) # revealed: Unknown
|
|
|
|
|
# error: [unsupported-operator] "Operator `//` is unsupported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
# error: [unsupported-operator] "Operator `//` is not supported between objects of type `def f() -> Unknown` and `def f() -> Unknown`"
|
|
|
|
|
reveal_type(f // f) # revealed: Unknown
|
|
|
|
|
```
|
|
|
|
|
|