Bug 12746 – Wrong overload access within manually aliased eponymous function template

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-05-14T13:06:00Z
Last change time
2014-05-14T19:47:13Z
Keywords
accepts-invalid, pull
Assigned to
nobody
Creator
k.hara.pg

Comments

Comment #0 by k.hara.pg — 2014-05-14T13:06:28Z
This is invalid code, but incorrectly accepted and asserts in runtime. template foo() { void bar() { bar(1); // incorrectly call foo(int) } alias foo = bar; } void foo(int) { assert(0); } void main() { foo(); }
Comment #1 by k.hara.pg — 2014-05-14T13:20:48Z
Comment #2 by github-bugzilla — 2014-05-14T19:47:12Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/3c45ff1f158fe5eb9b0b6df15767b65ed8263cfb fix Issue 12746 - Wrong overload access within manually aliased eponymous function template https://github.com/D-Programming-Language/dmd/commit/f7babe209fbb079ccaf921f198e7eabac59c2984 Merge pull request #3549 from 9rnsr/fix12746 Issue 12746 - Wrong overload access within manually aliased eponymous function template