mirror of
https://github.com/golang/go
synced 2024-11-11 22:50:22 -07:00
3e11940437
Added test file. For #18130. Change-Id: Ifcfd7cd1acf9dd6a2f4f3d85979d232bb6b8c6b1 Reviewed-on: https://go-review.googlesource.com/34988 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
59 lines
1.6 KiB
Go
59 lines
1.6 KiB
Go
// errorcheck
|
|
|
|
// Copyright 2016 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 basic restrictions on type aliases.
|
|
|
|
// The compiler doesn't implement type aliases yet,
|
|
// so for now we get the same error (unimplemented)
|
|
// everywhere, OR-ed into the ERROR checks.
|
|
// TODO(gri) remove the need for "unimplemented"
|
|
|
|
package p
|
|
|
|
import (
|
|
"reflect"
|
|
. "reflect"
|
|
)
|
|
|
|
// Valid type alias declarations.
|
|
|
|
type _ = int // ERROR "unimplemented"
|
|
type _ = struct{} // ERROR "unimplemented"
|
|
type _ = reflect.Value // ERROR "unimplemented"
|
|
type _ = Value // ERROR "unimplemented"
|
|
|
|
type (
|
|
a1 = int // ERROR "unimplemented"
|
|
a2 = struct{} // ERROR "unimplemented"
|
|
a3 = reflect.Value // ERROR "unimplemented"
|
|
a4 = Value // ERROR "unimplemented"
|
|
)
|
|
|
|
func _() {
|
|
type _ = int // ERROR "unimplemented"
|
|
type _ = struct{} // ERROR "unimplemented"
|
|
type _ = reflect.Value // ERROR "unimplemented"
|
|
type _ = Value // ERROR "unimplemented"
|
|
|
|
type (
|
|
a1 = int // ERROR "unimplemented"
|
|
a2 = struct{} // ERROR "unimplemented"
|
|
a3 = reflect.Value // ERROR "unimplemented"
|
|
a4 = Value // ERROR "unimplemented"
|
|
)
|
|
}
|
|
|
|
// Invalid type alias declarations.
|
|
|
|
type _ = reflect.ValueOf // ERROR "reflect.ValueOf is not a type|unimplemented"
|
|
|
|
type b1 = struct{} // ERROR "unimplemented"
|
|
func (b1) m() {} // disabled ERROR "invalid receiver type"
|
|
|
|
// TODO(gri) expand
|
|
// It appears that type-checking exits after some more severe errors, so we may
|
|
// need more test files.
|