статическая компиляция экземпляра из данных 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! это в проект.

Другие вопросы по тегам