[Issue 11230] Assertion failed: (type->ty != Tstruct || ((TypeStruct *)type)->sym == this), function semantic, file struct.c, line 876.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Oct 13 12:25:42 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11230
deadalnix <deadalnix at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |INVALID
--- Comment #3 from deadalnix <deadalnix at gmail.com> 2013-10-13 12:25:42 PDT ---
(In reply to comment #2)
> (In reply to comment #1)
> > With the 2.064 beta:
> >
> > test.d(14): Error: function test.visit has no return statement, but is expected
> > to return a value of type test.C
> >
> > which is correct.
>
> You stopped yourself to the first line. Added a return statement so you won't :
>
> cat test.d
>
> import std.algorithm;
>
> class A {
> A[] as;
> }
>
> class B {
> A[] as;
> }
>
> class C : A {
> }
>
> C visit(A a) {
> a.as.map!(a => visit);
> }
>
> C visit(B b) {
> b.as.map!(a => visit);
> }
>
> C visit() {
> return null;
> }
>
>
> ./dmd test.d
> test.d(15): Error: function test.visit has no return statement, but is expected
> to return a value of type test.C
> ./../../phobos/std/algorithm.d(415): Error: struct
> test.visit.MapResult!(__lambda2, A[]).MapResult failed semantic analysis
> ./../../phobos/std/algorithm.d(425): Error: this for _input needs to be type
> MapResult not type MapResult!(__lambda2, A[])
> ./../../phobos/std/algorithm.d(430): Error: this for _input needs to be type
> MapResult not type MapResult!(__lambda2, A[])
> ./../../phobos/std/algorithm.d(436): Error: this for _input needs to be type
> MapResult not type MapResult!(__lambda2, A[])
> ./../../phobos/std/algorithm.d(448): Error: this for _input needs to be type
> MapResult not type MapResult!(__lambda2, A[])
> ./../../phobos/std/algorithm.d(454): Error: this for _input needs to be type
> MapResult not type MapResult!(__lambda2, A[])
> ./../../phobos/std/algorithm.d(459): Error: this for _input needs to be type
> MapResult not type MapResult!(__lambda2, A[])
> ./../../phobos/std/algorithm.d(471): Error: this for _input needs to be type
> MapResult not type MapResult!(__lambda2, A[])
> ./../../phobos/std/algorithm.d(479): Error: this for _input needs to be type
> MapResult not type MapResult!(__lambda2, A[])
> ./../../phobos/std/algorithm.d(496): Error: this for _input needs to be type
> MapResult not type MapResult!(__lambda2, A[])
> ./../../phobos/std/algorithm.d(411): Error: template instance
> test.visit.MapResult!(__lambda2, A[]) error instantiating
> test.d(20): instantiated from here: map!(A[])
> test.d(20): Error: template instance test.visit.map!((a) => visit).map!(A[])
> error instantiating
> test.d(19): Error: function test.visit has no return statement, but is expected
> to return a value of type test.C
Ho damned, that is solved, indeed XD Sorry, for the noise.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list