The first obvious answer is to ban contracts on extern methods. After all, the implementation is off in legacy code land.
However, it would be nice to be able to apply contracts to extern methods and have the contract implementation injected at callsites. Alternately, the extern method declaration could be renamed and a wrapper method could be generated to hold the contract implementations with the original method name.
The first obvious answer is to ban contracts on
externmethods. After all, the implementation is off in legacy code land.However, it would be nice to be able to apply contracts to
externmethods and have the contract implementation injected at callsites. Alternately, theexternmethod declaration could be renamed and a wrapper method could be generated to hold the contract implementations with the original method name.