// Copyright 2023 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. | |
// go:build ignore | |
package testdata | |
type F func() | |
func set[T [1]F | [2]F](arr *T, i int) { | |
// Indexes into a pointer to an indexable type T and T does not have a coretype. | |
// SSA instruction: t0 = &arr[i] | |
(*arr)[i] = bar | |
} | |
func bar() { | |
print("here") | |
} | |
func Foo() { | |
var arr [1]F | |
set(&arr, 0) | |
arr[0]() | |
} | |
// WANT: | |
// Foo: set[[1]testdata.F](t0, 0:int) -> set[[1]testdata.F]; t3() -> bar |