1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
pub fn sanitize(v: &str) -> (bool, String) {
match v {
"as" |
"break" |
"const" |
"continue" |
"crate" |
"else" |
"enum" |
"extern" |
"false" |
"fn" |
"for" |
"if" |
"impl" |
"in" |
"let" |
"loop" |
"match" |
"mod" |
"move" |
"mut" |
"pub" |
"ref" |
"return" |
"self" |
"Self" |
"static" |
"struct" |
"super" |
"trait" |
"true" |
"type" |
"unsafe" |
"use" |
"where" |
"while" |
"async" |
"await" |
"dyn" |
"abstract" |
"become" |
"box" |
"do" |
"final" |
"macro" |
"override" |
"priv" |
"typeof" |
"unsized" |
"virtual" |
"yield" |
"try" => (
true,
format!("{}_", v),
),
s => (false, s.into()),
}
}