/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/assign.go
71 строка
1 KB
Michael Anthony Knyszek
sync: add explicit noCopy fields to Map, Mutex, and Once
18 ноя 2024, 21:52
18 ноя 2024, 21:52
53b2b64
Код
Авторство
О чём код?
// errorcheck // Copyright 2009 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. // Verify simple assignment errors are caught by the compiler. // Does not compile. package main import ( "sync" "time" ) type T struct { int sync.Mutex } func main() { { var x, y sync.Mutex x = y // ok _ = x } { var x, y T x = y // ok _ = x } { var x, y [2]sync.Mutex x = y // ok _ = x } { var x, y [2]T x = y // ok _ = x } { x := time.Time{0, 0, nil} // ERROR "assignment.*Time" _ = x } { x := sync.Mutex{key: 0} // ERROR "(unknown|assignment).*Mutex" _ = x } { x := &sync.Mutex{} // ok var y sync.Mutex // ok y = *x // ok *x = y // ok _ = x _ = y } { var x = 1 { x, x := 2, 3 // ERROR ".*x.* repeated on left side of :=|x redeclared in this block" _ = x } _ = x } { a, a := 1, 2 // ERROR ".*a.* repeated on left side of :=|a redeclared in this block" _ = a } }