Skip to content

Commit 77b3f77

Browse files
authored
Merge pull request sfackler#343 from sfackler/assoc-const
Make constants associated
2 parents 165a334 + 2777703 commit 77b3f77

File tree

19 files changed

+847
-851
lines changed

19 files changed

+847
-851
lines changed

codegen/src/sqlstate.rs

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
use linked_hash_map::LinkedHashMap;
2+
use phf_codegen;
13
use std::fs::File;
2-
use std::io::{Write, BufWriter};
4+
use std::io::{BufWriter, Write};
35
use std::path::Path;
4-
use phf_codegen;
5-
use linked_hash_map::LinkedHashMap;
66

77
const ERRCODES_TXT: &'static str = include_str!("errcodes.txt");
88

@@ -59,7 +59,6 @@ impl SqlState {{
5959
pub fn code(&self) -> &str {{
6060
&self.0
6161
}}
62-
}}
6362
"
6463
).unwrap();
6564
}
@@ -70,14 +69,16 @@ fn make_consts(codes: &LinkedHashMap<String, Vec<String>>, file: &mut BufWriter<
7069
write!(
7170
file,
7271
r#"
73-
/// {code}
74-
pub const {name}: SqlState = SqlState(Cow::Borrowed("{code}"));
72+
/// {code}
73+
pub const {name}: SqlState = SqlState(Cow::Borrowed("{code}"));
7574
"#,
7675
name = name,
7776
code = code,
7877
).unwrap();
7978
}
8079
}
80+
81+
write!(file, "}}").unwrap();
8182
}
8283

8384
fn make_map(codes: &LinkedHashMap<String, Vec<String>>, file: &mut BufWriter<File>) {
@@ -89,7 +90,7 @@ static SQLSTATE_MAP: phf::Map<&'static str, SqlState> = "
8990
).unwrap();
9091
let mut builder = phf_codegen::Map::new();
9192
for (code, names) in codes {
92-
builder.entry(&**code, &names[0]);
93+
builder.entry(&**code, &format!("SqlState::{}", &names[0]));
9394
}
9495
builder.build(file).unwrap();
9596
write!(file, ";\n").unwrap();

codegen/src/type_gen.rs

+1-8
Original file line numberDiff line numberDiff line change
@@ -261,14 +261,7 @@ fn make_impl(w: &mut BufWriter<File>, types: &BTreeMap<u32, Type>) {
261261
}
262262

263263
fn make_consts(w: &mut BufWriter<File>, types: &BTreeMap<u32, Type>) {
264-
write!(
265-
w,
266-
"pub mod consts {{
267-
use types::Type;
268-
use types::type_gen::Inner;
269-
",
270-
).unwrap();
271-
264+
write!(w, "impl Type {{").unwrap();
272265
for type_ in types.values() {
273266
write!(
274267
w,

0 commit comments

Comments
 (0)