github.com/gmemcc/yaegi@v0.12.1-0.20221128122509-aa99124c5d16/_test/issue-1208.go (about)

     1  package main
     2  
     3  type Enabler interface {
     4  	Enabled() bool
     5  }
     6  
     7  type Logger struct {
     8  	core Enabler
     9  }
    10  
    11  func (log *Logger) GetCore() Enabler { return log.core }
    12  
    13  type T struct{}
    14  
    15  func (t *T) Enabled() bool { return true }
    16  
    17  func main() {
    18  	base := &Logger{&T{}}
    19  	println(base.GetCore().Enabled())
    20  }
    21  
    22  // Output:
    23  // true