Bug 10067 – [REG] Recursive template instantiation

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-05-12T04:38:00Z
Last change time
2013-05-17T13:14:04Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
dmitry.olsh

Comments

Comment #0 by dmitry.olsh — 2013-05-12T04:38:59Z
Used to work in 2.062. Fails in current git HEAD. Found in unittests for new std.uni. struct assumeSize(alias F) { } template useItemAt(size_t idx, T) { void impl(){ } alias assumeSize!(impl) useItemAt; } useItemAt!(0, char) mapS; DMD's output: reg_template.d(9): Error: alias reg_template.useItemAt!(0, char).useItemAt recursive alias declaration reg_template.d(12): Error: template instance reg_template.useItemAt!(0, char) error instantiating
Comment #1 by k.hara.pg — 2013-05-12T07:54:34Z
Comment #2 by github-bugzilla — 2013-05-12T12:01:43Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/5f90c9f1887b6805b075d390b8cba414559c30e2 fix Issue 10067 - Recursive template instantiation https://github.com/D-Programming-Language/dmd/commit/828859bca0be2daf7c7accde8e15697de610380a Merge pull request #2026 from 9rnsr/fix10067 [REG2.063a] Issue 10067 - Recursive template instantation