// RUN: llgo -o %t %s | |
// RUN: %t 2>&1 | FileCheck %s | |
// CHECK: 666 | |
// CHECK-NEXT: The Beast | |
package main | |
type Numbered interface { | |
Number() int | |
} | |
type Named interface { | |
Name() string | |
} | |
type Beast struct{} | |
func (b *Beast) Number() int { | |
return 666 | |
} | |
func (b *Beast) Name() string { | |
return "The Beast" | |
} | |
func main() { | |
var b Beast | |
var numbered Numbered = &b | |
var named Named = numbered.(Named) | |
println(numbered.Number()) | |
println(named.Name()) | |
} |