seemingly even weirder:

  I[] i0 = [new C, new C];
  assert(cast(C) i0[0]);  // fine

  C[] c = [new C, new C];
  I[] i1 = cast(I[]) c;
  assert(cast(C) i1[0]);  // fails

It works when I create an I[] from a C[] literal, but not when I cast a previously declared C[] to an I[].

Reply via email to