mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Add a verification pass to ensure that all of the generic signatures in a module are both minimal and canonical. The approach taken is quite direct: for every (canonical) generic signature in the module, try removing a single requirement and forming a new generic signature from the result. If that new generic signature that provide the removed requirement, then the original signature was not minimal. Also canonicalize each resulting signature, to ensure that it meets the requirements for a canonical signature. Add a test to ensure that all of the generic signatures in the Swift module are minimal and canonical, since they are ABI.
61 KiB
61 KiB