статическая компиляция экземпляра из данных json в ржавчине
Я хочу создать статический экземпляр во время компиляции (не во время выполнения) из данных JSON, загруженных из файла (аналогично constexpr):
Пример:
// a file in the project /path/to/project/data.json
{
"field1" : "a"
}
// project code:
use serde_json::json;
struct MyStruct {
field1: String
}
// this is what I have, created at runtime
let json = json!(include!("data.json"));
let instance = serde_json::from_value::<MyStruct>(json);
// what I want:
// compile checked and created "statically"
let compiled_instance : MyStruct = static_instance_from_file!("data.json"); // how can this be verified by the compiler?
1 ответ
Вы могли бы использовать
build.rs
для генерации исходного кода Rust в
OUT_DIR
и
include!
это в проект.