Currently, we basically rely on the programmer to guard the code with feature macros in a consistent manner. Sadly, we do not appear to have automated ways to check that the macros are guarded properly. Ideally, we should include such tests in our library so that we minimize the risk of a release with incorrect feature macros.
cc @pauldreik @WojciechMula