Macro name

Source
macro_rules! name {
    ($value: ident) => { ... };
    ($value: expr) => { ... };
}
Expand description

Create a Name from a string literal or identifier, checked for validity at compile time.

A Name created this way does not own allocated heap memory or a reference counter, so cloning it is extremely cheap.

§Examples

use apollo_compiler::name;

assert_eq!(name!("Query").as_str(), "Query");
assert_eq!(name!(Query).as_str(), "Query");
// error[E0080]: evaluation of constant value failed
// assertion failed: ::apollo_compiler::ast::Name::valid_syntax(\"è_é\")
let invalid = name!("è_é");