Bug 11249 – MapResult failed semantic analysis

Status
RESOLVED
Resolution
DUPLICATE
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-10-13T22:23:00Z
Last change time
2013-10-13T22:53:28Z
Assigned to
nobody
Creator
deadalnix

Comments

Comment #0 by deadalnix — 2013-10-13T22:23:55Z
$ cat fail.d module fail; import std.algorithm; class A { A[] as; } class B { A[] as; } A visit(A a) { a.as.map!(a => visit); return null; } A visit(B b) { b.as.map!(a => visit); return null; } A visit() { return null; } $ ../dmd/src/dmd -c -offail.o fail.d ../dmd/src/../../phobos/std/algorithm.d(415): Error: struct fail.visit.MapResult!(__lambda2, A[]).MapResult failed semantic analysis ../dmd/src/../../phobos/std/algorithm.d(425): Error: this for _input needs to be type MapResult not type MapResult!(__lambda2, A[]) ../dmd/src/../../phobos/std/algorithm.d(430): Error: this for _input needs to be type MapResult not type MapResult!(__lambda2, A[]) ../dmd/src/../../phobos/std/algorithm.d(436): Error: this for _input needs to be type MapResult not type MapResult!(__lambda2, A[]) ../dmd/src/../../phobos/std/algorithm.d(448): Error: this for _input needs to be type MapResult not type MapResult!(__lambda2, A[]) ../dmd/src/../../phobos/std/algorithm.d(454): Error: this for _input needs to be type MapResult not type MapResult!(__lambda2, A[]) ../dmd/src/../../phobos/std/algorithm.d(459): Error: this for _input needs to be type MapResult not type MapResult!(__lambda2, A[]) ../dmd/src/../../phobos/std/algorithm.d(471): Error: this for _input needs to be type MapResult not type MapResult!(__lambda2, A[]) ../dmd/src/../../phobos/std/algorithm.d(479): Error: this for _input needs to be type MapResult not type MapResult!(__lambda2, A[]) ../dmd/src/../../phobos/std/algorithm.d(496): Error: this for _input needs to be type MapResult not type MapResult!(__lambda2, A[]) ../dmd/src/../../phobos/std/algorithm.d(411): Error: template instance fail.visit.MapResult!(__lambda2, A[]) error instantiating fail.d(18): instantiated from here: map!(A[]) fail.d(18): Error: template instance fail.visit.map!((a) => visit).map!(A[]) error instantiating
Comment #1 by k.hara.pg — 2013-10-13T22:53:28Z
I have posted a compiler fix for issue 11230, so mark this as a duplicate. *** This issue has been marked as a duplicate of issue 11230 ***