mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The uniquing key for these was just the number of witness tables, but the function itself referenced the specific existential type it was instantiated with. Everything still worked because getOrCreateHelperFunction() would bitcast an existing function to the correct type, and in practice the layout of an existential type only depends on the number of witness tables. However on master-next, other changes were made that stripped off the bitcasts. This would result in assertions or LLVM verifier failures when multiple existential types were used in a single translation unit. Fixes <rdar://problem/54780404>.
2.0 KiB
2.0 KiB