This test verifies the fix for golang/go#67905: Extract variable from type switch produces invalid code -- go.mod -- module mod.test/extract go 1.18 -- extract_switch.go -- package extract import ( "io" ) func f() io.Reader func main() { switch r := f().(type) { //@codeactionedit("f()", "refactor.extract.variable", type_switch_func_call) default: _ = r } } -- @type_switch_func_call/extract_switch.go -- @@ -10 +10,2 @@ - switch r := f().(type) { //@codeactionedit("f()", "refactor.extract.variable", type_switch_func_call) + x := f() + switch r := x.(type) { //@codeactionedit("f()", "refactor.extract.variable", type_switch_func_call)