/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/bug517.go
37 строк
703 B
Ian Lance Taylor
test: add tests that gofrontend failed
20 окт 2023, 06:00
20 окт 2023, 06:00
2968f56
Код
Авторство
О чём код?
// run // Copyright 2023 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. // The gofrontend used to mishandle this code due to a pass ordering issue. // It was inconsistent as to whether unsafe.Sizeof(byte(0)) was a constant, // and therefore as to whether it was a direct-iface type. package main import "unsafe" type A [unsafe.Sizeof(byte(0))]*byte func (r A) V() byte { return *r[0] } func F() byte { panic("F") // should never be called } type B [unsafe.Sizeof(F())]*byte func (r B) V() byte { return *r[0] } func main() { b := byte(1) v := A{&b}.V() + B{&b}.V() if v != 2 { panic(v) } }