mirror of
https://github.com/golang/go
synced 2024-11-05 18:36:08 +00:00
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:
parent
b9da27bed2
commit
c956dcdc54
3 changed files with 183 additions and 165 deletions
|
@ -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
16
test/fixedbugs/issue4470.go
Normal file
16
test/fixedbugs/issue4470.go
Normal 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:
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue