Commit 57c6d36f authored by Ian Lance Taylor's avatar Ian Lance Taylor

test: add test for interfaces with unexported methods.

R=rsc
CC=golang-dev
https://golang.org/cl/4271086
parent 3dbf6587
// $G $D/${F}1.go && errchk $G $D/$F.go
// Copyright 2011 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
import "./private1"
type Exported interface {
private()
}
type Implementation struct{}
func (p *Implementation) private() {}
func main() {
var x Exported
x = new(Implementation)
x.private()
var px p.Exported
px = p.X
px.private() // ERROR "private"
px = new(Implementation) // ERROR "private"
x = px // ERROR "private"
}
// true # used by private.go
// Copyright 2011 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 p
type Exported interface {
private()
}
type Implementation struct{}
func (p *Implementation) private() {}
var X = new(Implementation)
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