Files
swift-mirror/test/DebugInfo/retroactive_conformance.swift
Slava Pestov 3e4b95f234 ASTMangler: Fix substitution round-tripping in the DWARF mangler
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>.
2020-04-06 18:19:57 -04:00

9 lines
320 B
Swift

// RUN: %target-swift-frontend -primary-file %s -emit-ir -g -o - | %FileCheck %s
extension Optional: Comparable where Wrapped: Comparable {
public static func v(in r: ClosedRange<Self>) {}
public static func < (lhs: Self, rhs: Self) -> Bool { false }
}
// CHECK: sSNyxSgAASL23retroactive_conformancexSLHD1__HCg_GD