summaryrefslogtreecommitdiffstats
path: root/tpl/collections
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-02-08 10:22:20 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-02-08 10:22:20 +0100
commit9af78d11003ed22b6281e47e1ac19568cf1cca81 (patch)
tree73fcd2bca5e3f08665b1a51b0b2c0d14170cab80 /tpl/collections
parentd33a7ebcc16e804f1db0dc1f1edad4d9f9e816ef (diff)
tpl/collections: Improve error message in Index
Diffstat (limited to 'tpl/collections')
-rw-r--r--tpl/collections/index.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/tpl/collections/index.go b/tpl/collections/index.go
index d72d3748f..e4362fdc3 100644
--- a/tpl/collections/index.go
+++ b/tpl/collections/index.go
@@ -31,6 +31,14 @@ import (
//
// We deviate from the stdlib mostly because of https://github.com/golang/go/issues/14751.
func (ns *Namespace) Index(item any, args ...any) (any, error) {
+ v, err := ns.doIndex(item, args...)
+ if err != nil {
+ return nil, fmt.Errorf("index of type %T with args %v failed: %s", item, args, err)
+ }
+ return v, nil
+}
+
+func (ns *Namespace) doIndex(item any, args ...any) (any, error) {
// TODO(moorereason): merge upstream changes.
v := reflect.ValueOf(item)
if !v.IsValid() {