[Issue 7711] New: ICE when trying to use an AA with inout type.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Mar 14 13:29:43 PDT 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7711
Summary: ICE when trying to use an AA with inout type.
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Keywords: ice
Severity: normal
Priority: P2
Component: druntime
AssignedTo: nobody at puremagic.com
ReportedBy: kennytm at gmail.com
--- Comment #0 from kennytm at gmail.com 2012-03-14 13:29:54 PDT ---
Test case:
---------------------------------------------
inout(int) test7711a(inout(int) bb) {
inout(long[long]) r;
r.keys;
return 0;
}
---------------------------------------------
Compiling this causes
dmd: mtype.c:4449: StructDeclaration* TypeAArray::getImpl(): Assertion `impl'
failed.
Aborted
Because AssociativeArray!(long, inout(long)) cannot be instantiated:
object.di(386): Error: variable
object.AssociativeArray!(long,inout(long)).AssociativeArray.Slot.value only
parameters or stack based variables can be inout
object.di(452): Error: inout on return means inout must be on a parameter as
well for @property inout(long)[long]()
object.di(458): Error: inout on return means inout must be on a parameter as
well for @property inout(long)[]()
object.di(483): Error: inout on return means inout must be on a parameter as
well for pure @safe inout(long)()
object.di(530): Error: inout on return means inout must be on a parameter as
well for Value()
--
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