Am 07.03.22 um 17:46 schrieb Guido van Rossum:
On Mon, Mar 7, 2022 at 3:11 AM Sebastian Rittau <srittau@rittau.biz> wrote:
Ideally, generics would be initialized at the point where they are used,
like in all other languages I'm familiar with. But I don't think we can
do this is in a readable manner without new syntax, and that is unlikely
to happen soon, considering the SC's stance on typing features.

I wouldn't be quite so pessimistic. The SC rejected PEP 677 at least in part because, being a type annotation, it has to be an expression, but it's a form of expression that's not useful in other contexts.

If we're considering syntax to replace TypeVar(), like

def foo<T>(arg1: T, arg2: T) -> list[T]:
    ...

class C<T, S>:
    def __init__(self, arg1: T, arg2: S):
        self.attr1 = arg1
        self.attr2 = attr2
    ...

that would not be general expression syntax. (It would be good to poll on python-dev what people would think of such a proposal though.)

Not python-dev and not really relevant for this discussion, but I would really like to see "standard" generic syntax, as in your example, in Python.

 - Sebastian