On Sunday, 2 February 2020 at 23:39:10 UTC, ShadoLight wrote:
But, my question was if this was avoidable if braces were not optional. Paul's answer was that non-optional braces will not make...
    alias a = S!(int);
... non-ambiguous, but I still don't get that based on the above results.

The results you've shown are based on the currently-implemented behavior, which is indeed unambiguous: S!(int) always refers to the eponymous struct, not the template instance that contains it. This is true whether or not you use braces.

If the behavior were changed as you have previously proposed, so that `S!(int)` could refer *either* to the eponymous struct *or* the template instance, then the alias declaration would become ambiguous. Again, this would be true whether or not you used braces.

Reply via email to