swift
f0f91eed - NCGenerics: avoid feature-guarding in some cases

Commit
1 year ago
NCGenerics: avoid feature-guarding in some cases With the generalization of Optional to support noncopyable types, our feature-guarding in swiftinterface files would double-print functions that simply refer to the Optional type. Since NoncopyableGenerics is a suppressible feature, by default a second version of Optional and UnsafePointer are emitted into swiftinterface files, where the ~Copyable generalization is stripped away. We can rely on that to avoid double-printing the function, if the types substituted for the generic parameters are all Copyable. We need a bit more checking for when `@_disallowFeatureSuppression(NoncopyableGenerics)` is used, since this trick relies on there always being a definition of the type we refer to, whether the feature is enabled or not. resolves rdar://127389991
Author
Committer
Parents
Loading