Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
golang
/
1.22.0
/
test
/
fixedbugs
/
Filename :
bug184.go
back
Copy
// 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") } }