pub fn substitute_keyword(input: &str) -> Option<&'static str> {
Some(match input {
"as" => "as_",
"async" => "async_",
"await" => "await_",
"break" => "break_",
"const" => "const_",
"continue" => "continue_",
"crate" => "crate_",
"dyn" => "dyn_",
"else" => "else_",
"enum" => "enum_",
"extern" => "extern_",
"false" => "false_",
"fn" => "fn_",
"for" => "for_",
"if" => "if_",
"impl" => "impl_",
"in" => "in_",
"let" => "let_",
"loop" => "loop_",
"match" => "match_",
"mod" => "mod_",
"move" => "move_",
"mut" => "mut_",
"pub" => "pub_",
"ref" => "ref_",
"return" => "return_",
"self" => "self_",
"Self" => "Self_",
"static" => "static_",
"struct" => "struct_",
"super" => "super_",
"trait" => "trait_",
"true" => "true_",
"type" => "ty",
"unsafe" => "unsafe_",
"use" => "use_",
"where" => "where_",
"while" => "while_",
"abstract" => "abstract_",
"become" => "become_",
"box" => "box_",
"do" => "do_",
"final" => "final_",
"macro" => "macro_",
"override" => "override_",
"priv" => "priv_",
"typeof" => "typeof_",
"unsized" => "unsized_",
"virtual" => "virtual_",
"yield" => "yield_",
_ => return None,
})
}