mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
When mangling sugared types for DWARF debug info, we would occassionally mix generic parameter types from different generic environments. Since the mangling for a generic parameter type only recorded the depth and the index, even for distinct sugared forms, the remangler would produce a more 'compact' mangling, by folding together generic parameters that have the same depth/index, but distinct sugarings in the AST. Prevent this from happening by desugaring DWARF types the correct amount, substituting away generic parameters while preserving everything else. Also, re-enable the round-trip verification with the remangler. Fixes <rdar://problem/59496022>, <https://bugs.swift.org/browse/SR-12204>.