mirror of
https://github.com/golang/go
synced 2024-09-05 16:04:50 +00:00
![Matthew Dempsky](/assets/img/avatar_default.png)
The builtin runtime package definitions intentionally diverge from the actual runtime package's, but this only works as long as they never overlap. To make it easier to expand the builtin runtime package, this CL now loads their definitions into a logically separate "go.runtime" package. By resetting the package's Prefix field to "runtime", any references to builtin definitions will still resolve against the real package runtime. Fixes #14482. Passes toolstash -cmp. Change-Id: I539c0994deaed4506a331f38c5b4d6bc8c95433f Reviewed-on: https://go-review.googlesource.com/37538 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
22 lines
602 B
Go
22 lines
602 B
Go
// errorcheck
|
|
|
|
// Copyright 2009 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.
|
|
|
|
// Test that even if a file imports runtime,
|
|
// it cannot get at the low-level runtime definitions
|
|
// known to the compiler. For normal packages
|
|
// the compiler doesn't even record the lower case
|
|
// functions in its symbol table, but some functions
|
|
// in runtime are hard-coded into the compiler.
|
|
// Does not compile.
|
|
|
|
package main
|
|
|
|
import "runtime"
|
|
|
|
func main() {
|
|
runtime.printbool(true) // ERROR "unexported" "undefined"
|
|
}
|