-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
55 lines (41 loc) · 2.68 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package main
import "noflags/lib"
func main() {
var strct = lib.Struct{}
strct.Number = 42 // want `readonly: field is being modified`
strct.Number += 1 // want `readonly: field is being modified`
strct.Number -= 1 // want `readonly: field is being modified`
strct.Number *= 1 // want `readonly: field is being modified`
strct.Number /= 1 // want `readonly: field is being modified`
strct.Number %= 1 // want `readonly: field is being modified`
strct.Number &= 1 // want `readonly: field is being modified`
strct.Number |= 1 // want `readonly: field is being modified`
strct.Number ^= 1 // want `readonly: field is being modified`
strct.Number <<= 1 // want `readonly: field is being modified`
strct.Number >>= 1 // want `readonly: field is being modified`
strct.Number &^= 1 // want `readonly: field is being modified`
strct.Number++ // want `readonly: field is being modified`
strct.Number-- // want `readonly: field is being modified`
strct.Pointer = nil // want `readonly: field is being modified`
*strct.Pointer = true // want `readonly: field is being modified`
strct.NestedPointer = &strct.Pointer // want `readonly: field is being modified`
*strct.NestedPointer = strct.Pointer // want `readonly: field is being modified`
**strct.NestedPointer = *strct.Pointer // want `readonly: field is being modified`
strct.Slice = make([]string, 0) // want `readonly: field is being modified`
strct.Slice[0] = "any" // want `readonly: field is being modified`
strct.SlicePointer = &strct.Slice // want `readonly: field is being modified`
(*strct.SlicePointer)[0] = "any" // want `readonly: field is being modified`
strct.NestedSlice = make([][]string, 0) // want `readonly: field is being modified`
strct.NestedSlice[0] = make([]string, 0) // want `readonly: field is being modified`
strct.NestedSlice[0][1] = "any" // want `readonly: field is being modified`
strct.Map = make(map[string]struct{}) // want `readonly: field is being modified`
strct.Map["any"] = struct{}{} // want `readonly: field is being modified`
strct.MapPointer = &strct.Map // want `readonly: field is being modified`
(*strct.MapPointer)["any"] = struct{}{} // want `readonly: field is being modified`
strct.NestedMap = make(map[string]map[string]struct{}) // want `readonly: field is being modified`
strct.NestedMap["any"] = make(map[string]struct{}) // want `readonly: field is being modified`
strct.NestedMap["any"]["thing"] = struct{}{} // want `readonly: field is being modified`
strct.Self.Number = 42 // want `readonly: field is being modified`
var outer = lib.Outer{}
outer.Struct.Number = 42 // want `readonly: field is being modified`
}