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
use serde_json::*; use std::sync::Arc; fn load_facts() -> Result<Vec<String>> { let data: &[u8] = include_bytes!("./printerfacts.json"); let result: Vec<String> = serde_json::from_slice(data)?; Ok(result) } pub type Facts = Arc<Vec<String>>; pub fn make() -> Facts { let facts = load_facts().unwrap(); // could panic, i guess Arc::new(facts) } #[cfg(test)] mod tests { #[test] fn load_facts() { assert!(super::load_facts().is_ok()); } }