From 025506d0a3b8c3974114fa9a65a895c456bf64f3 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 14 May 2009 06:25:40 -0700 Subject: [PATCH] A comparison of two values with a type equivalent to string gives an type mismatch error, although both values appear to have the same type. R=ken,rsc DELTA=23 (23 added, 0 deleted, 0 changed) OCL=28786 CL=28805 --- test/bugs/bug151.go | 21 +++++++++++++++++++++ test/golden.out | 6 ++++++ 2 files changed, 27 insertions(+) create mode 100644 test/bugs/bug151.go diff --git a/test/bugs/bug151.go b/test/bugs/bug151.go new file mode 100644 index 0000000000..46546dfe1e --- /dev/null +++ b/test/bugs/bug151.go @@ -0,0 +1,21 @@ +// $G $D/$F.go || echo BUG: bug151 + +// 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 S string + +type Empty interface {} + +func (v S) Less(e Empty) bool { + return v < e.(S); +} + +/* +bugs/bug151.go:10: illegal types for operand: CALL + string + S +*/ diff --git a/test/golden.out b/test/golden.out index 4b3221c6ec..7337d648a8 100644 --- a/test/golden.out +++ b/test/golden.out @@ -109,6 +109,12 @@ BUG: should compile bugs/bug150.go:13: reorder2: too many funcation calls evaluating parameters BUG: bug150 +=========== bugs/bug151.go +bugs/bug151.go:10: illegal types for operand: CALL + string + S +BUG: bug151 + =========== fixedbugs/bug016.go fixedbugs/bug016.go:7: constant -3 overflows uint -- 2.48.1