// run // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main func main() { var u30 uint64 = 0; var u31 uint64 = 1; _, _ = u30, u31; var u32 uint64 = 18446744073709551615; var u33 uint64 = +18446744073709551615; if u32 != (1<<64)-1 { panic("u32\n"); } if u33 != (1<<64)-1 { panic("u33\n"); } var i34 int64 = ^0; // note: 2's complement means ^0 == -1 if i34 != -1 { panic("i34") } } /* bug12.go:5: overflow converting constant to <uint64>UINT64 bug12.go:6: overflow converting constant to <uint64>UINT64 bug12.go:7: overflow converting constant to <uint64>UINT64 bug12.go:8: overflow converting constant to <uint64>UINT64 */