How to verify correctness when migrating from manual to the synthetized behavior?

Probably in around one month from now on Swift 4.2 will be released and I would like to migrate our internal core library for our app to use Swift 4.2. We have quite a few enums with associated values which in Swift 4.1 lack of synthetization support for protocols like Hashable and Equatable. I think in most cases for me it will be just as easy as deleting the older custom implementations to clean up everything.

Now my question is, how can I verity that the compiler synthetized the same way as I previously implemented it by hand? (I'm not talking about the resulting hash value, it will be different that's for sure.)

Are there any good technics that I can make use of to check? I recall there was a thread that asked if it's possible to view the synthetized code, but the compiler still does not generate that for us if I'm not mistaken.

Best regards,
Adrian

3 Likes