// 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.Value.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.ValueOf(v).Method(0).Interface().(func())() if !called { panic("UniqueMethodName not called") } }