New submission from Rick Teachey <ri...@teachey.org>:

Summary: The descriptor `__set_name__` functionality (introduced in Python 3.6) 
does not seem to be working correctly for `dataclass.Field` objects with a 
default pointing to a descriptor. I have attached a file demonstrating the 
trouble.

Details: If I set a `dataclass` class object field to a `dataclass.field` with 
a descriptor object for the `default` argument, the descriptor's `__set_name__` 
method is not called during initialization. This is unexpected because 
descriptors themselves seem to work pretty much flawlessly, otherwise. 

(Bravo on that by the way! Working descriptors isn't mentioned at all in the 
PEP as a feature but I was very pleased to see them working!!)

System details:
Python 3.7b02
Windows 10
PyCharm Community Edition

btw this is my first ever Python bug report; I hope I did a good job.

----------
files: broken__set_name__.py
messages: 314438
nosy: Ricyteach, eric.smith
priority: normal
severity: normal
status: open
title: descriptor __set_name__ feature broken for dataclass descriptor fields
type: behavior
versions: Python 3.7
Added file: https://bugs.python.org/file47499/broken__set_name__.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33141>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to