Martijn Faassen wrote:
Hi there,
I think we've had enough discussion to make a decision. Hopefully everybody is at least reasonably happy with this:
An "adapt()" method will be added to Interface. It takes the objects to adapt as *args, and optional but explicit 'default' and 'name' aguments.
A "utility()" method will be added to Interface. It takes optional but explicit 'default' and 'name' arguments.
On the adapter hook (__call__) we will deprecate the implicit second argument for defaults, with a deprecation warning. Instead, we will require people to write out 'default=' explicitly. Otherwise its behavior remains unchanged. I think we can motivate this change purely because IFoo(bar, baz) really is quite surprising compared to IFoo(bar, default=baz).
[steering group members, if you are really unhappy with this, please speak up now. Silence is assent. :)]
A general +0 from me, because it seems to be 99% bw compat and does no harm. - C