mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: remove DDD array types
Currently we handle [...]T array literals by treating [...]T as special "DDD array" types. However, these array literals are just composite literal syntax, not a distinct Go type. Moreover, representing them as Go types contributes to complexity in a number of unrelated bits of code. This CL changes OCOMPLIT typechecking to look for the [...]T syntax and handle it specially, so we can remove DDD arrays. Passes toolstash-check. Change-Id: Ibbf701eac4caa7a321e2d10e256658fdfaa8a160 Reviewed-on: https://go-review.googlesource.com/c/go/+/197604 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
This commit is contained in:
parent
e1b1b7856f
commit
616c39f6a6
4 changed files with 33 additions and 78 deletions
|
|
@ -324,13 +324,6 @@ func dowidth(t *types.Type) {
|
|||
if t.Elem() == nil {
|
||||
break
|
||||
}
|
||||
if t.IsDDDArray() {
|
||||
if !t.Broke() {
|
||||
yyerror("use of [...] array outside of array literal")
|
||||
t.SetBroke(true)
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
dowidth(t.Elem())
|
||||
if t.Elem().Width != 0 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue