Unwrap pointers and miscellany for unrooted_must_root check

This commit is contained in:
Manish Goregaokar 2014-09-16 23:31:40 +05:30
parent bded5c3703
commit d241826987
3 changed files with 9 additions and 0 deletions

View file

@ -62,6 +62,12 @@ impl LintPass for TransmutePass {
}
fn lint_unrooted_ty(cx: &Context, ty: &ast::Ty, warning: &str) {
let ty = match ty.node {
ast::TyBox(ref t) | ast::TyUniq(ref t) |
ast::TyVec(ref t) | ast::TyFixedLengthVec(ref t, _) |
ast::TyPtr(ast::MutTy { ty: ref t, ..}) | ast::TyRptr(_, ast::MutTy { ty: ref t, ..}) => &**t,
_ => ty
};
match ty.node {
ast::TyPath(_, _, id) => {
match cx.tcx.def_map.borrow().get_copy(&id) {