There really is no case I can think of where taking the context into account is useful. Mostly it's just very inconvenient.
		
			
				
	
	
		
			6 lines
		
	
	
	
		
			213 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			6 lines
		
	
	
	
		
			213 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| let s = "foo ${builtins.substring 33 100 (baseNameOf ./eval-okay-context.nix)} bar";
 | |
| in
 | |
|   if s != "foo eval-okay-context.nix bar"
 | |
|   then abort "context not discarded"
 | |
|   else builtins.unsafeDiscardStringContext s
 | |
| 
 |