mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	 6da319f635
			
		
	
	
		6da319f635
		
	
	
	
	
		
			
			Previously, mappings were attached to individual coverage statements in MIR. That necessitated special handling in MIR optimizations to avoid deleting those statements, since otherwise codegen would be unable to reassemble the original list of mappings. With this change, a function's list of mappings is now attached to its MIR body, and survives intact even if individual statements are deleted by optimizations.
The tests in ./status-quo were copied from tests/run-coverage in order to
capture the current behavior of the instrumentor on non-trivial programs.
The actual mappings have not been closely inspected.
Maintenance note
These tests can be sensitive to small changes in MIR spans or MIR control flow, especially in HIR-to-MIR lowering or MIR optimizations.
If you haven't touched the coverage code directly, and the run-coverage test
suite still works, then it should usually be OK to just --bless these
coverage mapping tests as necessary, without worrying too much about the exact
changes.