We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 320aabb commit dfeecdaCopy full SHA for dfeecda
src/cmd/compile/internal/gc/typecheck.go
@@ -498,6 +498,7 @@ OpSwitch:
498
ok |= Etype
499
n.Op = OTYPE
500
n.Type = types.NewPtr(l.Type)
501
+ checkwidth(l.Type) // ensure this gets dowidth'd for the backend
502
n.Left = nil
503
break OpSwitch
504
}
test/fixedbugs/issue20174.go
@@ -0,0 +1,18 @@
1
+// compile -c=2
2
+
3
+// Copyright 2017 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 20174: failure to typecheck contents of *T in the frontend.
8
9
+package p
10
11
+func f() {
12
+ _ = (*interface{})(nil) // interface{} here used to not have its width calculated going into backend
13
+ select {
14
+ case _ = <-make(chan interface {
15
+ M()
16
+ }, 1):
17
+ }
18
+}
0 commit comments