| // errorcheck | 
 |  | 
 | // Copyright 2018 The Go Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style | 
 | // license that can be found in the LICENSE file. | 
 |  | 
 | // Test that we type-check deferred/go functions even | 
 | // if they are not called (a common error). Specifically, | 
 | // we don't want to see errors such as import or variable | 
 | // declared but not used. | 
 |  | 
 | package p | 
 |  | 
 | import ( | 
 | 	"fmt" | 
 | 	"math" | 
 | ) | 
 |  | 
 | func f() { | 
 | 	var i int | 
 | 	defer func() { fmt.Println() } // ERROR "must be function call" | 
 | 	go func() { _ = math.Sin(0) }  // ERROR "must be function call" | 
 | 	go func() { _ = i}             // ERROR "must be function call" | 
 | } |