[][src]Macro concat_strs::concat_strs

macro_rules! concat_strs {
    #[proc_macro_hack] => { ... };
}

Concatenates a number of &str expressions, &str literals, and char literals together.

Generated code for

use concat_strs::concat_strs;

let bar = "some &str expression";
let s = concat_strs!(
    "foo",
    ' ',
    bar,
    'c',
    "baz",
);
assert_eq!(s, "foo some &str expressioncbaz");

is roughly

let bar = "some &str expression";
let s = {
    let tmp1 = bar;
    let tmp1_len = bar.len();
    let mut ret = String::with_capacity(tmp1_len + 8);
    ret.push_str("foo");
    ret.push(' ');
    ret.push_str(tmp1);
    ret.push('c');
    ret.push_str("baz");
    ret
};
assert_eq!(s, "foo some &str expressioncbaz");

This is the fastest way to build a string from components.