----- module test; import std.range; void main() { foreach (x, y; lockstep(iota(0, 10), iota(0, 10))) { } } ----- $ dmd test.d C:\DMD\dmd2\windows\bin\..\..\src\phobos\std\range.d(4716): Error: delegate dg (ref int, ref int) is not callable using argument types (int, int) test.d(6): Error: opApply() function for Lockstep!(Result, Result) must return an int C:\DMD\dmd2\windows\bin\..\..\src\phobos\std\range.d(4717): Error: delegate dg (uint, ref int, ref int) is not callable using argument types (uint, int, int) This is introduced as a result of my refactor pull, which added 'ref' to the parameter types by mistake: https://github.com/D-Programming-Language/phobos/pull/1124
(In reply to comment #0) > This is introduced as a result of my refactor pull, which added 'ref' to the > parameter types by mistake: > https://github.com/D-Programming-Language/phobos/pull/1124 Actually scratch that, it seems to be more involved. When I simply remove 'ref' then I get errors in other places. I'll investigate more.
(In reply to comment #1) > (In reply to comment #0) > > This is introduced as a result of my refactor pull, which added 'ref' to the > > parameter types by mistake: > > https://github.com/D-Programming-Language/phobos/pull/1124 > > Actually scratch that, it seems to be more involved. When I simply remove 'ref' > then I get errors in other places. I'll investigate more. Ah I see what I've missed, the hasLvalueElements check. I'm making a pull shortly.
https://github.com/D-Programming-Language/phobos/pull/1370
Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/4727fdde0b2df02ebfca9e340cb38c9e3250f27e Fixes Issue 10468 - Remove ref from parameter type in lockstep, which caused a regression. https://github.com/D-Programming-Language/phobos/commit/25ac708f018421e1a90eb8f33fab23b77bc71ed0 Merge pull request #1370 from AndrejMitrovic/Fix10468 (Regression 2.063) - Issue 10468 - Remove ref hardcoded from parameter type in lockstep