Overloading based on attributes - is it a good idea?
Stefan Koch
uplink.coder at googlemail.com
Wed May 29 13:44:22 UTC 2019
On Tuesday, 28 May 2019 at 16:08:38 UTC, Andrei Alexandrescu
wrote:
> int fun(int) pure;
> int fun(int);
>
> pure int gun(int x)
> {
> return fun(x);
> }
>
> This doesn't work, but on the face of it it's not ambiguous -
> the second overload of fun() would not compile anyway.
>
> I was wondering whether allowing overloading on attributes in
> general would be a good idea. I suspect templates and attribute
> deduction make that difficult.
That's a problematic idea.
It means that adding an attribute on the caller can change the
function that is called.
Which seems exceedingly brittle.
Arguing from a from a "principle of least surprise" standpoint.
This is undesirable.
-
Stefan
More information about the Digitalmars-d
mailing list