X7ROOT File Manager
Current Path:
/opt/golang/1.17.2/test/fixedbugs/issue29612.dir
opt
/
golang
/
1.17.2
/
test
/
fixedbugs
/
issue29612.dir
/
📁
..
📄
main.go
(845 B)
📁
p1
📁
p2
Editing: main.go
// run // Copyright 2019 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. // Do not panic on conversion to anonymous interface, which // is similar-looking interface types in different packages. package main import ( "fmt" ssa1 "issue29612.dir/p1/ssa" ssa2 "issue29612.dir/p2/ssa" ) func main() { v1 := &ssa1.T{} _ = v1 v2 := &ssa2.T{} ssa2.Works(v2) ssa2.Panics(v2) // This call must not panic swt(v1, 1) swt(v2, 2) } //go:noinline func swt(i interface{}, want int) { var got int switch i.(type) { case *ssa1.T: got = 1 case *ssa2.T: got = 2 case int8, int16, int32, int64: got = 3 case uint8, uint16, uint32, uint64: got = 4 } if got != want { panic(fmt.Sprintf("switch %v: got %d, want %d", i, got, want)) } }
Upload File
Create Folder