__traits(getAttributes, ...) gets attributes for the first overload only
Vladimir Panteleev via Digitalmars-d
digitalmars-d at puremagic.com
Sun Dec 6 17:13:09 PST 2015
On Sunday, 6 December 2015 at 02:00:30 UTC, Andrei Alexandrescu
wrote:
> On 12/5/15 7:41 PM, John Colvin wrote:
>> On Saturday, 5 December 2015 at 20:44:40 UTC, Andrei
>> Alexandrescu wrote:
>>> Working on the big-oh thing I noticed that for an overloaded
>>> function,
>>> __traits(getAttributes, ...) applied to overloaded functions
>>> only
>>> fetches attributes for the first syntactically present
>>> overload. Bug
>>> or feature?
>>>
>>> Andrei
>>
>> In an ideal world I would want it to be an error to use
>> __traits(getAttributes, ...) on anything ambiguous, would
>> catch the odd
>> bug. The current behaviour is dumb, but some union of
>> attributes over
>> the overload sets seems worse.
>
> Yah, error is the way to go. -- Andrei
The potential problem I see with this idea is that adding an
overload to an otherwise non-overloaded function might break some
code elsewhere which queries the function's attributes. In other
circumstances, adding an unambiguous overload is never a breaking
change, right?
More information about the Digitalmars-d
mailing list