| //gofmt -r=(x)->x |
| |
| // Copyright 2012 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. |
| |
| // Rewriting of parenthesized expressions (x) -> x |
| // must not drop parentheses if that would lead to |
| // wrong association of the operands. |
| // Was issue 1847. |
| |
| package main |
| |
| // From example 1 of issue 1847. |
| func _() { |
| var t = (&T{1000}).Id() |
| } |
| |
| // From example 2 of issue 1847. |
| func _() { |
| fmt.Println((*xpp).a) |
| } |
| |
| // Some more test cases. |
| func _() { |
| _ = (-x).f |
| _ = (*x).f |
| _ = (&x).f |
| _ = (!x).f |
| _ = -x.f |
| _ = *x.f |
| _ = &x.f |
| _ = !x.f |
| (-x).f() |
| (*x).f() |
| (&x).f() |
| (!x).f() |
| _ = -x.f() |
| _ = *x.f() |
| _ = &x.f() |
| _ = !x.f() |
| |
| _ = (-x).f |
| _ = (*x).f |
| _ = (&x).f |
| _ = (!x).f |
| _ = -x.f |
| _ = *x.f |
| _ = &x.f |
| _ = !x.f |
| (-x).f() |
| (*x).f() |
| (&x).f() |
| (!x).f() |
| _ = -x.f() |
| _ = *x.f() |
| _ = &x.f() |
| _ = !x.f() |
| |
| _ = -x.f |
| _ = *x.f |
| _ = &x.f |
| _ = !x.f |
| _ = -x.f |
| _ = *x.f |
| _ = &x.f |
| _ = !x.f |
| _ = -x.f() |
| _ = *x.f() |
| _ = &x.f() |
| _ = !x.f() |
| _ = -x.f() |
| _ = *x.f() |
| _ = &x.f() |
| _ = !x.f() |
| } |