Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.0.1-2020.1.5 / unused / testdata / src / conversion / conversion.go
1 package pkg
2
3 import (
4         "compress/flate"
5         "unsafe"
6 )
7
8 type t1 struct {
9         a int
10         b int
11 }
12
13 type t2 struct {
14         a int
15         b int
16 }
17
18 type t3 struct {
19         a int
20         b int // want `b`
21 }
22
23 type t4 struct {
24         a int
25         b int // want `b`
26 }
27
28 type t5 struct {
29         a int
30         b int
31 }
32
33 type t6 struct {
34         a int
35         b int
36 }
37
38 type t7 struct {
39         a int
40         b int
41 }
42
43 type t8 struct {
44         a int
45         b int
46 }
47
48 type t9 struct {
49         Offset int64
50         Err    error
51 }
52
53 type t10 struct {
54         a int
55         b int
56 }
57
58 func fn() {
59         // All fields in t2 used because they're initialised in t1
60         v1 := t1{0, 1}
61         v2 := t2(v1)
62         _ = v2
63
64         // Field b isn't used by anyone
65         v3 := t3{}
66         v4 := t4(v3)
67         println(v3.a)
68         _ = v4
69
70         // Both fields are used
71         v5 := t5{}
72         v6 := t6(v5)
73         println(v5.a)
74         println(v6.b)
75
76         v7 := &t7{}
77         println(v7.a)
78         println(v7.b)
79         v8 := (*t8)(v7)
80         _ = v8
81
82         vb := flate.ReadError{}
83         v9 := t9(vb)
84         _ = v9
85
86         // All fields are used because this is an unsafe conversion
87         var b []byte
88         v10 := (*t10)(unsafe.Pointer(&b[0]))
89         _ = v10
90 }
91
92 func init() { fn() }