mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-03 22:49:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			1002 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1002 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
    1|       |// Regression test for #93054: Functions using uninhabited types often only have a single,
 | 
						|
    2|       |// unreachable basic block which doesn't get instrumented. This should not cause llvm-cov to fail.
 | 
						|
    3|       |// Since these kinds functions can't be invoked anyway, it's ok to not have coverage data for them.
 | 
						|
    4|       |
 | 
						|
    5|       |// compile-flags: --edition=2021
 | 
						|
    6|       |
 | 
						|
    7|       |enum Never { }
 | 
						|
    8|       |
 | 
						|
    9|       |impl Never {
 | 
						|
   10|       |    fn foo(self) {
 | 
						|
   11|       |        match self { }
 | 
						|
   12|       |        make().map(|never| match never { });
 | 
						|
   13|       |    }
 | 
						|
   14|       |
 | 
						|
   15|       |    fn bar(&self) {
 | 
						|
   16|       |        match *self { }
 | 
						|
   17|       |    }
 | 
						|
   18|       |}
 | 
						|
   19|       |
 | 
						|
   20|      0|async fn foo2(never: Never) {
 | 
						|
   21|       |    match never { }
 | 
						|
   22|       |}
 | 
						|
   23|       |
 | 
						|
   24|      0|fn make() -> Option<Never> {
 | 
						|
   25|      0|    None
 | 
						|
   26|      0|}
 | 
						|
   27|       |
 | 
						|
   28|      1|fn main() { }
 | 
						|
 |