On Fri, 13 Nov 2020 at 17:36, Jim J. Jewett <jimjjew...@gmail.com> wrote:
> I *hope* this was a typo! If > > case Point(x=a, y=b): > > assigns to a and b (instead of x and y, as in a normal call), then that is > ... going to be very easy for me to forget, and to miss even when I'm aware > of it. > No typo - this is _precisely_what the main proposal on PEPs 634, 635 and 636 is suggesting, and tha PEP 642 is trying to avoid. Here it is working as is on my Python with PEP 622 build: ``` Python 3.10.0a0 (heads/patma:1ba56a003b, Aug 6 2020, 02:00:58) Type 'copyright', 'credits' or 'license' for more information IPython 7.17.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: from dataclasses import dataclass In [2]: @dataclass ...: class Point: ...: x: float ...: y: float ...: In [3]: def get_coords(p): ...: match p: ...: case Point(x=a, y=b): ...: return a, b ...: case _: ...: raise TypeError() ...: In [4]: get_coords(Point(3, 4)) Out[4]: (3, 4) ``` > > -jJ > _______________________________________________ > Python-Dev mailing list -- python-dev@python.org > To unsubscribe send an email to python-dev-le...@python.org > https://mail.python.org/mailman3/lists/python-dev.python.org/ > Message archived at > https://mail.python.org/archives/list/python-dev@python.org/message/F66J72JUEAUKBM5VDSMG4HRHUEQBWI5M/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/ASAMVXQGHJ6JZH3NPKRYRAV7F7VCMAW6/ Code of Conduct: http://python.org/psf/codeofconduct/