| // $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug343 |
| |
| // Copyright 2011 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. |
| |
| // issue 1900 |
| |
| package main |
| |
| func getArgs(data map[string]interface{}, keys ...string) map[string]string { |
| ret := map[string]string{} |
| var ok bool |
| for _, k := range keys { |
| ret[k], ok = data[k].(string) |
| if !ok {} |
| } |
| return ret |
| } |
| |
| func main() { |
| x := getArgs(map[string]interface{}{"x":"y"}, "x") |
| if x["x"] != "y" { |
| println("BUG bug343", x) |
| } |
| } |
| |
| |
| /* |
| typecheck [1008592b0] |
| . INDREG a(1) l(15) x(24) tc(2) runtime.ret G0 string |
| bug343.go:15: internal compiler error: typecheck INDREG |
| */ |