From d9e72376778f218f694c05252e446b0f9c676f68 Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Fri, 19 Sep 2025 11:44:10 -0700 Subject: [PATCH] remove the ability to provide a slice of function constructors I don't think it is ever useful --- di.go | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/di.go b/di.go index 6f78b100f38220ad8520c22d33bd6494bfa979b3..c8a7df1051da7092f6c8d4bac2037705cded3c16 100644 --- a/di.go +++ b/di.go @@ -385,26 +385,12 @@ func (c *collector) collect(v reflect.Value, path string) error { case reflect.Slice: elemT := sf.Type.Elem() - if elemT.Kind() == reflect.Func { - for j := 0; j < fv.Len(); j++ { - fn := fv.Index(j) - ft := fn.Type() - if err := validateCtorSignature(ft, fmt.Sprintf("%s[%d]", name, j)); err != nil { - return err - } - c.listProviders[ft.Out(0)] = append(c.listProviders[ft.Out(0)], ctor{ - name: fmt.Sprintf("%s[%d]", name, j), - fn: fn, out: ft.Out(0), - }) - } - } else { - if fv.Len() == 0 { - c.listPresence[elemT] = true // explicit empty list present - } - for j := 0; j < fv.Len(); j++ { - vj := fv.Index(j) - c.listValues[vj.Type()] = append(c.listValues[vj.Type()], vj) - } + if fv.Len() == 0 { + c.listPresence[elemT] = true // explicit empty list present + } + for j := 0; j < fv.Len(); j++ { + vj := fv.Index(j) + c.listValues[vj.Type()] = append(c.listValues[vj.Type()], vj) } default: