File tree Expand file tree Collapse file tree 2 files changed +21
-3
lines changed
rustc/middle/typeck/check Expand file tree Collapse file tree 2 files changed +21
-3
lines changed Original file line number Diff line number Diff line change @@ -140,6 +140,26 @@ struct lookup {
140
140
ty:: ty_class( did, substs) => {
141
141
self . add_candidates_from_class ( did, substs) ;
142
142
}
143
+ ty:: ty_self => {
144
+ // Call is of the form "self.foo()" and appears in one
145
+ // of a trait's provided methods.
146
+ let self_def_id = match self . fcx . self_info {
147
+ some( self_info) => self_info. def_id ,
148
+ none => {
149
+ // Shouldn't happen; there should always be a
150
+ // self_info in this case.
151
+ self . tcx ( ) . sess . bug ( ~"unexpected `none` for self_info")
152
+ }
153
+ } ;
154
+
155
+ let substs = {
156
+ self_r: none,
157
+ self_ty: none,
158
+ tps: ~[ ] ,
159
+ } ;
160
+
161
+ self . add_candidates_from_trait ( self_def_id, substs) ;
162
+ }
143
163
_ => ( )
144
164
}
145
165
Original file line number Diff line number Diff line change 1
1
//xfail-test
2
2
3
- // Right now, this fails with "attempted access of field `purr` on
4
- // type `self`, but no public field or method with that name was
5
- // found".
3
+ // Currently failing with an ICE in trans.
6
4
7
5
trait Cat {
8
6
fn meow ( ) -> bool ;
You can’t perform that action at this time.
0 commit comments