tree e1977a96e149415867514bc1dae681d2add5a7fe
parent 619d9bdf7ae70ce953f1a10aebccfdc3526b7200
author Matt Bogosian <matt@bogosian.net> 1643029915 -0600
committer GitHub <noreply@github.com> 1643029915 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJh7qWbCRBK7hj4Ov3rIwAA4ycIAAySmPK2D7/NgXH+rdQ4KP1s
 tIGYLbze3d8R0qiQid5ufleUNQH7J2Ifcjk3o+E04/QETZveeAKaCW2selzvFU83
 GZ6HpU/vL60nRubmHgepNB7spmGxVIvPrvZSUgWzpt/N/liNuzkToLHVteQS+Ifn
 oqiDuKnqMOygpILWc3g/TCxAq3Zxj02mjJkJq/bEs9Mbg9W36GpDwIIWH9OsYDjz
 w4DBRPDuZCCi3YWQH/JkPXBB1HsK+ZfeYU7QMORPFWxtRMCh7RME2XaYiR3Awbfr
 f33sFGdgWEApYT8PR4egliu2MrlPolB+Ptdv1YR9AIquK/+tOdm8DtVVjF0LptA=
 =XTJN
 -----END PGP SIGNATURE-----
 

Explain generic `Protocol[T1, T2, ...]` shorthand in Mypy docs (#12047)

As far as I can tell, the nugget exposed by this commit lives only in PEP 544. This
copies that nugget closer to where it is likely to be spotted by the intended audience.

PEPs may not be accessible to customers who reasonably expect relevant information to be
surfaced in featured documentation. Even if customers are aware of PEPs, they may not
think to look there, and don't likely consider them primary sources. It is reasonable to
assume that is the job of the docs, with PEPs capturing more esoteric nuances,
rationales and other then-relevant details of decision-making, etc. It's also reasonable
to expect that where further study may be helpful, links from relevant sections of
primary sources to secondary materials like PEPs should exist. This commit fills in both
gaps for the subject shorthand.