File tree Expand file tree Collapse file tree 4 files changed +20
-10
lines changed Expand file tree Collapse file tree 4 files changed +20
-10
lines changed Original file line number Diff line number Diff line change @@ -707,7 +707,7 @@ impl resolve_methods for infer_ctxt {
707
707
708
708
fn resolve_var < T : copy to_str > (
709
709
vb : vals_and_bindings < T > , bot_guard : fn ( T ) ->bool ,
710
- vid : int ) -> fres < T > {
710
+ vid : int , unbound : fn ( ) -> fres < T > ) -> fres < T > {
711
711
712
712
let { root: _ , bounds } = self . get ( vb, vid as uint ) ;
713
713
@@ -724,16 +724,24 @@ impl resolve_methods for infer_ctxt {
724
724
{ ub : _, lb : some ( t) } if !bot_guard ( t) { ok ( t) }
725
725
{ ub: some ( t) , lb: _ } { ok ( t) }
726
726
{ ub: _, lb: some ( t) } { ok ( t) }
727
- { ub: none, lb: none } { self . rerr ( vid ) }
727
+ { ub: none, lb: none } { unbound ( ) }
728
728
}
729
729
}
730
730
731
731
fn resolve_ty_var ( vid : int ) -> fres < ty:: t > {
732
- ret self . resolve_var ( self . vb , { |t| type_is_bot ( t) } , vid) ;
732
+ ret self . resolve_var (
733
+ self . vb ,
734
+ { |t| type_is_bot ( t) } ,
735
+ vid,
736
+ { || ok ( ty:: mk_bot ( self . tcx ) ) } ) ;
733
737
}
734
738
735
739
fn resolve_region_var ( rid : int ) -> fres < ty:: region > {
736
- ret self . resolve_var ( self . rb , { |_t| false } , rid) ;
740
+ ret self . resolve_var (
741
+ self . rb ,
742
+ { |_t| false } ,
743
+ rid,
744
+ { || err ( rid) } ) ;
737
745
}
738
746
739
747
fn resolve_ty ( typ : ty:: t ) -> fres < ty:: t > {
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ fn main ( ) {
2
+ // We will infer this to have the type vec[bot]
3
+ let _foo = [ ] ;
4
+ }
Original file line number Diff line number Diff line change 1
1
// Just a grab bag of stuff that you wouldn't want to actually write.
2
2
3
- fn strange ( ) -> bool { let _x: bool = ret true ; }
3
+ fn strange ( ) -> bool { let _x = ret true ; }
4
4
5
5
fn funny ( ) {
6
6
fn f ( _x : ( ) ) { }
@@ -19,8 +19,8 @@ fn zombiejesus() {
19
19
do {
20
20
while ( ret) {
21
21
if ( ret) {
22
- alt check ( ret) {
23
- 1 {
22
+ alt ( ret) {
23
+ _ {
24
24
if ( ret) {
25
25
ret
26
26
} else {
@@ -51,7 +51,7 @@ fn canttouchthis() -> uint {
51
51
pure fn p ( ) -> bool { true }
52
52
let _a = ( assert ( true ) ) == ( check ( p ( ) ) ) ;
53
53
let _c = ( check ( p ( ) ) ) == ( ) ;
54
- let _b: bool = ( log ( debug, 0 ) == ( ret 0 u) ) ;
54
+ let _b = ( log ( debug, 0 ) == ( ret 0 u) ) ;
55
55
}
56
56
57
57
fn angrydome ( ) {
You can’t perform that action at this time.
0 commit comments