Robert Collins added the comment:

Here are some options.

a) Don't make the new thing public - instead export within Python.exe the 
existing private symbol _...withNames. Pros: no change to public API. Cons: 
extension modules using the public API cannot make these sorts of errors 
clearer.

b) Add a new API. Either narrow (add the parameter) or big (add a struct). 
Pros: everyone treated equally. Cons: More API surface area, and more complex 
calling convention.

c) use symbol versioning to change the existing API. Cons: more complex 
build-time detection for users. Pros: API surface area held constant.

d) Don't fix it. :)

I don't have a particular preference, though the struct thing is a wash IMO - 
it saves adding a serial to the API, at the cost of having a versioned 
datastructure which needs an embedded serial number. [Except perhaps that you 
can use symbol versioning to deal with evolutions of the struct - but thats 
fairly complex to carry off well, and I think this would be the first example 
w/in Python].

----------

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

Reply via email to