// errorcheck // Copyright 2020 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 "cannot assign" errors package main func main() { var s string = "hello" s[1:2] = "a" // ERROR "cannot assign to .* \(strings are immutable\)" s[3] = "b" // ERROR "cannot assign to .* \(strings are immutable\)" const n int = 1 const cs string = "hello" n = 2 // ERROR "cannot assign to .* \(declared const\)" cs = "hi" // ERROR "cannot assign to .* \(declared const\)" true = false // ERROR "cannot assign to .* \(declared const\)" var m map[int]struct{ n int } m[0].n = 7 // ERROR "cannot assign to struct field .* in map$" 1 = 7 // ERROR "cannot assign to 1$" "hi" = 7 // ERROR `cannot assign to "hi"$` nil = 7 // ERROR "cannot assign to nil$" len("") = 7 // ERROR `cannot assign to len\(""\)$` []int{} = nil // ERROR "cannot assign to \[\]int\{\}$" var x int = 7 x + 1 = 7 // ERROR "cannot assign to x \+ 1$" }