maybe_dangling/
lib.rs

1#![doc = include_str!("../README.md")]
2#![no_std]
3#![deny(unsafe_code)]
4#![cfg_attr(feature = "nightly-dropck_eyepatch", feature(dropck_eyepatch))]
5
6pub use self::maybe_dangling::MaybeDangling;
7mod maybe_dangling;
8
9pub use manually_drop::ManuallyDrop;
10mod manually_drop;
11
12#[rustfmt::skip]
13/// I really don't get the complexity of `cfg_if!`…
14macro_rules! match_cfg {
15    (
16        _ => { $($expansion:tt)* } $(,)?
17    ) => (
18        $($expansion)*
19    );
20
21    (
22        $cfg:meta => $expansion:tt $(,
23        $($($rest:tt)+)? )?
24    ) => (
25        #[cfg($cfg)]
26        crate::match_cfg! { _ => $expansion } $($(
27
28        #[cfg(not($cfg))]
29        crate::match_cfg! { $($rest)+ } )?)?
30    );
31
32    // Bonus: expression-friendly syntax: `match_cfg!({ … })`
33    ({
34        $($input:tt)*
35    }) => ({
36        crate::match_cfg! { $($input)* }
37    });
38}
39use match_cfg;
40
41#[doc(hidden)]
42/** Not part of the public API */
43pub mod ඞ {
44    pub use ::core;
45}