// build // Copyright 2016 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. // This file tests that required algs are generated, // even when similar types have been marked elsewhere // as not needing algs. See CLs 19769 and 19770. package main import "fmt" //go:noinline func f(m map[[8]string]int) int { var k [8]string return m[k] } //go:noinline func g(m map[[8]interface{}]int) int { var k [8]interface{} return m[k] } //go:noinline func h(m map[[2]string]int) int { var k [2]string return m[k] } type T map[string]interface{} func v(x ...string) string { return x[0] + x[1] } func main() { fmt.Println( f(map[[8]string]int{}), g(map[[8]interface{}]int{}), h(map[[2]string]int{}), v("a", "b"), ) }