Bug 16376 – The specifications miss for overload resolution order in mixin templates

Status
NEW
Severity
normal
Priority
P3
Component
dlang.org
Product
D
Version
D2
Platform
All
OS
All
Creation time
2016-08-11T19:14:19Z
Last change time
2024-12-15T15:23:55Z
Assigned to
No Owner
Creator
basile-z
Moved to GitHub: dlang.org#4061 →

Comments

Comment #0 by b2.temp — 2016-08-11T19:14:19Z
In this code template F1(T) { void bar() {} } template F2(T) { mixin F1!T; void foo() { bar(); } // F3.bar or F1.bar ? } template F3(T) { mixin F2!T; void bar() {} // } struct F4(T) { mixin F3!T; } the specifications don't state which bar() will be called in this case. While an identified mixin allows to call accurately one of the overload the default behavior is not at all specified. We would expect the manual to explain which rule is followed in this case even if the rule is "no rule".
Comment #1 by robert.schadek — 2024-12-15T15:23:55Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dlang.org/issues/4061 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB