Skip to content

Conversation

@mrahtz
Copy link
Contributor

@mrahtz mrahtz commented Mar 13, 2022

At some point I guess we should add tests for the native tuple too, once #31828 or similar is in.

@JelleZijlstra Does this assuage the concerns you mentioned about Annotated in #31021 (review)?

@@GBeauregard too, since Jelle also mentioned you in that thread - is there anything else we should test for here?

https://bugs.python.org/issue43224

Copy link
Member

@JelleZijlstra JelleZijlstra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! The tests are good but it's a bit unfortunate if we can't use Annotated around a TypeVarTuple at all.

raise TypeError("Annotated[...] should be used "
"with at least two arguments (a type and an "
"annotation).")
if _is_unpacked_typevartuple(params[0]):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need to explicitly disallow this at runtime.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, but then how should we handle situations like this?

A = Annotated[Unpack[Ts], "foo"] B = A[int, str]

Annotated[int, str, "foo"] wouldn't be valid. We could do some kind of automatic tuple wrapping, Annotated[tuple[int, str], "foo", but that would be inconsistent with how we handle TypeVarTuple substitution elsewhere.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, and sorry for not responding to this earlier.

@mrahtz mrahtz mannequin mentioned this pull request Apr 11, 2022
@JelleZijlstra JelleZijlstra self-requested a review April 15, 2022 23:11
@JelleZijlstra JelleZijlstra self-assigned this Apr 15, 2022
@JelleZijlstra JelleZijlstra merged commit f2bc12f into python:main Apr 16, 2022
@mrahtz mrahtz deleted the annotated-typevartuple branch May 1, 2022 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

4 participants