adl-lang/adl

C++ compile error depending on ordering of names

Opened this issue · 0 comments

// Generates and compiles OK
module bugged_ok {
    struct AA_Struct
    {
        Double val123;
    };
    union AZ_Union<T>
    {
        AA_Struct val;
        T tval;
    };
};
// Generates ok but fails to compile
module bugged {
    struct AZ_Struct
    {
        Double val123;
    };

    // NOT OK - c++ compile error "invalid use of incomplete type ‘struct ADL::bugged::AZ_Struct’" - something to do with ordering of items?
    union AA_Union<T>
    {
        AZ_Struct val;
        T tval;
    };
};