New submission from STINNER Victor <vstin...@redhat.com>:

Each type types.CodeType constructor changes, a lot of applications break. 
Python 3.8 added a new parameter which broke for example the Genshi project, 
just to name one.

I propose to add a new CodeType.replace() method, similar to 
datetime.datetime.replace and namedtuple._replace() for example:

$ python3
Python 3.7.3 (default, Mar 27 2019, 13:41:07) 

>>> import datetime
>>> d=datetime.datetime.now()
>>> d2=d.replace(year=2010)
>>> d, d2
(datetime.datetime(2019, 5, 24, 11, 25, 3, 839966), datetime.datetime(2010, 5, 
24, 11, 25, 3, 839966))

>>> import collections
>>> Point = collections.namedtuple("Point", "x y")
>>> p=Point(1, 2)
>>> p2=p._replace(y=3)
>>> p, p2
(Point(x=1, y=2), Point(x=1, y=3))

----------
components: Interpreter Core
messages: 343360
nosy: pablogsal, vstinner
priority: normal
severity: normal
status: open
title: Add CodeType.replace() method
versions: Python 3.8

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

Reply via email to