Rust 全局不可变哈希集

Rust 全局不可变哈希集,rust,Rust,如何创建一个不可变的、全局可访问的哈希集来存储编译时已知的值? 我知道全局状态是不需要的,但由于它是不可变的,所以它可能仍然是可以接受的,对吗 static global_set:HashSet=create_set(); fn create_set()->HashSet{ 让mut new_set:HashSet=HashSet::new(); 新的_set.insert(“ONE.to_string()); 新建_set.insert(“TWO.to_string()); 新的_set.in

如何创建一个不可变的、全局可访问的哈希集来存储编译时已知的值? 我知道全局状态是不需要的,但由于它是不可变的,所以它可能仍然是可以接受的,对吗

static global_set:HashSet=create_set();
fn create_set()->HashSet{
让mut new_set:HashSet=HashSet::new();
新的_set.insert(“ONE.to_string());
新建_set.insert(“TWO.to_string());
新的_set.insert(“三个“.to_string());
新集
}
这是行不通的

error[E0015]: calls in statics are limited to constant functions, tuple structs and tuple variants
  --> src\lib.rs:62:38
   |
62 | static cclass_map: HashSet<String> = populate_hashmap();
   |                                      ^^^^^^^^^^^^^^^^^^
error[E0015]:静态中的调用仅限于常量函数、元组结构和元组变量
-->src\lib.rs:62:38
|
62 |静态cclass_map:HashSet=populate_hashmap();
|                                      ^^^^^^^^^^^^^^^^^^
如果我将
create\u集
设为常量fn,它会抱怨
常量fn中的可变引用不稳定

我觉得一定有更好的办法。 怎样才能做得更好?或者我怎样才能让它工作