aboutsummaryrefslogtreecommitdiff
path: root/src/text/template
diff options
context:
space:
mode:
authorDiego Lara <diegolara93345@gmail.com>2025-01-31 20:57:20 +0000
committerGopher Robot <gobot@golang.org>2025-02-03 08:43:47 -0800
commit1118da25148d20f0fc275dd7ce7a08bd4ac4bdf2 (patch)
tree020d7fa3986d6b1660d0a16ef980953a90dc2ee0 /src/text/template
parente57769d5ad251a26d7676cd7a63e5332b26a35f0 (diff)
downloadgo-1118da25148d20f0fc275dd7ce7a08bd4ac4bdf2.tar.xz
text/template improved comparison error addresses issue #71421
Addresses issue #71421, improves the error message given for comparison. Previous error message did not specify the types causing conflict, just said incompatible types, new error message specifies the two types causing the issue. Change-Id: I9d940ab7573c2763a9d052445140ecd6d38cde5e GitHub-Last-Rev: 6fe7d8101317ea616fd9a8f3f430874b5f946d3e GitHub-Pull-Request: golang/go#71431 Reviewed-on: https://go-review.googlesource.com/c/go/+/644175 Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Rob Pike <r@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'src/text/template')
-rw-r--r--src/text/template/funcs.go5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/text/template/funcs.go b/src/text/template/funcs.go
index 7d63cf8b7b..4d733135fe 100644
--- a/src/text/template/funcs.go
+++ b/src/text/template/funcs.go
@@ -409,7 +409,6 @@ func not(arg reflect.Value) bool {
var (
errBadComparisonType = errors.New("invalid type for comparison")
- errBadComparison = errors.New("incompatible types for comparison")
errNoComparison = errors.New("missing argument for comparison")
)
@@ -487,7 +486,7 @@ func eq(arg1 reflect.Value, arg2 ...reflect.Value) (bool, error) {
truth = arg.Int() >= 0 && arg1.Uint() == uint64(arg.Int())
default:
if arg1.IsValid() && arg.IsValid() {
- return false, errBadComparison
+ return false, fmt.Errorf("incompatible types for comparison: %v and %v", arg1.Type(), arg.Type())
}
}
} else {
@@ -553,7 +552,7 @@ func lt(arg1, arg2 reflect.Value) (bool, error) {
case k1 == uintKind && k2 == intKind:
truth = arg2.Int() >= 0 && arg1.Uint() < uint64(arg2.Int())
default:
- return false, errBadComparison
+ return false, fmt.Errorf("incompatible types for comparison: %v and %v", arg1.Type(), arg2.Type())
}
} else {
switch k1 {