mirror of
https://github.com/golang/go
synced 2024-09-05 16:04:50 +00:00
![Russ Cox](/assets/img/avatar_default.png)
An automated rewrite will add concrete type assertions after a test of n.Op(), when n can be safely type-asserted (meaning, n is not reassigned a different type, n is not reassigned and then used outside the scope of the type assertion, and so on). This sequence of CLs handles the code that the automated rewrite does not: adding specific types to function arguments, adjusting code not to call n.Left() etc when n may have multiple representations, and so on. This CL focuses on noder.go. Passes buildall w/ toolstash -cmp. Change-Id: Ie870126b51558e83c738add8e91a2804ed6d7f92 Reviewed-on: https://go-review.googlesource.com/c/go/+/277931 Trust: Russ Cox <rsc@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
14 lines
598 B
Go
14 lines
598 B
Go
// errorcheck
|
|
|
|
// Copyright 2020 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.
|
|
|
|
package main
|
|
|
|
func main(int) {} // ERROR "func main must have no arguments and no return values"
|
|
func main() int { return 1 } // ERROR "func main must have no arguments and no return values" "main redeclared in this block"
|
|
|
|
func init(int) {} // ERROR "func init must have no arguments and no return values"
|
|
func init() int { return 1 } // ERROR "func init must have no arguments and no return values"
|