Commit 3dbf6587 authored by Ian Lance Taylor's avatar Ian Lance Taylor

test: adjust bug324 to expect run-time failure, not compile-time.

Failing at compile time requires that for each conversion
between two interface types the compiler compare the sets of
unexported methods to see if they come from different
packages.  Since this test will fail approximately never on
real code, and since it can't catch all cases of the problem,
I don't think it's worth testing in the compiler.  This CL
changes this test to look for a run-time panic rather than a
compile-time error.

R=gri, rsc1, iant2, rsc
CC=golang-dev
https://golang.org/cl/4332041
parent 974d2c98
......@@ -40,7 +40,7 @@ func main() {
// x = px
// this assignment unexpectedly compiles and then executes
x = px.(Exported) // ERROR "does not implement"
x = px.(Exported)
// this is a legitimate call, but because of the previous assignment,
// it invokes the method private in p!
......
// $G $D/$F.dir/p.go && errchk $G $D/$F.dir/main.go
// $G $D/$F.dir/p.go && $G $D/$F.dir/main.go && $L main.$A && ! ./$A.out || echo BUG: should fail
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
......
......@@ -165,4 +165,6 @@ bugs/bug322.dir/main.go:32: implicit assignment of unexported field 'x' of lib.T
BUG: fails incorrectly
=========== bugs/bug324.go
BUG: errchk: command succeeded unexpectedly
main.Implementation.private()
p.Implementation.private()
BUG: should fail
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