Upgrade to rustc 1.18.0-nightly (474f7a91e 2017-03-31)

This commit is contained in:
Simon Sapin 2017-03-31 15:09:04 +02:00
parent 955d3a8b87
commit de01c59891
3 changed files with 13 additions and 14 deletions

View file

@ -138,7 +138,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnrootedPass {
visit::FnKind::Closure(_) => return, visit::FnKind::Closure(_) => return,
}; };
if !in_derive_expn(cx, span) { if !in_derive_expn(span) {
let def_id = cx.tcx.hir.local_def_id(id); let def_id = cx.tcx.hir.local_def_id(id);
let ty = cx.tcx.item_type(def_id); let ty = cx.tcx.item_type(def_id);

View file

@ -3,7 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use rustc::hir::def_id::DefId; use rustc::hir::def_id::DefId;
use rustc::lint::{LateContext, LintContext}; use rustc::lint::LateContext;
use syntax::codemap::{ExpnFormat, Span}; use syntax::codemap::{ExpnFormat, Span};
/// check if a DefId's path matches the given absolute type path /// check if a DefId's path matches the given absolute type path
@ -28,15 +28,14 @@ pub fn match_def_path(cx: &LateContext, def_id: DefId, path: &[&str]) -> bool {
.all(|(nm, p)| &*nm.as_interned_str() == *p) .all(|(nm, p)| &*nm.as_interned_str() == *p)
} }
pub fn in_derive_expn(cx: &LateContext, span: Span) -> bool { pub fn in_derive_expn(span: Span) -> bool {
cx.sess().codemap().with_expn_info(span.expn_id, if let Some(i) = span.ctxt.outer().expn_info() {
|info| { if let ExpnFormat::MacroAttribute(n) = i.callee.format {
if let Some(i) = info { n.as_str().contains("derive")
if let ExpnFormat::MacroAttribute(n) = i.callee.format { } else {
if n.as_str().contains("derive") { false
true }
} else { false } } else {
} else { false } false
} else { false } }
})
} }

View file

@ -1 +1 @@
cf69238b82661f5fcb6488e31ef27977f5d2cb81 474f7a91eec8cba83b7eb7a578a7adb70614f877