mirror of
https://github.com/golang/go
synced 2024-09-04 23:44:16 +00:00
![Ian Lance Taylor](/assets/img/avatar_default.png)
They could get picked up by reflect code, yielding the wrong type. Fixes #22605 Change-Id: Ie11fb361ca7f3255e662037b3407565c8f0a2c4c Reviewed-on: https://go-review.googlesource.com/76315 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
27 lines
504 B
Go
27 lines
504 B
Go
// run
|
|
|
|
// Copyright 2017 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.
|
|
|
|
// We were picking up a special noalg type from typelinks.
|
|
|
|
package main
|
|
|
|
import "reflect"
|
|
|
|
func f(m map[string]int) int {
|
|
return m["a"]
|
|
}
|
|
|
|
func g(m map[[8]string]int) int {
|
|
t := reflect.ArrayOf(8, reflect.TypeOf(""))
|
|
a := reflect.New(t).Elem()
|
|
return m[a.Interface().([8]string)]
|
|
}
|
|
|
|
func main() {
|
|
m := map[[8]string]int{}
|
|
g(m)
|
|
}
|