-- suggestedfix_literals_10_2 --
// Copyright 2021 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.

package missingfunction

type T struct{}

func literals() {
	undefinedLiterals("hey compiler", T{}, &T{}) //@suggestedfix("undefinedLiterals", "quickfix", "")
}

func undefinedLiterals(s string, t1 T, t2 *T) {
	panic("implement me!")
}
-- suggestedfix_literals_6_2 --
package missingfunction

type T struct{}

func literals() {
	undefinedLiterals("hey compiler", T{}, &T{}) //@suggestedfix("undefinedLiterals", "quickfix", "")
}

func undefinedLiterals(s string, t1 T, t2 *T) {
	panic("unimplemented")
}

