/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/bug494.go
51 строка
695 B
Ian Lance Taylor
test: add bug494: test case miscompiled by gccgo
18 дек 2014, 05:45
18 дек 2014, 05:45
6cd4d59
Код
Авторство
О чём код?
// run // Copyright 2014 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. // Gccgo incorrectly executed functions multiple times when they // appeared in a composite literal that required a conversion between // different interface types. package main type MyInt int var c MyInt func (c *MyInt) S(i int) { *c = MyInt(i) } func (c *MyInt) V() int { return int(*c) } type i1 interface { S(int) V() int } type i2 interface { V() int } type s struct { i i2 } func f() i1 { c++ return &c } func main() { p := &s{f()} if v := p.i.V(); v != 1 { panic(v) } if c != 1 { panic(c) } }