[][src]Macro rustc_data_structures::const_cstr

macro_rules! const_cstr {
    ($s:expr) => { ... };
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

This macro creates a zero-overhead &CStr by adding a NUL terminator to the string literal passed into it at compile-time. Use it like:

    let some_const_cstr = const_cstr!("abc");

The above is roughly equivalent to:

    let some_const_cstr = CStr::from_bytes_with_nul(b"abc\0").unwrap()

Note that macro only checks the string literal for internal NULs if debug-assertions are enabled in order to avoid runtime overhead in release builds.