module 0.3.1

Modular NixOS-style configuration crate.
Documentation
mod alloc;
mod core;

#[cfg(feature = "std")]
mod std;

mod prelude {
    pub(super) use crate::{Context, Error, Merge};

    macro_rules! unmergeable {
        () => {
            fn merge(self, _other: Self) -> Result<Self, Error> {
                Err(Error::collision())
            }

            fn merge_ref(&mut self, _other: Self) -> Result<(), Error> {
                Err(Error::collision())
            }
        };

        ($($t:ty),*) => {
            $(
                impl Merge for $t {
                    unmergeable!();
                }
            )*
        }
    }
    pub(super) use unmergeable;
}