mirror of
https://github.com/apple/swift.git
synced 2025-12-25 12:15:36 +01:00
This one’s screwily specific--if you have: * a private generic type, * with a nested generic type in it, * and the nested type conforms to a protocol with an associated type, * and that associated type’s witness is a generic type, * and some of the witness type’s generic parameters are generic parameters of the nested type, demangling would fail. The problem is that the substitution machinery in the runtime would consider there to be three, not two, generic context depths involved. Depth 1, which should correspond to the nested type, would instead have no generic parameters. The fix is to skip over depths with zero generic parameters. Fixes <rdar://problem/47773183>.
74 KiB
74 KiB