32 lines
		
	
	
		
			381 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			381 B
		
	
	
	
		
			Go
		
	
	
	
// RUN: llgo -o %t %s
 | 
						|
// RUN: %t 2>&1 | FileCheck %s
 | 
						|
 | 
						|
// CHECK: true
 | 
						|
// CHECK-NEXT: false
 | 
						|
// CHECK-NEXT: true
 | 
						|
// CHECK-NEXT: false
 | 
						|
 | 
						|
package main
 | 
						|
 | 
						|
type T1 int
 | 
						|
 | 
						|
func (t *T1) t1() { println(t == nil) }
 | 
						|
 | 
						|
func constNilRecv() {
 | 
						|
	(*T1)(nil).t1()
 | 
						|
}
 | 
						|
 | 
						|
func nonConstNilRecv() {
 | 
						|
	var v1 T1
 | 
						|
	v1.t1()
 | 
						|
	var v2 *T1
 | 
						|
	v2.t1()
 | 
						|
	v2 = &v1
 | 
						|
	v2.t1()
 | 
						|
}
 | 
						|
 | 
						|
func main() {
 | 
						|
	constNilRecv()
 | 
						|
	nonConstNilRecv()
 | 
						|
}
 |