diff --git a/rust-version b/rust-version index 61205128df..1567a48efc 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -d595b113584f8f446957469951fd5d31adc2a44e +a9ec99f4201ec33026a468ef1289f98a95b4d71a diff --git a/src/bin/miri.rs b/src/bin/miri.rs index 272fd17d43..31ed5f2ccd 100644 --- a/src/bin/miri.rs +++ b/src/bin/miri.rs @@ -27,7 +27,7 @@ struct MiriCompilerCalls { impl rustc_driver::Callbacks for MiriCompilerCalls { fn after_parsing(&mut self, compiler: &interface::Compiler) -> bool { let attr = ( - String::from("miri"), + syntax::symbol::Symbol::intern("miri"), syntax::feature_gate::AttributeType::Whitelisted, ); compiler.session().plugin_attributes.borrow_mut().push(attr); diff --git a/src/fn_call.rs b/src/fn_call.rs index 1fd10ff385..3ff0c1eb18 100644 --- a/src/fn_call.rs +++ b/src/fn_call.rs @@ -3,6 +3,7 @@ use rustc::ty::layout::{Align, LayoutOf, Size}; use rustc::hir::def_id::DefId; use rustc::mir; use syntax::attr; +use syntax::symbol::sym; use rand::RngCore; @@ -141,7 +142,7 @@ pub trait EvalContextExt<'a, 'mir, 'tcx: 'a + 'mir>: crate::MiriEvalContextExt<' ) -> EvalResult<'tcx> { let this = self.eval_context_mut(); let attrs = this.tcx.get_attrs(def_id); - let link_name = match attr::first_attr_value_str_by_name(&attrs, "link_name") { + let link_name = match attr::first_attr_value_str_by_name(&attrs, sym::link_name) { Some(name) => name.as_str(), None => this.tcx.item_name(def_id).as_str(), }; diff --git a/src/helpers.rs b/src/helpers.rs index e9f7741d31..89aba49472 100644 --- a/src/helpers.rs +++ b/src/helpers.rs @@ -14,7 +14,7 @@ pub trait EvalContextExt<'a, 'mir, 'tcx: 'a + 'mir>: crate::MiriEvalContextExt<' this.tcx .crates() .iter() - .find(|&&krate| this.tcx.original_crate_name(krate) == path[0]) + .find(|&&krate| this.tcx.original_crate_name(krate).as_str() == path[0]) .and_then(|krate| { let krate = DefId { krate: *krate, @@ -25,7 +25,7 @@ pub trait EvalContextExt<'a, 'mir, 'tcx: 'a + 'mir>: crate::MiriEvalContextExt<' while let Some(segment) = path_it.next() { for item in mem::replace(&mut items, Default::default()).iter() { - if item.ident.name == *segment { + if item.ident.name.as_str() == *segment { if path_it.peek().is_none() { return Some(ty::Instance::mono(this.tcx.tcx, item.res.def_id())); } diff --git a/src/lib.rs b/src/lib.rs index 683eee0cb7..d3e30bbdde 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -37,6 +37,7 @@ pub use rustc_mir::interpret::*; pub use rustc_mir::interpret::{self, AllocMap, PlaceTy}; use syntax::attr; use syntax::source_map::DUMMY_SP; +use syntax::symbol::sym; pub use crate::fn_call::EvalContextExt as MissingFnsEvalContextExt; pub use crate::operator::EvalContextExt as OperatorEvalContextExt; @@ -478,7 +479,7 @@ impl<'a, 'mir, 'tcx> Machine<'a, 'mir, 'tcx> for Evaluator<'tcx> { memory_extra: &Self::MemoryExtra, ) -> EvalResult<'tcx, Cow<'tcx, Allocation>> { let attrs = tcx.get_attrs(def_id); - let link_name = match attr::first_attr_value_str_by_name(&attrs, "link_name") { + let link_name = match attr::first_attr_value_str_by_name(&attrs, sym::link_name) { Some(name) => name.as_str(), None => tcx.item_name(def_id).as_str(), };