1 // errorcheck -0 -d=nil
3 //go:build !wasm && !aix
6 // Copyright 2018 The Go Authors. All rights reserved.
7 // Use of this source code is governed by a BSD-style
8 // license that can be found in the LICENSE file.
10 // Test that nil checks are removed.
11 // Optimization is enabled.
15 func f5(p *float32, q *float64, r *float32, s *float64) float64 {
16 x := float64(*p) // ERROR "removed nil check"
17 y := *q // ERROR "removed nil check"
18 *r = 7 // ERROR "removed nil check"
19 *s = 9 // ERROR "removed nil check"
23 type T struct{ b [29]byte }
26 x := *p // ERROR "removed nil check"
27 *q = x // ERROR "removed nil check"
30 // make sure to remove nil check for memory move (issue #18003)
31 func f8(t *struct{ b [8]int }) struct{ b [8]int } {
32 return *t // ERROR "removed nil check"