//go:fix inline and the source-level inliner
37 points by cgrinds
37 points by cgrinds
This is very handy for internal rewrites too.
I love the details on how the source inliner works, but I think there's a subtle point that is made but could be emphasized more: When you make a breaking API change, it's already considered a best practice to rewrite the old implementation to use the new one (if you can), since then you don't have to maintain parallel implementations at the same time. With a good source inliner, that work that you already wanted to do now gives you, for free, a codemod for migrating callers!
This is an elegant solution because —
Very cool! I wonder if such tools or extensions to the analyzer exist for Rust...? 🤔