Author serhiy.storchaka
Recipients Jelle Zijlstra, Jim Fasarakis-Hilliard, brett.cannon, pitrou, serhiy.storchaka
Date 2017-03-20.19:15:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
The support of **kwargs in Path.__new__ is needed if you want to implement a subclass of Path with __init__ accepting keyword arguments (and since Path constructor takes variable number of positional arguments, new arguments should be keyword-only).

>>> import pathlib
>>> class MyPath(pathlib.PosixPath):
...     def __init__(self, *args, spam=False):
...         self.spam = spam
>>> p = MyPath('/', spam=True)
>>> p
>>> p.spam

Removing **kwargs from Path.__new__ will break the above example.

>>> MyPath('/', spam=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __new__() got an unexpected keyword argument 'spam'
Date User Action Args
2017-03-20 19:15:26serhiy.storchakasetrecipients: + serhiy.storchaka, brett.cannon, pitrou, Jelle Zijlstra, Jim Fasarakis-Hilliard
2017-03-20 19:15:26serhiy.storchakasetmessageid: <>
2017-03-20 19:15:26serhiy.storchakalinkissue29847 messages
2017-03-20 19:15:26serhiy.storchakacreate