I'm writing a couple of modules for dealing with database values (well really 
it's just storage of aggregates) in a native fashion from within D, using D 
2.023. I have a tuple called FieldTypes which contains the D-side types. I'm 
trying to use it to implement opApply:

    int opApply (int delegate (FieldTypes) func)

Unfortunately, this fails because the compiler only accepts the field types if 
they're references. But if I do this:

    int opApply (int delegate (ref FieldTypes) each)

It seems that the delegate takes a reference to one type, which is a value 
tuple! For example it claims that, simplified, "function Table.opApply (int 
delegate (ref (string, string)) each) does not match parameter types (int 
delegate (ref string, ref string))".

I've already implemented another opApply that takes a Line containing all the 
fields, but I'd like to have the expanded form as well if possible. Is it?

Reply via email to