36 lines
		
	
	
		
			437 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			437 B
		
	
	
	
		
			Go
		
	
	
	
// RUN: llgo -o %t %s
 | 
						|
// RUN: %t 2>&1 | FileCheck %s
 | 
						|
 | 
						|
// CHECK: 666
 | 
						|
// CHECK-NEXT: 3
 | 
						|
 | 
						|
package main
 | 
						|
 | 
						|
type Blah interface{}
 | 
						|
type Numbered interface {
 | 
						|
	Blah
 | 
						|
	Number() int
 | 
						|
}
 | 
						|
 | 
						|
type Beast struct{}
 | 
						|
 | 
						|
func (b *Beast) Number() int {
 | 
						|
	return 666
 | 
						|
}
 | 
						|
 | 
						|
type MagicNumber int
 | 
						|
 | 
						|
func (m MagicNumber) Number() int {
 | 
						|
	return int(m)
 | 
						|
}
 | 
						|
 | 
						|
func main() {
 | 
						|
	var b Beast
 | 
						|
	var m MagicNumber = 3
 | 
						|
	var n Numbered = &b
 | 
						|
	println(n.Number())
 | 
						|
 | 
						|
	n = m
 | 
						|
	println(n.Number())
 | 
						|
}
 |