If I run tests/mini/s.d with dmd, I get
classinfo test
ci = s.TheClassOne
ci.interfaces.length = 0
ci = s.TheClassTwo
ci.interfaces.length = 1
i[0] = s.Inter2
ci = s.InterOne
ci = s.Inter2
ci = s.TheClassTwo
and if I run it with ldc, the result is
classinfo test
ci = s.TheClassOne
ci.interfaces.length = 1
i[0] = s.InterOne
ci = s.TheClassTwo
ci.interfaces.length = 2
i[0] = s.InterOne
i[1] = s.Inter2
ci = s.InterOne
ci = TypeInfo_l
ci = <garbage>
I think this ought to be consistent (and the last two casts need to be fixed, too)