From b348a78000327817c85bb44ab1b5b810c2652c05 Mon Sep 17 00:00:00 2001 From: Robert van Gent Date: Tue, 31 Jul 2018 10:48:16 -0700 Subject: [PATCH] wire: use providerMap.Iterate instead of providerMap.Keys() + At() (google/go-cloud#265) --- internal/wire/analyze.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/wire/analyze.go b/internal/wire/analyze.go index b68afac..4207eb6 100644 --- a/internal/wire/analyze.go +++ b/internal/wire/analyze.go @@ -240,14 +240,14 @@ func buildProviderMap(fset *token.FileSet, hasher typeutil.Hasher, set *Provider // Process imports first, verifying that there are no conflicts between sets. ec := new(errorCollector) for _, imp := range set.Imports { - for _, k := range imp.providerMap.Keys() { + imp.providerMap.Iterate(func(k types.Type, v interface{}) { if providerMap.At(k) != nil { ec.add(bindingConflictError(fset, imp.Pos, k, setMap.At(k).(*ProviderSet))) - continue + return } - providerMap.Set(k, imp.providerMap.At(k)) + providerMap.Set(k, v) setMap.Set(k, imp) - } + }) } if len(ec.errors) > 0 { return nil, ec.errors