Run Format

Source file test/reflectmethod2.go

Documentation: test

  // 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.MethodByName is
  // never used. Test it here.
  package main
  import reflect1 "reflect"
  var called = false
  type M int
  func (m M) UniqueMethodName() {
  	called = true
  var v M
  type MyType interface {
  	MethodByName(string) (reflect1.Method, bool)
  func main() {
  	var t MyType = reflect1.TypeOf(v)
  	m, _ := t.MethodByName("UniqueMethodName")
  	if !called {
  		panic("UniqueMethodName not called")

View as plain text