...
Run Format

Source file test/reflectmethod1.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.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")
  	}
  }
  

View as plain text