cmd/gc: Reject parenthesised .(type) expressions.

Fixes #4470.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6949073
This commit is contained in:
Daniel Morsing 2012-12-22 17:36:10 +01:00
parent b9da27bed2
commit c956dcdc54
3 changed files with 183 additions and 165 deletions

View file

@ -1020,6 +1020,7 @@ pexpr:
case OPACK:
case OTYPE:
case OLITERAL:
case OTYPESW:
$$ = nod(OPAREN, $$, N);
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,16 @@
// errorcheck
// 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.
// Issue 4470: parens are not allowed around .(type) "expressions"
package main
func main() {
var i interface{}
switch (i.(type)) { // ERROR "outside type switch"
default:
}
}