// run // 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. // The linker can prune methods that are not directly called or // assigned to interfaces, but only if reflect.Type.Method is // never used. Test it here. package main import "reflect" var called = false type M int func (m M) UniqueMethodName() { called = true } var v M func main() { reflect.TypeOf(v).Method(0).Func.Interface().(func(M))(v) if !called { panic("UniqueMethodName not called") } }