Commits

John McCall committed 857489c2f66
When a generic type has dependent IR and thus requires each specialization to be separately lowered in IRGen, use the mangling of the specialized type as the name of the llvm::StructType instead of the base, unspecialized type. This tends to produce fewer collisions between IR type names. LLVM does unique the names on its own, so that's not strictly necessary, but it's still a good idea because it makes the test output more reliable and somewhat easier to read (modulo the impact of bigger type names). Collisions will still occur if the type is specialized at an archetype, since in this case we will fall back on the unspecialized type.