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>.
9 lines
320 B
Swift
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
|