I've noticed that __traits(getOverloads)
always returns the overloads in lexical order across DMD, LDC, and GDC. Is this reliable at all?
Thread overview |
---|
July 13, 2023 getOverloads order | ||||
---|---|---|---|---|
| ||||
July 13, 2023 Re: getOverloads order | ||||
---|---|---|---|---|
| ||||
Posted in reply to IchorDev | On Thursday, 13 July 2023 at 08:03:02 UTC, IchorDev wrote: >I've noticed that No. It depends on the order the compiler analyzes the symbols, which is often lexical order, but it can vary based on static if, mixin, forward references etc. Here's a counter example:
Here you get overloads of |
July 13, 2023 Re: getOverloads order | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dennis | On Thursday, 13 July 2023 at 10:53:49 UTC, Dennis wrote: >On Thursday, 13 July 2023 at 08:03:02 UTC, IchorDev wrote: >I've noticed that No. It depends on the order the compiler analyzes the symbols, which is often lexical order, but it can vary based on static if, mixin, forward references etc. Here's a counter example:
Here you get overloads of Well that makes sense, but also wouldn't apply to the use-case that I was considering, since all the code would be in one mixin. However, the spec doesn't specify that this is how |
July 13, 2023 Re: getOverloads order | ||||
---|---|---|---|---|
| ||||
Posted in reply to IchorDev | On Thursday, 13 July 2023 at 11:04:40 UTC, IchorDev wrote: >However, the spec doesn't specify that this is how The order is not guaranteed. I don't know why you need a specific order, but perhaps you can sort based on |