File tree Expand file tree Collapse file tree 3 files changed +40
-4
lines changed Expand file tree Collapse file tree 3 files changed +40
-4
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9
9
refs/heads/incoming: b50030718cf28f2a5a81857a26b57442734fe854
10
- refs/heads/dist-snap: 846545a6e19745dddcbefb1e690a63eea15a0884
10
+ refs/heads/dist-snap: 13aa18891c0615f8db193ae61e80fa16f567afd1
11
11
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
12
12
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
13
13
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
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
Original file line number Diff line number Diff line change
1
+ // Copyright 2013 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
+ // issue #6698
12
+
13
+ fn V ( ) -> bool {
14
+ std:: clone:: Clone :: clone ( true ) //~ ERROR error: unresolved name `std::clone::Clone::clone`.
15
+ }
16
+
17
+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments