File tree Expand file tree Collapse file tree 2 files changed +23
-4
lines changed
branches/snap-stage3/src/librustc/middle Expand file tree Collapse file tree 2 files changed +23
-4
lines changed Original file line number Diff line number Diff line change 1
1
---
2
2
refs/heads/master: 2d28d645422c1617be58c8ca7ad9a457264ca850
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
- refs/heads/snap-stage3: 45441e046b5de6216fe799bdb4d2d49dfe1bb1d3
4
+ refs/heads/snap-stage3: 394ac1aae4d8b23b65a2165b2cf00c66936cd437
5
5
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
Original file line number Diff line number Diff line change @@ -4595,7 +4595,7 @@ impl Resolver {
4595
4595
}
4596
4596
4597
4597
let name = * path. idents. last( ) ;
4598
- match self . resolve_definition_of_name_in_module( containing_module,
4598
+ let def = match self . resolve_definition_of_name_in_module( containing_module,
4599
4599
name,
4600
4600
namespace,
4601
4601
xray) {
@@ -4604,9 +4604,28 @@ impl Resolver {
4604
4604
return None ;
4605
4605
}
4606
4606
ChildNameDefinition ( def) | ImportNameDefinition ( def) => {
4607
- return Some ( def) ;
4607
+ def
4608
4608
}
4609
- }
4609
+ } ;
4610
+ match containing_module. kind {
4611
+ TraitModuleKind | ImplModuleKind => {
4612
+ match self . method_map. find( & name) {
4613
+ Some ( s) => {
4614
+ match containing_module. def_id {
4615
+ Some ( def_id) if s. contains( & def_id) => {
4616
+ debug ! ( "containing module was a trait or impl \
4617
+ and name was a method -> not resolved") ;
4618
+ return None ;
4619
+ } ,
4620
+ _ => ( ) ,
4621
+ }
4622
+ } ,
4623
+ None => ( ) ,
4624
+ }
4625
+ } ,
4626
+ _ => ( ) ,
4627
+ } ;
4628
+ return Some ( def) ;
4610
4629
}
4611
4630
4612
4631
/// Invariant: This must be called only during main resolution, not during
You can’t perform that action at this time.
0 commit comments