Asserts that a given configuration is set.
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, windows), "There is only support for Unix or Windows"); // 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 macOS and Windows simultaneously:
assert_cfg!(all(target_os = "macos", target_os = "windows"), "No, that's not how it works! ಠ_ಠ");