/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/bug184.go
49 строк
849 B
Russ Cox
test: use testlib (second 100)
17 фев 2012, 08:49
17 фев 2012, 08:49
2b1c9b4
Код
Авторство
О чём код?
// run // 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. package main import "fmt" type Buffer int func (*Buffer) Read() {} type Reader interface { Read() } func f() *Buffer { return nil } func g() Reader { // implicit interface conversion in assignment during return return f() } func h() (b *Buffer, ok bool) { return } func i() (r Reader, ok bool) { // implicit interface conversion in multi-assignment during return return h() } func fmter() (s string, i int, t string) { return "%#x %q", 100, "hello" } func main() { b := g() bb, ok := b.(*Buffer) _, _, _ = b, bb, ok b, ok = i() bb, ok = b.(*Buffer) _, _, _ = b, bb, ok s := fmt.Sprintf(fmter()) if s != "0x64 \"hello\"" { println(s) panic("fail") } }