Upgrade plugins

This commit is contained in:
Manish Goregaokar 2015-06-14 20:15:31 +05:30
parent 9fbffff604
commit 3cdc412a4c
4 changed files with 9 additions and 7 deletions

View file

@ -34,12 +34,12 @@ impl LintPass for StrToStringPass {
fn is_str(cx: &Context, expr: &ast::Expr) -> bool {
fn walk_ty<'t>(ty: ty::Ty<'t>) -> ty::Ty<'t> {
match ty.sty {
ty::ty_ptr(ref tm) | ty::ty_rptr(_, ref tm) => walk_ty(tm.ty),
ty::TyRef(_, ref tm) | ty::TyRawPtr(ref tm) => walk_ty(tm.ty),
_ => ty
}
}
match walk_ty(expr_ty(cx.tcx, expr)).sty {
ty::ty_str => true,
ty::TyStr => true,
_ => false
}
}

View file

@ -2,8 +2,9 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use syntax::{ast, codemap, visit, ast_map};
use syntax::{ast, codemap, visit};
use syntax::attr::AttrMetaMethods;
use rustc::ast_map;
use rustc::lint::{Context, LintPass, LintArray};
use rustc::middle::ty::expr_ty;
use rustc::middle::{ty, def};
@ -159,8 +160,8 @@ impl LintPass for UnrootedPass {
let t = expr_ty(cx.tcx, &*expr);
match t.sty {
ty::ty_struct(did, _) |
ty::ty_enum(did, _) => {
ty::TyStruct(did, _) |
ty::TyEnum(did, _) => {
if ty::has_attr(cx.tcx, did, "must_root") {
cx.span_lint(UNROOTED_MUST_ROOT, expr.span,
&format!("Expression of type {} must be rooted", t.repr(cx.tcx)));