On Mon, Jan 27, 2020 at 9:08 AM Serhiy Storchaka <storchaka@gmail.com> wrote:
1. What is type(list[str]())? list or list[str]?

PEP 585 says it should be list. Type erasure happens at object instantiation.
 
2. Would it work with list subclasses? I.e.

     class L(list): pass

     x: L[str]

I think this will work without any extra code. But I'll make sure to test it.
 
3. Don't forget about __reduce__().

Good point, I'll add it to the list of tasks.

4. Will be a cache for parametrized generics?

Oh, we probably need that (it proved essential for typing.py's List[int] etc.). I'll put it in the plan.

--
--Guido van Rossum (python.org/~guido)