October 05, 2018 [Issue 19287] New: each only accepts lambdas that take a single argument | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=19287 Issue ID: 19287 Summary: each only accepts lambdas that take a single argument Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: phobos Assignee: nobody@puremagic.com Reporter: iamthewilsonator@hotmail.com See https://forum.dlang.org/post/tgnnsqkclbcaejhbiprn@forum.dlang.org for the motivation. struct that contain destructors cannot be closed over (I'm not sure why but thats a different problem) and so CantCloseMe o; // some struct with a door somerange.each!(e => foo(o,e)); //Error: variable `o` has scoped destruction, cannot build closure fails. But it can't be worked around with somerange.each!((e,f) => foo(o,f))(o); Fails with Error: template somerange.each!((e,f) => foo(o,f)).each cannot deduce function from argument types !()(SomeRange, CantCloseMe), candidates are: ... because all of the each functions take only a range or iterable. -- |
Copyright © 1999-2021 by the D Language Foundation