summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2017-01-13 21:19:10 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2017-01-13 21:19:10 +0100
commitaaa7280a08b65aebe42b5405aec2bf72ae780885 (patch)
tree88644aee06f8dc7b42e6aea475c85fb3e9b1fbe8
parent8c54a566457a1c4aacabf72977380c25c7fa10a1 (diff)
Update aster and syntex.
-rw-r--r--libbindgen/Cargo.toml6
-rw-r--r--libbindgen/src/codegen/helpers.rs5
-rw-r--r--libbindgen/src/codegen/mod.rs11
-rw-r--r--libbindgen/src/ir/context.rs3
4 files changed, 14 insertions, 11 deletions
diff --git a/libbindgen/Cargo.toml b/libbindgen/Cargo.toml
index f5498bc9..489434b1 100644
--- a/libbindgen/Cargo.toml
+++ b/libbindgen/Cargo.toml
@@ -29,12 +29,12 @@ cfg-if = "0.1.0"
clang-sys = { version = "0.12", features = ["runtime", "clang_3_9"] }
lazy_static = "0.2.1"
rustc-serialize = "0.3.19"
-syntex_syntax = "0.50"
+syntex_syntax = "0.54"
regex = "0.2"
[dependencies.aster]
features = ["with-syntex"]
-version = "0.34"
+version = "0.38"
[dependencies.env_logger]
optional = true
@@ -46,7 +46,7 @@ version = "0.3"
[dependencies.quasi]
features = ["with-syntex"]
-version = "0.26"
+version = "0.29"
[features]
assert_no_dangling_items = []
diff --git a/libbindgen/src/codegen/helpers.rs b/libbindgen/src/codegen/helpers.rs
index c09f0071..b4cc75f5 100644
--- a/libbindgen/src/codegen/helpers.rs
+++ b/libbindgen/src/codegen/helpers.rs
@@ -153,7 +153,7 @@ pub mod ast_ty {
}
pub fn float_expr(f: f64) -> P<ast::Expr> {
- use aster::str::ToInternedString;
+ use aster::symbol::ToSymbol;
let mut string = f.to_string();
// So it gets properly recognised as a floating point constant.
@@ -161,8 +161,7 @@ pub mod ast_ty {
string.push('.');
}
- let interned_str = string.as_str().to_interned_string();
- let kind = ast::LitKind::FloatUnsuffixed(interned_str);
+ let kind = ast::LitKind::FloatUnsuffixed(string.as_str().to_symbol());
aster::AstBuilder::new().expr().lit().build_lit(kind)
}
diff --git a/libbindgen/src/codegen/mod.rs b/libbindgen/src/codegen/mod.rs
index f8352cc8..b223783e 100644
--- a/libbindgen/src/codegen/mod.rs
+++ b/libbindgen/src/codegen/mod.rs
@@ -1863,16 +1863,19 @@ impl ToRustTy for Type {
if let ast::TyKind::Path(_, ref mut path) = inner_ty.node {
let template_args = template_args.iter()
.map(|arg| arg.to_rust_ty(ctx))
- .collect();
+ .collect::<Vec<_>>();
- path.segments.last_mut().unwrap().parameters =
- ast::PathParameters::AngleBracketed(
+ path.segments.last_mut().unwrap().parameters = if template_args.is_empty() {
+ None
+ } else {
+ Some(P(ast::PathParameters::AngleBracketed(
ast::AngleBracketedParameterData {
lifetimes: vec![],
types: P::from_vec(template_args),
bindings: P::from_vec(vec![]),
}
- );
+ )))
+ }
}
P(inner_ty)
diff --git a/libbindgen/src/ir/context.rs b/libbindgen/src/ir/context.rs
index c3de2ca8..06137672 100644
--- a/libbindgen/src/ir/context.rs
+++ b/libbindgen/src/ir/context.rs
@@ -461,6 +461,7 @@ impl<'ctx> BindgenContext<'ctx> {
pub fn gen<F, Out>(&mut self, cb: F) -> Out
where F: FnOnce(&Self) -> Out,
{
+ use aster::symbol::ToSymbol;
use syntax::ext::expand::ExpansionConfig;
use syntax::codemap::{ExpnInfo, MacroBang, NameAndSpan};
use syntax::ext::base;
@@ -475,7 +476,7 @@ impl<'ctx> BindgenContext<'ctx> {
ctx.0.bt_push(ExpnInfo {
call_site: self.span,
callee: NameAndSpan {
- format: MacroBang(parse::token::intern("")),
+ format: MacroBang("".to_symbol()),
allow_internal_unstable: false,
span: None,
},