[Issue 19774] wrong code caused by opIndex

2019-04-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

--- Comment #10 from Dlang Bot  ---
dlang/dmd pull request #9725 "Followup 19774" was merged into stable:

- b8d4101ae586d993aaf40e4eaf5f2708b31c3f8e by RazvanN7:
  Follow up for Issue 19774 - fix opDollar

https://github.com/dlang/dmd/pull/9725

--


[Issue 19774] wrong code caused by opIndex

2019-04-26 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

Dlang Bot  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Dlang Bot  ---
dlang/dmd pull request #9696 "Fix Issue 19774 - wrong code caused by opIndex"
was merged into stable:

- 92b0a9967f59c0de24c2a2a3f9ae9e9103a514af by RazvanN7:
  Fix Issue 19774 - wrong code caused by opIndex

https://github.com/dlang/dmd/pull/9696

--


[Issue 19774] wrong code caused by opIndex

2019-04-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #8 from Dlang Bot  ---
@RazvanN7 created dlang/dmd pull request #9696 "Fix Issue 19774 - wrong code
caused by opIndex" fixing this issue:

- Fix Issue 19774 - wrong code caused by opIndex

https://github.com/dlang/dmd/pull/9696

--


[Issue 19774] wrong code caused by opIndex

2019-04-08 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

johanenge...@weka.io changed:

   What|Removed |Added

 CC||johanenge...@weka.io

--- Comment #7 from johanenge...@weka.io ---
fyi with LDC: the bug is that `return bar()[1];` first calls the destructor on
the temporary returned by `bar()`, and _after_ that calls opIndex. Clearly the
order of those calls should be reversed.

--


[Issue 19774] wrong code caused by opIndex

2019-04-08 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

--- Comment #6 from Mihails Strasuns  ---
Interesting that expanded code works fine when supplied manually.

--


[Issue 19774] wrong code caused by opIndex

2019-04-08 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

Mihails Strasuns  changed:

   What|Removed |Added

 CC||mihails.stras...@gmail.com

--- Comment #5 from Mihails Strasuns  ---
Quick check with -vcg-ast shows that for opIndex different intermediate AST
gets generated compared to regular function call:

C foo()
{
C __dop3 = bar();
return __dop3.opIndex(1);
}

vs

C foo()
{
return ((C __tmpfordtor3 = bar();) , __tmpfordtor3).zzz();
}

--


[Issue 19774] wrong code caused by opIndex

2019-04-08 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

John Colvin  changed:

   What|Removed |Added

 CC||john.loughran.colvin@gmail.
   ||com
   Severity|major   |regression

--- Comment #4 from John Colvin  ---
Changed to regression because it worked up to and including 2.066.0

--


[Issue 19774] wrong code caused by opIndex

2019-04-08 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

--- Comment #3 from Илья Ярошенко  ---
Another one similar issue
https://issues.dlang.org/show_bug.cgi?id=19793

--


[Issue 19774] wrong code caused by opIndex

2019-04-06 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

--- Comment #2 from Илья Ярошенко  ---
Thank you, the reduced variant is much more generalised, looks more dangerous.

--


[Issue 19774] wrong code caused by opIndex

2019-04-05 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19774

Илья Ярошенко  changed:

   What|Removed |Added

Summary|wrong code caused by|wrong code caused by
   |generic variadic opIndex|opIndex

--