Commit 15dcdf75 authored by Russ Cox's avatar Russ Cox

gc: fix m[x], _ = y.(T)

Fixes #1900.

R=ken2
CC=golang-dev
https://golang.org/cl/4561053
parent 5b62ba14
......@@ -1532,7 +1532,7 @@ ascompatee(int op, NodeList *nl, NodeList *nr, NodeList **init)
static int
fncall(Node *l, Type *rt)
{
if(l->ullman >= UINF)
if(l->ullman >= UINF || l->op == OINDEXMAP)
return 1;
if(eqtype(l->type, rt))
return 0;
......
// $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
*/
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment