| Basic tests of inlining by literalization. | 
 |  | 
 | The use of defer forces literalization. | 
 |  | 
 | recover() is an example of a function with effects, | 
 | defeating elimination of parameter x; but parameter | 
 | y is eliminated by substitution. | 
 |  | 
 | -- go.mod -- | 
 | module testdata | 
 | go 1.12 | 
 |  | 
 | -- a/a1.go -- | 
 | package a | 
 |  | 
 | func _() { | 
 | 	add(recover().(int), 2) //@ inline(re"add", add1) | 
 | } | 
 |  | 
 | func add(x, y int) int { defer print(); return x + y } | 
 |  | 
 | -- add1 -- | 
 | package a | 
 |  | 
 | func _() { | 
 | 	func() int { var x int = recover().(int); defer print(); return x + 2 }() //@ inline(re"add", add1) | 
 | } | 
 |  | 
 | func add(x, y int) int { defer print(); return x + y } |