File tree 2 files changed +29
-11
lines changed
librustc/middle/typeck/check
2 files changed +29
-11
lines changed Original file line number Diff line number Diff line change @@ -555,17 +555,13 @@ impl<'a> LookupContext<'a> {
555
555
param_ty : param_ty ) {
556
556
debug ! ( "push_inherent_candidates_from_param(param_ty={:?})" ,
557
557
param_ty) ;
558
- self . push_inherent_candidates_from_bounds (
559
- rcvr_ty,
560
- self . fcx
561
- . inh
562
- . param_env
563
- . type_param_bounds
564
- . get ( param_ty. idx )
565
- . trait_bounds
566
- . as_slice ( ) ,
567
- restrict_to,
568
- param_numbered ( param_ty. idx ) ) ;
558
+ let i = param_ty. idx ;
559
+ match self . fcx . inh . param_env . type_param_bounds . as_slice ( ) . get ( i) {
560
+ Some ( b) => self . push_inherent_candidates_from_bounds (
561
+ rcvr_ty, b. trait_bounds . as_slice ( ) , restrict_to,
562
+ param_numbered ( param_ty. idx ) ) ,
563
+ None => { }
564
+ }
569
565
}
570
566
571
567
Original file line number Diff line number Diff line change
1
+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ enum Whatever {
12
+ }
13
+
14
+ fn foo ( x : Whatever ) {
15
+ match x {
16
+ Some ( field) => field. access ( ) ,
17
+ //~^ ERROR: mismatched types: expected `Whatever` but found
18
+ //~^^ ERROR: does not implement any method in scope named `access`
19
+ }
20
+ }
21
+
22
+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments