From d289e6344f6ed40d5e2e6646e32fc8a685f38c75 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 4 Nov 2008 09:45:27 -0800 Subject: [PATCH] move invalid method uses to new test R=iant DELTA=24 (13 added, 10 deleted, 1 changed) OCL=18424 CL=18439 --- test/golden.out | 5 ++++- test/method.go | 10 ---------- test/method2.go | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 test/method2.go diff --git a/test/golden.out b/test/golden.out index 3f3e5de165..e877506b98 100644 --- a/test/golden.out +++ b/test/golden.out @@ -37,6 +37,9 @@ Faulting address: 0x0 pc: xxx +=========== ./method2.go +BUG: errchk: command succeeded unexpectedly: 6g ./method2.go + =========== ./peano.go 0! = 1 1! = 1 @@ -121,7 +124,7 @@ BUG: fails incorrectly =========== bugs/bug095.go found 2, expected 1 -panic on line 74 PC=xxx +panic on line 77 PC=xxx BUG wrong result =========== bugs/bug098.go diff --git a/test/method.go b/test/method.go index dcbc28c1e4..6dba3d1781 100644 --- a/test/method.go +++ b/test/method.go @@ -10,8 +10,6 @@ type S string type S1 string type I int type I1 int -type P *int -type P1 *int type T struct { x int } type T1 T @@ -19,8 +17,6 @@ func (s S) val() int { return 1 } func (s *S1) val() int { return 2 } func (i I) val() int { return 3 } func (i *I1) val() int { return 4 } -func (p P) val() int { return 5 } -func (p *P1) val() int { return 6 } //func (t T) val() int { return 7 } func (t *T1) val() int { return 8 } @@ -37,8 +33,6 @@ func main() { var ps *S1; var i I; var pi *I1; - var p P; - var pp *P1; var t T; var pt *T1; @@ -46,8 +40,6 @@ func main() { if ps.val() != 2 { panicln("ps.val:", ps.val()) } if i.val() != 3 { panicln("i.val:", i.val()) } if pi.val() != 4 { panicln("pi.val:", pi.val()) } - if p.val() != 5 { panicln("p.val:", p.val()) } - if pp.val() != 6 { panicln("pp.val:", pp.val()) } // if t.val() != 7 { panicln("t.val:", t.val()) } if pt.val() != 8 { panicln("pt.val:", pt.val()) } @@ -55,8 +47,6 @@ func main() { if val(ps) != 2 { panicln("ps.val:", val(ps)) } if val(i) != 3 { panicln("i.val:", val(i)) } if val(pi) != 4 { panicln("pi.val:", val(pi)) } - if val(p) != 5 { panicln("p.val:", val(p)) } - if val(pp) != 6 { panicln("pp.val:", val(pp)) } // if val(t) != 7 { panicln("t.val:", val(t)) } if val(pt) != 8 { panicln("pt.val:", val(pt)) } diff --git a/test/method2.go b/test/method2.go new file mode 100644 index 0000000000..3ee0ae1364 --- /dev/null +++ b/test/method2.go @@ -0,0 +1,14 @@ +// errchk $G $D/$F.go + +// 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. + +package main + +type T struct {a int} +type P *T +type P1 *T + +func (p P) val() int { return 1 } // ERROR "receiver" +func (p *P1) val() int { return 1 } // ERROR "receiver"