[−][src]Macro static_assertions::assert_cfg
Asserts that a given configuration is set.
Examples
A project will simply fail to compile if the given configuration is not set.
// We're not masochists assert_cfg!(not(target_pointer_width = "16"));
If a project does not support a set of configurations, you may want to report why. There is the option of providing a compile error message string:
assert_cfg!(any(unix, linux), "There is only support for Unix or Linux"); // User needs to specify a database back-end assert_cfg!(all(not(all(feature = "mysql", feature = "mongodb")), any( feature = "mysql", feature = "mongodb")), "Must exclusively use MySQL or MongoDB as database back-end");
Some configurations are impossible. For example, we can't be compiling for both Unix and Windows simultaneously:
ⓘThis example deliberately fails to compile
assert_cfg!(all(unix, windows), "No, that's not how it works! ಠ_ಠ");