...
Run Format

Source file test/fixedbugs/issue4463.go

Documentation: test/fixedbugs

  // errorcheck
  
  // Copyright 2012 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.
  
  // Issue 4463: test builtin functions in statement context and in
  // go/defer functions.
  
  package p
  
  import "unsafe"
  
  func F() {
  	var a []int
  	var c chan int
  	var m map[int]int
  	var s struct{ f int }
  
  	append(a, 0)			// ERROR "not used"
  	cap(a)				// ERROR "not used"
  	complex(1, 2)			// ERROR "not used"
  	imag(1i)			// ERROR "not used"
  	len(a)				// ERROR "not used"
  	make([]int, 10)			// ERROR "not used"
  	new(int)			// ERROR "not used"
  	real(1i)			// ERROR "not used"
  	unsafe.Alignof(a)		// ERROR "not used"
  	unsafe.Offsetof(s.f)		// ERROR "not used"
  	unsafe.Sizeof(a)		// ERROR "not used"
  
  	close(c)
  	copy(a, a)
  	delete(m, 0)
  	panic(0)
  	print("foo")
  	println("bar")
  	recover()
  
  	(close(c))
  	(copy(a, a))
  	(delete(m, 0))
  	(panic(0))
  	(print("foo"))
  	(println("bar"))
  	(recover())
  
  	go append(a, 0)			// ERROR "not used|discards result"
  	go cap(a)			// ERROR "not used|discards result"
  	go complex(1, 2)		// ERROR "not used|discards result"
  	go imag(1i)			// ERROR "not used|discards result"
  	go len(a)			// ERROR "not used|discards result"
  	go make([]int, 10)		// ERROR "not used|discards result"
  	go new(int)			// ERROR "not used|discards result"
  	go real(1i)			// ERROR "not used|discards result"
  	go unsafe.Alignof(a)		// ERROR "not used|discards result"
  	go unsafe.Offsetof(s.f)		// ERROR "not used|discards result"
  	go unsafe.Sizeof(a)		// ERROR "not used|discards result"
  
  	go close(c)
  	go copy(a, a)
  	go delete(m, 0)
  	go panic(0)
  	go print("foo")
  	go println("bar")
  	go recover()
  
  	defer append(a, 0)		// ERROR "not used|discards result"
  	defer cap(a)			// ERROR "not used|discards result"
  	defer complex(1, 2)		// ERROR "not used|discards result"
  	defer imag(1i)			// ERROR "not used|discards result"
  	defer len(a)			// ERROR "not used|discards result"
  	defer make([]int, 10)		// ERROR "not used|discards result"
  	defer new(int)			// ERROR "not used|discards result"
  	defer real(1i)			// ERROR "not used|discards result"
  	defer unsafe.Alignof(a)		// ERROR "not used|discards result"
  	defer unsafe.Offsetof(s.f)	// ERROR "not used|discards result"
  	defer unsafe.Sizeof(a)		// ERROR "not used|discards result"
  
  	defer close(c)
  	defer copy(a, a)
  	defer delete(m, 0)
  	defer panic(0)
  	defer print("foo")
  	defer println("bar")
  	defer recover()
  }
  

View as plain text