@@ -1969,17 +1969,17 @@ pub fn trans_tuple_struct(ccx: @mut CrateContext,
1969
1969
1970
1970
trait IdAndTy {
1971
1971
fn id( & self ) -> ast:: node_id;
1972
- fn ty( & self ) -> @ ast:: Ty ;
1972
+ fn ty< ' a> ( & ' a self ) -> & ' a ast:: Ty ;
1973
1973
}
1974
1974
1975
1975
impl IdAndTy for ast:: variant_arg {
1976
1976
fn id( & self ) -> ast:: node_id { self . id }
1977
- fn ty( & self ) -> @ ast:: Ty { self . ty }
1977
+ fn ty< ' a> ( & ' a self ) -> & ' a ast:: Ty { & self . ty }
1978
1978
}
1979
1979
1980
1980
impl IdAndTy for @ast:: struct_field {
1981
1981
fn id( & self ) -> ast:: node_id { self . node. id }
1982
- fn ty( & self ) -> @ ast:: Ty { self . node. ty }
1982
+ fn ty< ' a> ( & ' a self ) -> & ' a ast:: Ty { & self . node. ty }
1983
1983
}
1984
1984
1985
1985
pub fn trans_enum_variant_or_tuple_like_struct<A : IdAndTy >(
@@ -1994,7 +1994,7 @@ pub fn trans_enum_variant_or_tuple_like_struct<A:IdAndTy>(
1994
1994
let fn_args = do args. map |varg| {
1995
1995
ast:: arg {
1996
1996
is_mutbl: false ,
1997
- ty: varg. ty( ) ,
1997
+ ty: copy * varg. ty( ) ,
1998
1998
pat: ast_util:: ident_to_pat(
1999
1999
ccx. tcx. sess. next_node_id( ) ,
2000
2000
codemap:: dummy_sp( ) ,
@@ -2977,8 +2977,12 @@ pub fn trans_crate(sess: session::Session,
2977
2977
do sort::quick_sort(ccx.stats.fn_stats) |&(_, _, insns_a), &(_, _, insns_b)| {
2978
2978
insns_a > insns_b
2979
2979
}
2980
- for ccx.stats.fn_stats.iter().advance |&(name, ms, insns)| {
2981
- io::println(fmt!(" %u insns, %u ms, %s", insns, ms, name));
2980
+ for ccx.stats.fn_stats.iter().advance |tuple| {
2981
+ match *tuple {
2982
+ (ref name, ms, insns) => {
2983
+ io::println(fmt!(" %u insns, %u ms, %s", insns, ms, *name));
2984
+ }
2985
+ }
2982
2986
}
2983
2987
}
2984
2988
if ccx.sess.count_llvm_insns() {
0 commit comments