Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@ Does not correctly resolve defaults when classes are used directly.
"""
output = """
generics_defaults_specialization.py:30: error: Bad number of arguments for type alias, expected between 0 and 1, given 2 [type-arg]
generics_defaults_specialization.py:45: error: Expression is of type "type[Bar[DefaultStrT]]", not "type[Bar[str]]" [assert-type]
generics_defaults_specialization.py:55: error: The type "type[Foo]" is not generic and not indexable [misc]
generics_defaults_specialization.py:56: error: The type "type[Foo]" is not generic and not indexable [misc]
"""
conformance_automated = "Fail"
errors_diff = """
Line 45: Unexpected errors ['generics_defaults_specialization.py:45: error: Expression is of type "type[Bar[DefaultStrT]]", not "type[Bar[str]]" [assert-type]']
Line 46: Expected 1 errors
"""
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ errors_diff = """
"""
output = """
ERROR generics_defaults_specialization.py:30:1-19: Expected 1 type argument for `MyAlias`, got 2 [bad-specialization]
ERROR generics_defaults_specialization.py:55:1-9: Expected 0 type arguments for `Foo`, got 1 [bad-specialization]
ERROR generics_defaults_specialization.py:46:22-25: `type[Bar]` is not assignable to `type[Bar[int]]` [bad-assignment]
ERROR generics_defaults_specialization.py:56:1-9: Expected 0 type arguments for `Foo`, got 1 [bad-specialization]
"""
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
conformant = "Pass"
conformant = "Partial"
notes = """
Allows incorrect assignment to type[].
"""
output = """
generics_defaults_specialization.py:30:15 - error: Too many type arguments provided for "MyAlias[DefaultStrT@MyAlias]"; expected 1 but received 2 (reportInvalidTypeForm)
generics_defaults_specialization.py:55:5 - error: Expected no type arguments for class "Foo" (reportInvalidTypeArguments)
generics_defaults_specialization.py:56:5 - error: Expected no type arguments for class "Foo" (reportInvalidTypeArguments)
"""
conformance_automated = "Pass"
conformance_automated = "Fail"
errors_diff = """
Line 46: Expected 1 errors
"""
2 changes: 1 addition & 1 deletion conformance/results/results.html
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ <h3>Python Type System Conformance Test Results</h3>
</tr>
<tr><th class="column col1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;generics_defaults_specialization</th>
<th class="column col2 partially-conformant"><div class="hover-text">Partial<span class="tooltip-text" id="bottom"><p>Does not correctly resolve defaults when classes are used directly.</p></span></div></th>
<th class="column col2 conformant">Pass</th>
<th class="column col2 partially-conformant"><div class="hover-text">Partial<span class="tooltip-text" id="bottom"><p>Allows incorrect assignment to type[].</p></span></div></th>
<th class="column col2 conformant">Pass</th>
<th class="column col2 conformant">Pass</th>
<th class="column col2 partially-conformant"><div class="hover-text">Partial<span class="tooltip-text" id="bottom"><p>Does not reject subscription of an already-specialized generic class.</p></span></div></th>
Expand Down
3 changes: 2 additions & 1 deletion conformance/results/ty/generics_defaults_specialization.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ notes = """
Does not reject subscription of an already-specialized generic class.
"""
errors_diff = """
Line 55: Expected 1 errors
Line 56: Expected 1 errors
"""
output = """
generics_defaults_specialization.py:30:15: error[invalid-type-arguments] Too many type arguments: expected between 0 and 1, got 2
generics_defaults_specialization.py:46:22: error[invalid-assignment] Object of type `<class 'Bar'>` is not assignable to `type[Bar[int]]`
"""
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@ errors_diff = """
"""
output = """
generics_defaults_specialization.py:30: error: Bad number of arguments for type alias, expected between 0 and 1, given 2 [misc]
generics_defaults_specialization.py:55: error: "Foo" expects no type arguments, but 1 given [type-arg]
generics_defaults_specialization.py:46: error: Incompatible types in assignment (expression has type "type[Bar]", variable has type "type[Bar[int]]") [assignment]
generics_defaults_specialization.py:56: error: "Foo" expects no type arguments, but 1 given [type-arg]
"""
3 changes: 2 additions & 1 deletion conformance/tests/generics_defaults_specialization.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ class SubclassMe(Generic[T1, DefaultStrT]):
class Bar(SubclassMe[int, DefaultStrT]): ...


assert_type(Bar, type[Bar[str]])
x1: type[Bar[str]] = Bar # ok
x2: type[Bar[int]] = Bar # E
assert_type(Bar(), Bar[str])
assert_type(Bar[bool](), Bar[bool])

Expand Down