Is there a way to make this formal, like in the code, making the compiler complain when you try to use these features?
It is relatively easy to check these things with static analyzers, if nothing else.
It’s a bit different, but WebKit uses Clangs static analysis.
Kythe can be used for that
I'm not a c++ user but i'm pretty sure you should be able to pull-off a macro to do that ; in c you could alias the lib for something that breaks + alert ; I don't know how I would integrate such additional compiler checks in rust for other kinds of rules however - it's interesting to think about