7 releases

Uses old Rust 2015

0.1.6 Aug 14, 2019
0.1.5 Mar 6, 2019
0.1.4 Dec 2, 2018
0.1.3 Apr 8, 2018
0.1.2 Feb 1, 2018

#1876 in Procedural macros

Download history 516/week @ 2022-12-01 700/week @ 2022-12-08 694/week @ 2022-12-15 529/week @ 2022-12-22 565/week @ 2022-12-29 602/week @ 2023-01-05 738/week @ 2023-01-12 983/week @ 2023-01-19 782/week @ 2023-01-26 852/week @ 2023-02-02 848/week @ 2023-02-09 1073/week @ 2023-02-16 938/week @ 2023-02-23 692/week @ 2023-03-02 684/week @ 2023-03-09 774/week @ 2023-03-16

3,268 downloads per month

MIT license

3KB
64 lines

cstr

CI Crates.io Docs

A macro for getting &'static CStr from literal or identifier.

This macro checks whether the given literal is valid for CStr at compile time, and returns a static reference of CStr.

This macro can be used to to initialize constants.

Example

use cstr::cstr;
use std::ffi::CStr;

let test = cstr!(b"hello\xff");
assert_eq!(test, CStr::from_bytes_with_nul(b"hello\xff\0").unwrap());
let test = cstr!("hello");
assert_eq!(test, CStr::from_bytes_with_nul(b"hello\0").unwrap());
let test = cstr!(hello);
assert_eq!(test, CStr::from_bytes_with_nul(b"hello\0").unwrap());

Dependencies

~0.7–1MB
~25K SLoC