]> git.proxmox.com Git - rustc.git/blob - vendor/salsa/examples/compiler/main.rs
New upstream version 1.48.0+dfsg1
[rustc.git] / vendor / salsa / examples / compiler / main.rs
1 use std::sync::Arc;
2
3 mod compiler;
4 mod implementation;
5 mod interner;
6 mod values;
7
8 use self::compiler::Compiler;
9 use self::implementation::DatabaseImpl;
10 use self::interner::Interner;
11
12 static INPUT_STR: &'static str = r#"
13 lorem,ipsum
14 dolor,sit,amet,
15 consectetur,adipiscing,elit
16 "#;
17
18 #[test]
19 fn test() {
20 let mut db = DatabaseImpl::default();
21
22 db.set_input_string(Arc::new(INPUT_STR.to_owned()));
23
24 let all_fields = db.all_fields();
25 assert_eq!(
26 format!("{:?}", all_fields),
27 "[Field(0), Field(1), Field(2), Field(3), Field(4), Field(5), Field(6), Field(7)]"
28 );
29 }
30
31 fn main() {
32 let mut db = DatabaseImpl::default();
33
34 db.set_input_string(Arc::new(INPUT_STR.to_owned()));
35
36 for field in db.all_fields().iter() {
37 let field_data = db.lookup_intern_field(*field);
38 println!("{:?} => {:?}", field, field_data);
39 }
40 }