Commit 6f5af9c0 authored by Daniel Morsing's avatar Daniel Morsing

cmd/gc: fix confusing error with broken types and defer/go

Fixes #5172.

R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/9614044
parent bea7b518
......@@ -1793,6 +1793,11 @@ checkdefergo(Node *n)
break;
default:
conv:
// type is broken or missing, most likely a method call on a broken type
// we will warn about the broken type elsewhere. no need to emit a potentially confusing error
if(n->left->type == T || n->left->type->broke)
break;
if(!n->diag) {
// The syntax made sure it was a call, so this must be
// a conversion.
......
// errorcheck
// Copyright 2013 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 5172: spurious warn about type conversion on broken type inside go and defer
package main
type foo struct {
x bar // ERROR "undefined"
}
func main() {
var f foo
go f.bar()
defer f.bar()
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment