struct s { int i; };

template<const s* _arr>
class struct_array
{
public:
    static const s arr;
    template<int >
    struct inner // line 9, without this struct, it works
    {    
    };
};

template<const s* _arr>
const s struct_array<_arr>::arr = _arr[0];

extern const s s_objs[] = {{ 42 }};

int main()
{
    struct_array<s_objs> t_obj;
    return 0;
}