mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			634 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			634 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // Check that the hash for a method call is sensitive to the traits in
 | |
| // scope.
 | |
| 
 | |
| //@ revisions: rpass1 rpass2
 | |
| //@ compile-flags: -Z query-dep-graph
 | |
| 
 | |
| #![feature(rustc_attrs)]
 | |
| 
 | |
| fn test<T>() { }
 | |
| 
 | |
| trait Trait1 {
 | |
|     fn method(&self) { }
 | |
| }
 | |
| 
 | |
| impl Trait1 for () { }
 | |
| 
 | |
| trait Trait2 {
 | |
|     fn method(&self) { }
 | |
| }
 | |
| 
 | |
| impl Trait2 for () { }
 | |
| 
 | |
| mod mod3 {
 | |
|     #[cfg(rpass1)]
 | |
|     use Trait1;
 | |
|     #[cfg(rpass2)]
 | |
|     use Trait2;
 | |
| 
 | |
|     #[rustc_clean(except="typeck", cfg="rpass2")]
 | |
|     fn bar() {
 | |
|         ().method();
 | |
|     }
 | |
| 
 | |
|     #[rustc_clean(cfg="rpass2")]
 | |
|     fn baz() {
 | |
|         22; // no method call, traits in scope don't matter
 | |
|     }
 | |
| }
 | |
| 
 | |
| fn main() { }
 | 
