On Wed, 12 Nov 2008 04:57:41 +0100, "Simen Kjaeraas"
<[EMAIL PROTECTED]> wrote:
>Right, I have this:
>
>template foo(T)
>{
> int opApply(int delegate(ref T) dg)
> {
> // code here
> }
>}
>
>class bar(T)
>{
> mixin foo!(T) baz;
>}
>
>void main()
>{
> bar b = new bar();
> foreach(qux; bar.baz)
> {
> }
>}
>
>And it does not compile. The error I get is "expression has no value", on
>the line with the foreach. Do I need to do this in a different way, or is
>it simply not possible (at the moment)?
According to the spec, Aggregate in foreach can be array, class,
struct or tuple. I don't know why template instances or mixins with
opApply were not included. Hopefully, when foreach is updated to work
with ranges, everything that looks like a range will be acceptable.