Home | History | Annotate | Download | only in issue4252.dir
      1 // Copyright 2012 The Go Authors.  All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 // A package that redeclares common builtin names.
      6 package a
      7 
      8 var true = 0 == 1
      9 var false = 0 == 0
     10 var nil = 1
     11 
     12 const append = 42
     13 
     14 type error bool
     15 type int interface{}
     16 
     17 func len(interface{}) int32 { return 42 }
     18 
     19 func Test() {
     20 	var array [append]int
     21 	if true {
     22 		panic("unexpected builtin true instead of redeclared one")
     23 	}
     24 	if !false {
     25 		panic("unexpected builtin false instead of redeclared one")
     26 	}
     27 	if len(array) != 42 {
     28 		println(len(array))
     29 		panic("unexpected call of builtin len")
     30 	}
     31 }
     32 
     33 func InlinedFakeTrue() error  { return error(true) }
     34 func InlinedFakeFalse() error { return error(false) }
     35 func InlinedFakeNil() int     { return nil }
     36