Update codegen to 2018 edition
diff --git a/codegen/Cargo.toml b/codegen/Cargo.toml
index 70274fa..66c1a7e 100644
--- a/codegen/Cargo.toml
+++ b/codegen/Cargo.toml
@@ -1,7 +1,8 @@
[package]
name = "syn_codegen"
-version = "0.1.0"
+version = "0.0.0"
authors = ["Nika Layzell <nika@thelayzells.com>"]
+edition = "2018"
publish = false # this is an internal crate which should never be published
@@ -13,8 +14,7 @@
inflections = "1.1"
proc-macro2 = "0.4"
rustfmt-nightly = { git = "https://github.com/rust-lang-nursery/rustfmt" }
-serde = "1.0.88"
-serde_derive = "1.0.88"
+serde = { version = "1.0.88", features = ["derive"] }
serde_json = "1.0.38"
toml = "0.4.10"
diff --git a/codegen/src/gen.rs b/codegen/src/gen.rs
index cb4bab6..291758e 100644
--- a/codegen/src/gen.rs
+++ b/codegen/src/gen.rs
@@ -12,6 +12,8 @@
use crate::types;
use proc_macro2::TokenStream;
+use quote::quote;
+use rustfmt_nightly as rustfmt;
use std::fs::File;
use std::io::Write;
@@ -24,7 +26,7 @@
use crate::types;
use inflections::Inflect;
use proc_macro2::{Span, TokenStream};
- use quote::TokenStreamExt;
+ use quote::{quote, TokenStreamExt};
use syn::*;
#[derive(Default)]
@@ -358,7 +360,7 @@
features.any.contains("full") && features.any.len() == 1
}
- let mut res = simple_visit(t, kind, name);
+ let res = simple_visit(t, kind, name);
let target = defs.types.iter().find(|ty| ty.ident == *t).unwrap();
diff --git a/codegen/src/json.rs b/codegen/src/json.rs
index d870a64..66803ee 100644
--- a/codegen/src/json.rs
+++ b/codegen/src/json.rs
@@ -1,5 +1,7 @@
use crate::types;
+use serde::{Serialize, Deserialize};
+
use std::collections::BTreeMap;
use std::fs::{self, File};
use std::io::prelude::*;
diff --git a/codegen/src/main.rs b/codegen/src/main.rs
index 7ec9d2e..987235e 100644
--- a/codegen/src/main.rs
+++ b/codegen/src/main.rs
@@ -13,20 +13,6 @@
#![recursion_limit = "128"]
#![allow(clippy::needless_pass_by_value)]
-extern crate indexmap;
-extern crate inflections;
-extern crate proc_macro2;
-#[macro_use]
-extern crate quote;
-extern crate rustfmt_nightly as rustfmt;
-#[macro_use]
-extern crate syn;
-extern crate serde;
-#[macro_use]
-extern crate serde_derive;
-extern crate serde_json;
-extern crate toml;
-
mod gen;
mod json;
mod parse;
diff --git a/codegen/src/parse.rs b/codegen/src/parse.rs
index eff8539..08aefd1 100644
--- a/codegen/src/parse.rs
+++ b/codegen/src/parse.rs
@@ -1,7 +1,8 @@
use crate::types;
use indexmap::IndexMap;
-use syn::{Data, DataStruct, DeriveInput, Ident, Item};
+use quote::quote;
+use syn::{parse_quote, Data, DataStruct, DeriveInput, Ident, Item};
use std::collections::BTreeMap;
use std::fs::File;
@@ -246,6 +247,7 @@
use crate::types;
use proc_macro2::TokenStream;
+ use quote::quote;
use syn;
use syn::parse::{Parse, ParseStream, Result};
use syn::*;
diff --git a/codegen/src/types.rs b/codegen/src/types.rs
index 1e9eedf..0f8bd931 100644
--- a/codegen/src/types.rs
+++ b/codegen/src/types.rs
@@ -1,5 +1,5 @@
use indexmap::IndexMap;
-use serde::{Deserialize, Deserializer};
+use serde::{Serialize, Deserialize, Deserializer};
use std::collections::{BTreeMap, BTreeSet};