// run | |
// Copyright 2025 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 main | |
type SourceRange struct { | |
x, y int | |
} | |
func (r *SourceRange) String() string { | |
return "hello" | |
} | |
type SourceNode interface { | |
SourceRange() | |
} | |
type testNode SourceRange | |
func (tn testNode) SourceRange() { | |
} | |
func main() { | |
n := testNode(SourceRange{1, 1}) // not zero value | |
Errorf(n) | |
} | |
//go:noinline | |
func Errorf(n SourceNode) { | |
n.SourceRange() | |
} |