[Python-Dev] Deleting with setting C API functions

Serhiy Storchaka storchaka at gmail.com
Wed Dec 2 03:42:56 EST 2015


середа, 02-гру-2015 08:30:35 ви написали:
> Le 1 déc. 2015 16:51, "Serhiy Storchaka" <storchaka at gmail.com> a écrit :
> > Wouldn't be worth to deprecate deleting with Set* functions? Neither
> > other abstract Set* APIs, not concrete Set* APIs don't support deleting.
> >Deleting with Set* API can be unintentional and hide a bug.
> Wow wow wow, what? No, dont break Python C API for purity. 8 years later,
> we are still porting projects to python 3 And we are not done yet.

I suggest just to deprecate this feature. I'm not suggesting to remove it in 
the foreseeable future (at least before 4.0).

> Practicability beats purity.

I don't think this argument applies here. Two things make the deprecation more 
painless than usual:

1. This feature has never been documented.

2. PyObject_DelAttr() exists from the start (from the time of adding Generic 
Abstract Object Interface).

You have enough time to update your projects, and you can update them 
uniformly for all versions. And may be you will found few weird bugs related 
to misuse of Set* API.



More information about the Python-Dev mailing list