/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue29190.go
37 строк
707 B
Keith Randall
cmd/compile: avoid assignment conversion in append(a, b...)
08 авг 2022, 19:58
08 авг 2022, 19:58
2493072
Код
Авторство
О чём код?
// run // Copyright 2018 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. package main import ( "strings" ) type T struct{} const maxInt = int(^uint(0) >> 1) func main() { s := make([]T, maxInt) shouldPanic("len out of range", func() { s = append(s, T{}) }) var oneElem = make([]T, 1) shouldPanic("len out of range", func() { s = append(s, oneElem...) }) } func shouldPanic(str string, f func()) { defer func() { err := recover() if err == nil { panic("did not panic") } s := err.(error).Error() if !strings.Contains(s, str) { panic("got panic " + s + ", want " + str) } }() f() }