/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue35518.go
44 строки
847 B
Matthew Dempsky
test: add another test case for #35518
13 ноя 2019, 00:02
13 ноя 2019, 00:02
00e14af
Код
Авторство
О чём код?
// errorcheck -0 -l -m=2 // Copyright 2019 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. // This test makes sure that -m=2's escape analysis diagnostics don't // go into an infinite loop when handling negative dereference // cycles. The critical thing being tested here is that compilation // succeeds ("errorcheck -0"), not any particular diagnostic output, // hence the very lax ERROR patterns below. package p type Node struct { Orig *Node } var sink *Node func f1() { var n Node // ERROR "." n.Orig = &n m := n // ERROR "." sink = &m } func f2() { var n1, n2 Node // ERROR "." n1.Orig = &n2 n2 = n1 m := n2 // ERROR "." sink = &m } func f3() { var n1, n2 Node // ERROR "." n1.Orig = &n1 n1.Orig = &n2 sink = n1.Orig.Orig }