From 242606c79339e2d2e3cf15cc8f02bd6ebc0b8c44 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 12 Jul 2013 01:56:40 -0700 Subject: [PATCH] Clean up various warnings throughout the codebase --- src/librustc/middle/trans/base.rs | 2 +- src/librustc/middle/trans/callee.rs | 18 +++++------ src/librustc/middle/trans/controlflow.rs | 2 +- src/librustc/middle/ty.rs | 40 +++++++++++++----------- src/librustc/middle/typeck/mod.rs | 2 +- src/libsyntax/ext/pipes/proto.rs | 3 +- 6 files changed, 35 insertions(+), 32 deletions(-) diff --git a/src/librustc/middle/trans/base.rs b/src/librustc/middle/trans/base.rs index 1173fa49419..6d3f5d50b4b 100644 --- a/src/librustc/middle/trans/base.rs +++ b/src/librustc/middle/trans/base.rs @@ -1428,7 +1428,7 @@ pub fn with_scope(bcx: block, pub fn with_scope_result(bcx: block, opt_node_info: Option, - name: &str, + _name: &str, f: &fn(block) -> Result) -> Result { let _icx = push_ctxt("with_scope_result"); diff --git a/src/librustc/middle/trans/callee.rs b/src/librustc/middle/trans/callee.rs index 7b7989879a6..42f6a4dad6b 100644 --- a/src/librustc/middle/trans/callee.rs +++ b/src/librustc/middle/trans/callee.rs @@ -197,7 +197,7 @@ fn get_impl_resolutions(bcx: block, impl_id: ast::def_id) -> typeck::vtable_res { if impl_id.crate == ast::local_crate { - *bcx.ccx().maps.vtable_map.get(&impl_id.node) + bcx.ccx().maps.vtable_map.get_copy(&impl_id.node) } else { // XXX: This is a temporary hack to work around not properly // exporting information about resolutions for impls. @@ -670,15 +670,13 @@ pub fn trans_call_inner(in_cx: block, None => { assert!(ty::type_is_immediate(bcx.tcx(), ret_ty)) } Some(expr::Ignore) => { // drop the value if it is not being saved. - unsafe { - if ty::type_needs_drop(bcx.tcx(), ret_ty) { - if ty::type_is_immediate(bcx.tcx(), ret_ty) { - let llscratchptr = alloc_ty(bcx, ret_ty, "__ret"); - Store(bcx, llresult, llscratchptr); - bcx = glue::drop_ty(bcx, llscratchptr, ret_ty); - } else { - bcx = glue::drop_ty(bcx, llretslot, ret_ty); - } + if ty::type_needs_drop(bcx.tcx(), ret_ty) { + if ty::type_is_immediate(bcx.tcx(), ret_ty) { + let llscratchptr = alloc_ty(bcx, ret_ty, "__ret"); + Store(bcx, llresult, llscratchptr); + bcx = glue::drop_ty(bcx, llscratchptr, ret_ty); + } else { + bcx = glue::drop_ty(bcx, llretslot, ret_ty); } } } diff --git a/src/librustc/middle/trans/controlflow.rs b/src/librustc/middle/trans/controlflow.rs index 81260428f24..e03a6e7c167 100644 --- a/src/librustc/middle/trans/controlflow.rs +++ b/src/librustc/middle/trans/controlflow.rs @@ -254,7 +254,7 @@ pub fn trans_break_cont(bcx: block, // Locate closest loop block, outputting cleanup as we go. let mut unwind = bcx; let mut cur_scope = unwind.scope; - let mut target = unwind; + let mut target; loop { cur_scope = match cur_scope { Some(@scope_info { diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index a79f08b33c9..8e23f5431bc 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -3621,25 +3621,29 @@ pub fn trait_method_def_ids(cx: ctxt, id: ast::def_id) -> @~[def_id] { } pub fn impl_trait_ref(cx: ctxt, id: ast::def_id) -> Option<@TraitRef> { - *do cx.impl_trait_cache.find_or_insert_with(id) |_| { - if id.crate == ast::local_crate { - debug!("(impl_trait_ref) searching for trait impl %?", id); - match cx.items.find(&id.node) { - Some(&ast_map::node_item(@ast::item { - node: ast::item_impl(_, ref opt_trait, _, _), - _}, - _)) => { - match opt_trait { - &Some(ref t) => Some(ty::node_id_to_trait_ref(cx, t.ref_id)), - &None => None - } - } - _ => None - } - } else { - csearch::get_impl_trait(cx, id) - } + match cx.impl_trait_cache.find(&id) { + Some(&ret) => { return ret; } + None => {} } + let ret = if id.crate == ast::local_crate { + debug!("(impl_trait_ref) searching for trait impl %?", id); + match cx.items.find(&id.node) { + Some(&ast_map::node_item(@ast::item { + node: ast::item_impl(_, ref opt_trait, _, _), + _}, + _)) => { + match opt_trait { + &Some(ref t) => Some(ty::node_id_to_trait_ref(cx, t.ref_id)), + &None => None + } + } + _ => None + } + } else { + csearch::get_impl_trait(cx, id) + }; + cx.impl_trait_cache.insert(id, ret); + return ret; } pub fn ty_to_def_id(ty: t) -> Option { diff --git a/src/librustc/middle/typeck/mod.rs b/src/librustc/middle/typeck/mod.rs index 6f5dde74b5c..b8b8ab3145d 100644 --- a/src/librustc/middle/typeck/mod.rs +++ b/src/librustc/middle/typeck/mod.rs @@ -303,7 +303,7 @@ fn check_main_fn_ty(ccx: &CrateCtxt, let tcx = ccx.tcx; let main_t = ty::node_id_to_type(tcx, main_id); match ty::get(main_t).sty { - ty::ty_bare_fn(ref fn_ty) => { + ty::ty_bare_fn(*) => { match tcx.items.find(&main_id) { Some(&ast_map::node_item(it,_)) => { match it.node { diff --git a/src/libsyntax/ext/pipes/proto.rs b/src/libsyntax/ext/pipes/proto.rs index 75424b60390..5866b8a5af5 100644 --- a/src/libsyntax/ext/pipes/proto.rs +++ b/src/libsyntax/ext/pipes/proto.rs @@ -144,7 +144,8 @@ pub struct protocol_ { impl protocol_ { /// Get a state. pub fn get_state(&self, name: &str) -> state { - *self.states.iter().find_(|i| name == i.name).get() + let mut i = self.states.iter(); + *i.find_(|i| name == i.name).get() } pub fn get_state_by_id(&self, id: uint) -> state { self.states[id] }