February 14, 2005 inline lvalue bug | ||||
|---|---|---|---|---|
| ||||
struct A
{
int[] x;
int foo() { return 0; }
A bar()
{
A v;
foreach (inout int f; v.x) f = 0; // (1)
return v;
}
float bug(A p1) { return bar.foo; } // error here
}
void main()
{
}
If no '-inline' specified, code compiles successfully.
When '-inline' specified, compiler outputs (dmd -inline -v test.d):
parse strlv
semantic strlv
semantic2 strlv
semantic3 strlv
inline scan strlv
test.d(14): this.bar() is not an lvalue
If I comment line (1) bug disappears.
// DMD 0.113
| ||||
February 19, 2005 Re: inline lvalue bug | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Ilya Zaitseff Attachments: | Ilya Zaitseff wrote:
| struct A
| {
| int[] x;
| int foo() { return 0; }
| A bar()
| {
| A v;
| foreach (inout int f; v.x) f = 0; // (1)
| return v;
| }
| float bug(A p1) { return bar.foo; } // error here
| }
|
| void main()
| {
| }
|
| If no '-inline' specified, code compiles successfully.
|
| When '-inline' specified, compiler outputs (dmd -inline -v test.d):
|
| parse strlv
| semantic strlv
| semantic2 strlv
| semantic3 strlv
| inline scan strlv
| test.d(14): this.bar() is not an lvalue
|
| If I comment line (1) bug disappears.
|
| // DMD 0.113
Added to DStress as
http://dstress.kuehne.cn/run/inline_04.d
http://dstress.kuehne.cn/run/inline_05.d
http://dstress.kuehne.cn/run/inline_06.d
Thomas
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply