On Monday, 16 November 2015 at 17:57:53 UTC, opla wrote:
On Monday, 16 November 2015 at 16:55:29 UTC, Chris wrote:
On Monday, 16 November 2015 at 16:49:19 UTC, Marc Schütz wrote:
On Monday, 16 November 2015 at 16:44:27 UTC, Chris wrote:
Updating my code from 2.067.1 to 2.069.1 (I skipped 2.068, because I was too busy).

I get this error:

invalid foreach aggregate, define opApply(), range primitives, or use .tupleof

for code like

foreach (ref it; myArray.doSomething) {}

Probably not the best idea anyway. What's the best fix for this? Thanks.

Well, what does `doSomething` return?

It returns a range that modifies individual items in myArray, i.e. it assigns values to fields in each item of the array.

have you...

tried without ref
tried by adding a pair of parens after doSomething ?
tried std.algorithm.each or map on doSomething ?
checked the primitives ?
checked that isInputRange!(ReturnType!doSomething) == true?

I think ref is necessary, else the items are not changed. I will try the other options tomorrow (Tuesday). Thanks.

I wonder was the change overdue (and I got away with it till 2.068.1) or is it a new policy due to changes in D?

Reply via email to