Dan Willemsen | ebae302 | 2017-01-13 23:01:08 -0800 | [diff] [blame^] | 1 | // compile |
2 | |||||
3 | // Copyright 2016 The Go Authors. All rights reserved. | ||||
4 | // Use of this source code is governed by a BSD-style | ||||
5 | // license that can be found in the LICENSE file. | ||||
6 | |||||
7 | // Issue 17551: inrange optimization failed to preserve type information. | ||||
8 | |||||
9 | package main | ||||
10 | |||||
11 | import "fmt" | ||||
12 | |||||
13 | func main() { | ||||
14 | _, x := X() | ||||
15 | fmt.Printf("x = %v\n", x) | ||||
16 | } | ||||
17 | |||||
18 | func X() (i int, ok bool) { | ||||
19 | ii := int(1) | ||||
20 | return ii, 0 <= ii && ii <= 0x7fffffff | ||||
21 | } |