Your message dated Sun, 28 Nov 2021 12:18:39 +0000
with message-id <e1mrj8h-000hre...@fasolo.debian.org>
and subject line Bug#997562: fixed in golang-github-google-wire 0.4.0-4
has caused the Debian Bug report #997562,
regarding golang-github-google-wire: FTBFS: dh_auto_test: error: cd _build && 
go test -vet=off -v -p 4 github.com/google/wire github.com/google/wire/cmd/wire 
github.com/google/wire/internal/wire returned exit code 1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
997562: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997562
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: golang-github-google-wire
Version: 0.4.0-3
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20211023 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> dpkg-buildpackage
> -----------------
> 
> Command: dpkg-buildpackage -us -uc -sa -rfakeroot
> dpkg-buildpackage: info: source package golang-github-google-wire
> dpkg-buildpackage: info: source version 0.4.0-3
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Anthony Fok <f...@debian.org>
>  dpkg-source --before-build .
> dpkg-buildpackage: info: host architecture amd64
>  debian/rules clean
> dh clean --builddirectory=_build --buildsystem=golang --with golang
>    dh_auto_clean -O--builddirectory=_build -O--buildsystem=golang
>    dh_autoreconf_clean -O--builddirectory=_build -O--buildsystem=golang
>    dh_clean -O--builddirectory=_build -O--buildsystem=golang
>  dpkg-source -b .
> dpkg-source: info: using source format '3.0 (quilt)'
> dpkg-source: info: building golang-github-google-wire using existing 
> ./golang-github-google-wire_0.4.0.orig.tar.gz
> dpkg-source: info: building golang-github-google-wire in 
> golang-github-google-wire_0.4.0-3.debian.tar.xz
> dpkg-source: info: building golang-github-google-wire in 
> golang-github-google-wire_0.4.0-3.dsc
>  debian/rules binary
> dh binary --builddirectory=_build --buildsystem=golang --with golang
>    dh_update_autotools_config -O--builddirectory=_build -O--buildsystem=golang
>    dh_autoreconf -O--builddirectory=_build -O--buildsystem=golang
>    dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang
>    dh_auto_build -O--builddirectory=_build -O--buildsystem=golang
>       cd _build && go install -trimpath -v -p 4 github.com/google/wire 
> github.com/google/wire/cmd/wire github.com/google/wire/internal/wire
> github.com/google/wire
> internal/unsafeheader
> internal/cpu
> internal/abi
> internal/goexperiment
> runtime/internal/atomic
> runtime/internal/sys
> internal/race
> runtime/internal/math
> sync/atomic
> internal/bytealg
> internal/itoa
> math/bits
> unicode/utf8
> math
> unicode
> encoding
> unicode/utf16
> runtime
> internal/goversion
> golang.org/x/mod/semver
> golang.org/x/xerrors/internal
> internal/reflectlite
> sync
> internal/testlog
> math/rand
> errors
> sort
> internal/oserror
> io
> strconv
> syscall
> path
> strings
> bytes
> reflect
> go/build/constraint
> text/tabwriter
> container/heap
> regexp/syntax
> bufio
> time
> internal/syscall/unix
> internal/syscall/execenv
> regexp
> context
> internal/poll
> io/fs
> encoding/binary
> internal/fmtsort
> os
> encoding/base64
> internal/lazyregexp
> io/ioutil
> path/filepath
> fmt
> os/exec
> go/token
> flag
> encoding/json
> math/big
> go/scanner
> github.com/google/subcommands
> go/ast
> golang.org/x/sys/execabs
> net/url
> text/template/parse
> internal/buildcfg
> internal/execabs
> go/internal/typeparams
> internal/goroot
> go/parser
> go/printer
> go/constant
> text/template
> text/scanner
> go/format
> go/types
> golang.org/x/tools/internal/event/label
> golang.org/x/xerrors
> golang.org/x/tools/internal/event/keys
> log
> golang.org/x/tools/internal/event/core
> github.com/pmezard/go-difflib/difflib
> go/doc
> golang.org/x/tools/internal/event
> golang.org/x/tools/internal/gocommand
> golang.org/x/tools/internal/packagesinternal
> go/build
> golang.org/x/tools/internal/typeparams
> golang.org/x/tools/go/internal/packagesdriver
> golang.org/x/tools/internal/typesinternal
> golang.org/x/tools/go/ast/astutil
> golang.org/x/tools/go/internal/gcimporter
> golang.org/x/tools/go/types/typeutil
> golang.org/x/tools/go/gcexportdata
> golang.org/x/tools/go/packages
> github.com/google/wire/internal/wire
> github.com/google/wire/cmd/wire
>    dh_auto_test -O--builddirectory=_build -O--buildsystem=golang
>       cd _build && go test -vet=off -v -p 4 github.com/google/wire 
> github.com/google/wire/cmd/wire github.com/google/wire/internal/wire
> ?     github.com/google/wire  [no test files]
> ?     github.com/google/wire/cmd/wire [no test files]
> === RUN   TestWire
> === RUN   TestWire/BindInjectorArg
> === PAUSE TestWire/BindInjectorArg
> === RUN   TestWire/BindInjectorArgPointer
> === PAUSE TestWire/BindInjectorArgPointer
> === RUN   TestWire/BindInterfaceWithValue
> === PAUSE TestWire/BindInterfaceWithValue
> === RUN   TestWire/BuildTagsAllPackages
> === PAUSE TestWire/BuildTagsAllPackages
> === RUN   TestWire/Chain
> === PAUSE TestWire/Chain
> === RUN   TestWire/Cleanup
> === PAUSE TestWire/Cleanup
> === RUN   TestWire/CopyOtherDecls
> === PAUSE TestWire/CopyOtherDecls
> === RUN   TestWire/Cycle
> === PAUSE TestWire/Cycle
> === RUN   TestWire/EmptyVar
> === PAUSE TestWire/EmptyVar
> === RUN   TestWire/ExampleWithMocks
> === PAUSE TestWire/ExampleWithMocks
> === RUN   TestWire/ExportedValue
> === PAUSE TestWire/ExportedValue
> === RUN   TestWire/ExportedValueDifferentPackage
> === PAUSE TestWire/ExportedValueDifferentPackage
> === RUN   TestWire/FieldsOfCycle
> === PAUSE TestWire/FieldsOfCycle
> === RUN   TestWire/FieldsOfImportedStruct
> === PAUSE TestWire/FieldsOfImportedStruct
> === RUN   TestWire/FieldsOfStruct
> === PAUSE TestWire/FieldsOfStruct
> === RUN   TestWire/FieldsOfStructDoNotProvidePtrToField
> === PAUSE TestWire/FieldsOfStructDoNotProvidePtrToField
> === RUN   TestWire/FieldsOfStructPointer
> === PAUSE TestWire/FieldsOfStructPointer
> === RUN   TestWire/FieldsOfValueStruct
> === PAUSE TestWire/FieldsOfValueStruct
> === RUN   TestWire/FuncArgProvider
> === PAUSE TestWire/FuncArgProvider
> === RUN   TestWire/Header
> === PAUSE TestWire/Header
> === RUN   TestWire/ImportedInterfaceBinding
> === PAUSE TestWire/ImportedInterfaceBinding
> === RUN   TestWire/InjectInput
> === PAUSE TestWire/InjectInput
> === RUN   TestWire/InjectInputConflict
> === PAUSE TestWire/InjectInputConflict
> === RUN   TestWire/InjectWithPanic
> === PAUSE TestWire/InjectWithPanic
> === RUN   TestWire/InjectorMissingCleanup
> === PAUSE TestWire/InjectorMissingCleanup
> === RUN   TestWire/InjectorMissingError
> === PAUSE TestWire/InjectorMissingError
> === RUN   TestWire/InterfaceBinding
> === PAUSE TestWire/InterfaceBinding
> === RUN   TestWire/InterfaceBindingDoesntImplement
> === PAUSE TestWire/InterfaceBindingDoesntImplement
> === RUN   TestWire/InterfaceBindingInvalidArg0
> === PAUSE TestWire/InterfaceBindingInvalidArg0
> === RUN   TestWire/InterfaceBindingNotEnoughArgs
> === PAUSE TestWire/InterfaceBindingNotEnoughArgs
> === RUN   TestWire/InterfaceBindingReuse
> === PAUSE TestWire/InterfaceBindingReuse
> === RUN   TestWire/InterfaceValue
> === PAUSE TestWire/InterfaceValue
> === RUN   TestWire/InterfaceValueDoesntImplement
> === PAUSE TestWire/InterfaceValueDoesntImplement
> === RUN   TestWire/InterfaceValueInvalidArg0
> === PAUSE TestWire/InterfaceValueInvalidArg0
> === RUN   TestWire/InterfaceValueNotEnoughArgs
> === PAUSE TestWire/InterfaceValueNotEnoughArgs
> === RUN   TestWire/InvalidInjector
> === PAUSE TestWire/InvalidInjector
> === RUN   TestWire/MultipleArgsSameType
> === PAUSE TestWire/MultipleArgsSameType
> === RUN   TestWire/MultipleBindings
> === PAUSE TestWire/MultipleBindings
> === RUN   TestWire/MultipleMissingInputs
> === PAUSE TestWire/MultipleMissingInputs
> === RUN   TestWire/MultipleSimilarPackages
> === PAUSE TestWire/MultipleSimilarPackages
> === RUN   TestWire/NamingWorstCase
> === PAUSE TestWire/NamingWorstCase
> === RUN   TestWire/NamingWorstCaseAllInOne
> === PAUSE TestWire/NamingWorstCaseAllInOne
> === RUN   TestWire/NiladicIdentity
> === PAUSE TestWire/NiladicIdentity
> === RUN   TestWire/NiladicValue
> === PAUSE TestWire/NiladicValue
> === RUN   TestWire/NoImplicitInterface
> === PAUSE TestWire/NoImplicitInterface
> === RUN   TestWire/NoInjectParamNames
> === PAUSE TestWire/NoInjectParamNames
> === RUN   TestWire/NoopBuild
> === PAUSE TestWire/NoopBuild
> === RUN   TestWire/PartialCleanup
> === PAUSE TestWire/PartialCleanup
> === RUN   TestWire/PkgImport
> === PAUSE TestWire/PkgImport
> === RUN   TestWire/ProviderSetBindingMissingConcreteType
> === PAUSE TestWire/ProviderSetBindingMissingConcreteType
> === RUN   TestWire/RelativePkg
> === PAUSE TestWire/RelativePkg
> === RUN   TestWire/ReservedKeywords
> === PAUSE TestWire/ReservedKeywords
> === RUN   TestWire/ReturnArgumentAsInterface
> === PAUSE TestWire/ReturnArgumentAsInterface
> === RUN   TestWire/ReturnError
> === PAUSE TestWire/ReturnError
> === RUN   TestWire/Struct
> === PAUSE TestWire/Struct
> === RUN   TestWire/StructNotAStruct
> === PAUSE TestWire/StructNotAStruct
> === RUN   TestWire/StructPointer
> === PAUSE TestWire/StructPointer
> === RUN   TestWire/StructWithPreventTag
> === PAUSE TestWire/StructWithPreventTag
> === RUN   TestWire/TwoDeps
> === PAUSE TestWire/TwoDeps
> === RUN   TestWire/UnexportedStruct
> === PAUSE TestWire/UnexportedStruct
> === RUN   TestWire/UnexportedValue
> === PAUSE TestWire/UnexportedValue
> === RUN   TestWire/UnusedProviders
> === PAUSE TestWire/UnusedProviders
> === RUN   TestWire/ValueChain
> === PAUSE TestWire/ValueChain
> === RUN   TestWire/ValueConversion
> === PAUSE TestWire/ValueConversion
> === RUN   TestWire/ValueFromFunctionScope
> === PAUSE TestWire/ValueFromFunctionScope
> === RUN   TestWire/ValueIsInterfaceValue
> === PAUSE TestWire/ValueIsInterfaceValue
> === RUN   TestWire/ValueIsStruct
> === PAUSE TestWire/ValueIsStruct
> === RUN   TestWire/VarValue
> === PAUSE TestWire/VarValue
> === RUN   TestWire/Varargs
> === PAUSE TestWire/Varargs
> === CONT  TestWire/BindInjectorArg
> === CONT  TestWire/InvalidInjector
> === CONT  TestWire/FuncArgProvider
> === CONT  TestWire/ReturnArgumentAsInterface
> === CONT  TestWire/FuncArgProvider
>     wire_test.go:108: 
> /tmp/wire_test2663572647/src/example.com/foo/wire.go:25:19: var fn func() 
> *example.com/foo.Foo is not a provider or a provider set
> === CONT  TestWire/FieldsOfValueStruct
> === CONT  TestWire/InvalidInjector
>     wire_test.go:108: a call to wire.Build indicates that this function is an 
> injector, but injectors must consist of only the wire.Build call and an 
> optional return
>     wire_test.go:108: a call to wire.Build indicates that this function is an 
> injector, but injectors must consist of only the wire.Build call and an 
> optional return
> === CONT  TestWire/FieldsOfStructPointer
> === CONT  TestWire/BindInjectorArg
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func inject(foo Foo) *Bar {
>               bar := NewBar(foo)
>               return bar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func inject(foo Foo) *Bar {
>               bar := NewBar(foo)
>               return bar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 8 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func inject(foo Foo) *Bar {
>               bar := NewBar(foo)
>               return bar
>         }
> === CONT  TestWire/FieldsOfStructDoNotProvidePtrToField
> === CONT  TestWire/ReturnArgumentAsInterface
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectStringer(s MyString) fmt.Stringer {
>               return s
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectStringer(s MyString) fmt.Stringer {
>               return s
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 11 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectStringer(s MyString) fmt.Stringer {
>               return s
>         }
> === CONT  TestWire/FieldsOfStruct
> === CONT  TestWire/FieldsOfValueStruct
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>               "example.com/baz"
>               "example.com/foo"
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func newBazService() *baz.Service {
>               config := _wireConfigValue
>               fooConfig := config.Foo
>               service := foo.New(fooConfig)
>               barConfig := config.Bar
>               barService := bar.New(barConfig, service)
>               bazService := &baz.Service{
>                       Foo: service,
>                       Bar: barService,
>               }
>               return bazService
>         }
>         
>         var (
>               _wireConfigValue = &baz.Config{
>                       Foo: &foo.Config{1},
>                       Bar: &bar.Config{2},
>               }
>         )
>         
>         // wire.go:
>         
>         func main() {
>               svc := newBazService()
>               fmt.Println(svc.String())
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>               "example.com/baz"
>               "example.com/foo"
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func newBazService() *baz.Service {
>               config := _wireConfigValue
>               fooConfig := config.Foo
>               service := foo.New(fooConfig)
>               barConfig := config.Bar
>               barService := bar.New(barConfig, service)
>               bazService := &baz.Service{
>                       Foo: service,
>                       Bar: barService,
>               }
>               return bazService
>         }
>         
>         var (
>               _wireConfigValue = &baz.Config{
>                       Foo: &foo.Config{1},
>                       Bar: &bar.Config{2},
>               }
>         )
>         
>         // wire.go:
>         
>         func main() {
>               svc := newBazService()
>               fmt.Println(svc.String())
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 37 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>               "example.com/baz"
>               "example.com/foo"
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func newBazService() *baz.Service {
>               config := _wireConfigValue
>               fooConfig := config.Foo
>               service := foo.New(fooConfig)
>               barConfig := config.Bar
>               barService := bar.New(barConfig, service)
>               bazService := &baz.Service{
>                       Foo: service,
>                       Bar: barService,
>               }
>               return bazService
>         }
>         
>         var (
>               _wireConfigValue = &baz.Config{
>                       Foo: &foo.Config{1},
>                       Bar: &bar.Config{2},
>               }
>         )
>         
>         // wire.go:
>         
>         func main() {
>               svc := newBazService()
>               fmt.Println(svc.String())
>         }
> === CONT  TestWire/FieldsOfImportedStruct
> === CONT  TestWire/FieldsOfStructDoNotProvidePtrToField
>     wire_test.go:108: 
> /tmp/wire_test1691001421/src/example.com/foo/wire.go:23:1: inject 
> injectedMessagePtr: no provider found for *string, output of injector
> === CONT  TestWire/FieldsOfCycle
> === CONT  TestWire/FieldsOfStructPointer
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               s := provideS()
>               string2 := s.Foo
>               return string2
>         }
>         
>         func injectedMessagePtr() *string {
>               s := provideS()
>               string2 := &s.Foo
>               return string2
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               s := provideS()
>               string2 := s.Foo
>               return string2
>         }
>         
>         func injectedMessagePtr() *string {
>               s := provideS()
>               string2 := &s.Foo
>               return string2
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 15 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               s := provideS()
>               string2 := s.Foo
>               return string2
>         }
>         
>         func injectedMessagePtr() *string {
>               s := provideS()
>               string2 := &s.Foo
>               return string2
>         }
> === CONT  TestWire/ExportedValueDifferentPackage
> === CONT  TestWire/FieldsOfStruct
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               s := provideS()
>               string2 := s.Foo
>               return string2
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               s := provideS()
>               string2 := s.Foo
>               return string2
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 9 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               s := provideS()
>               string2 := s.Foo
>               return string2
>         }
> === CONT  TestWire/ExportedValue
> === CONT  TestWire/FieldsOfImportedStruct
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>               "example.com/baz"
>               "example.com/foo"
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func newBazService(config *baz.Config) *baz.Service {
>               fooConfig := config.Foo
>               service := foo.New(fooConfig)
>               barConfig := config.Bar
>               barService := bar.New(barConfig, service)
>               bazService := &baz.Service{
>                       Foo: service,
>                       Bar: barService,
>               }
>               return bazService
>         }
>         
>         // wire.go:
>         
>         func main() {
>               cfg := &baz.Config{
>                       Foo: &foo.Config{1},
>                       Bar: &bar.Config{2},
>               }
>               svc := newBazService(cfg)
>               fmt.Println(svc.String())
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>               "example.com/baz"
>               "example.com/foo"
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func newBazService(config *baz.Config) *baz.Service {
>               fooConfig := config.Foo
>               service := foo.New(fooConfig)
>               barConfig := config.Bar
>               barService := bar.New(barConfig, service)
>               bazService := &baz.Service{
>                       Foo: service,
>                       Bar: barService,
>               }
>               return bazService
>         }
>         
>         // wire.go:
>         
>         func main() {
>               cfg := &baz.Config{
>                       Foo: &foo.Config{1},
>                       Bar: &bar.Config{2},
>               }
>               svc := newBazService(cfg)
>               fmt.Println(svc.String())
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 33 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>               "example.com/baz"
>               "example.com/foo"
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func newBazService(config *baz.Config) *baz.Service {
>               fooConfig := config.Foo
>               service := foo.New(fooConfig)
>               barConfig := config.Bar
>               barService := bar.New(barConfig, service)
>               bazService := &baz.Service{
>                       Foo: service,
>                       Bar: barService,
>               }
>               return bazService
>         }
>         
>         // wire.go:
>         
>         func main() {
>               cfg := &baz.Config{
>                       Foo: &foo.Config{1},
>                       Bar: &bar.Config{2},
>               }
>               svc := newBazService(cfg)
>               fmt.Println(svc.String())
>         }
> === CONT  TestWire/ExampleWithMocks
> === CONT  TestWire/ExportedValueDifferentPackage
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "os"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectedFile() *os.File {
>               file := _wireFileValue
>               return file
>         }
>         
>         var (
>               _wireFileValue = os.Stdout
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "os"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectedFile() *os.File {
>               file := _wireFileValue
>               return file
>         }
>         
>         var (
>               _wireFileValue = os.Stdout
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 16 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "os"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectedFile() *os.File {
>               file := _wireFileValue
>               return file
>         }
>         
>         var (
>               _wireFileValue = os.Stdout
>         )
> === CONT  TestWire/EmptyVar
> === CONT  TestWire/FieldsOfCycle
>     wire_test.go:108: 
> /tmp/wire_test631712706/src/example.com/foo/wire.go:23:1: cycle for 
> example.com/foo.Bar:
>         example.com/foo.Bar (example.com/foo.provideBar) ->
>         example.com/foo.Foo (example.com/foo.provideFoo) ->
>         example.com/foo.Baz (example.com/foo.Bar.Bz) ->
>         example.com/foo.Bar
> === CONT  TestWire/Cycle
> === CONT  TestWire/ExportedValue
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = bar.PublicMsg
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = bar.PublicMsg
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 16 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = bar.PublicMsg
>         )
> === CONT  TestWire/CopyOtherDecls
> === CONT  TestWire/EmptyVar
>     wire_test.go:108: 
> /tmp/wire_test1530247982/src/example.com/foo/wire.go:24:13: var 
> example.com/foo.myFakeSet struct{} is not a provider or a provider set
> === CONT  TestWire/Cleanup
> === CONT  TestWire/ExampleWithMocks
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func initApp() *app {
>               mainTimer := _wireRealTimeValue
>               mainGreeter := greeter{
>                       T: mainTimer,
>               }
>               mainApp := &app{
>                       g: mainGreeter,
>               }
>               return mainApp
>         }
>         
>         var (
>               _wireRealTimeValue = realTime{}
>         )
>         
>         func initMockedAppFromArgs(mt timer) *app {
>               mainGreeter := greeter{
>                       T: mt,
>               }
>               mainApp := &app{
>                       g: mainGreeter,
>               }
>               return mainApp
>         }
>         
>         func initMockedApp() *appWithMocks {
>               mainMockTimer := newMockTimer()
>               mainGreeter := greeter{
>                       T: mainMockTimer,
>               }
>               mainApp := app{
>                       g: mainGreeter,
>               }
>               mainAppWithMocks := &appWithMocks{
>                       app: mainApp,
>                       mt:  mainMockTimer,
>               }
>               return mainAppWithMocks
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func initApp() *app {
>               mainTimer := _wireRealTimeValue
>               mainGreeter := greeter{
>                       T: mainTimer,
>               }
>               mainApp := &app{
>                       g: mainGreeter,
>               }
>               return mainApp
>         }
>         
>         var (
>               _wireRealTimeValue = realTime{}
>         )
>         
>         func initMockedAppFromArgs(mt timer) *app {
>               mainGreeter := greeter{
>                       T: mt,
>               }
>               mainApp := &app{
>                       g: mainGreeter,
>               }
>               return mainApp
>         }
>         
>         func initMockedApp() *appWithMocks {
>               mainMockTimer := newMockTimer()
>               mainGreeter := greeter{
>                       T: mainMockTimer,
>               }
>               mainApp := app{
>                       g: mainGreeter,
>               }
>               mainAppWithMocks := &appWithMocks{
>                       app: mainApp,
>                       mt:  mainMockTimer,
>               }
>               return mainAppWithMocks
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 43 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func initApp() *app {
>               mainTimer := _wireRealTimeValue
>               mainGreeter := greeter{
>                       T: mainTimer,
>               }
>               mainApp := &app{
>                       g: mainGreeter,
>               }
>               return mainApp
>         }
>         
>         var (
>               _wireRealTimeValue = realTime{}
>         )
>         
>         func initMockedAppFromArgs(mt timer) *app {
>               mainGreeter := greeter{
>                       T: mt,
>               }
>               mainApp := &app{
>                       g: mainGreeter,
>               }
>               return mainApp
>         }
>         
>         func initMockedApp() *appWithMocks {
>               mainMockTimer := newMockTimer()
>               mainGreeter := greeter{
>                       T: mainMockTimer,
>               }
>               mainApp := app{
>                       g: mainGreeter,
>               }
>               mainAppWithMocks := &appWithMocks{
>                       app: mainApp,
>                       mt:  mainMockTimer,
>               }
>               return mainAppWithMocks
>         }
> === CONT  TestWire/Chain
> === CONT  TestWire/Cycle
>     wire_test.go:108: 
> /tmp/wire_test3744001916/src/example.com/foo/wire.go:23:1: cycle for 
> example.com/foo.Bar:
>         example.com/foo.Bar (example.com/foo.provideBar) ->
>         example.com/foo.Foo (example.com/foo.provideFoo) ->
>         example.com/foo.Baz (example.com/foo.provideBaz) ->
>         example.com/foo.Bar
> === CONT  TestWire/BuildTagsAllPackages
> === CONT  TestWire/CopyOtherDecls
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "fmt"
>         )
>         
>         // Injectors from foo.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
>         
>         // foo.go:
>         
>         func main() {
>               fmt.Println(injectedMessage())
>         }
>         
>         // provideMessage provides a friendly user greeting.
>         func provideMessage() string {
>               return "Hello, World!"
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "fmt"
>         )
>         
>         // Injectors from foo.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
>         
>         // foo.go:
>         
>         func main() {
>               fmt.Println(injectedMessage())
>         }
>         
>         // provideMessage provides a friendly user greeting.
>         func provideMessage() string {
>               return "Hello, World!"
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 23 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "fmt"
>         )
>         
>         // Injectors from foo.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
>         
>         // foo.go:
>         
>         func main() {
>               fmt.Println(injectedMessage())
>         }
>         
>         // provideMessage provides a friendly user greeting.
>         func provideMessage() string {
>               return "Hello, World!"
>         }
> === CONT  TestWire/BindInterfaceWithValue
> === CONT  TestWire/Cleanup
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectBar() (*Bar, func()) {
>               foo, cleanup := provideFoo()
>               bar, cleanup2 := provideBar(foo)
>               return bar, func() {
>                       cleanup2()
>                       cleanup()
>               }
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectBar() (*Bar, func()) {
>               foo, cleanup := provideFoo()
>               bar, cleanup2 := provideBar(foo)
>               return bar, func() {
>                       cleanup2()
>                       cleanup()
>               }
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 12 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectBar() (*Bar, func()) {
>               foo, cleanup := provideFoo()
>               bar, cleanup2 := provideBar(foo)
>               return bar, func() {
>                       cleanup2()
>                       cleanup()
>               }
>         }
> === CONT  TestWire/BindInjectorArgPointer
> === CONT  TestWire/Chain
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               fooBar := provideFooBar(foo)
>               return fooBar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               fooBar := provideFooBar(foo)
>               return fooBar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 9 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               fooBar := provideFooBar(foo)
>               return fooBar
>         }
> === CONT  TestWire/NoImplicitInterface
> === CONT  TestWire/BuildTagsAllPackages
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = "Hello, World!"
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = "Hello, World!"
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 12 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = "Hello, World!"
>         )
> === CONT  TestWire/ReservedKeywords
> === CONT  TestWire/BindInterfaceWithValue
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "io"
>               "os"
>         )
>         
>         // Injectors from wire.go:
>         
>         func inject() io.Writer {
>               file := _wireFileValue
>               return file
>         }
>         
>         var (
>               _wireFileValue = os.Stdout
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "io"
>               "os"
>         )
>         
>         // Injectors from wire.go:
>         
>         func inject() io.Writer {
>               file := _wireFileValue
>               return file
>         }
>         
>         var (
>               _wireFileValue = os.Stdout
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 17 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "io"
>               "os"
>         )
>         
>         // Injectors from wire.go:
>         
>         func inject() io.Writer {
>               file := _wireFileValue
>               return file
>         }
>         
>         var (
>               _wireFileValue = os.Stdout
>         )
> === CONT  TestWire/RelativePkg
> === CONT  TestWire/BindInjectorArgPointer
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func inject(foo *Foo) *Bar {
>               bar := NewBar(foo)
>               return bar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func inject(foo *Foo) *Bar {
>               bar := NewBar(foo)
>               return bar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 8 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func inject(foo *Foo) *Bar {
>               bar := NewBar(foo)
>               return bar
>         }
> === CONT  TestWire/ProviderSetBindingMissingConcreteType
> === CONT  TestWire/NoImplicitInterface
>     wire_test.go:108: 
> /tmp/wire_test3155065153/src/example.com/foo/wire.go:23:1: inject 
> injectFooer: no provider found for example.com/foo.Fooer, output of injector
> === CONT  TestWire/PkgImport
> === CONT  TestWire/ReservedKeywords
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectInterface() Interface {
>               select2 := provideSelect()
>               mainInterface := provideInterface(select2)
>               return mainInterface
>         }
>         
>         // wire.go:
>         
>         // Wire tries to disambiguate the variable "select" by prepending
>         // the package name; this package-scoped variable conflicts with that
>         // and forces a different name.
>         var mainSelect = 0
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectInterface() Interface {
>               select2 := provideSelect()
>               mainInterface := provideInterface(select2)
>               return mainInterface
>         }
>         
>         // wire.go:
>         
>         // Wire tries to disambiguate the variable "select" by prepending
>         // the package name; this package-scoped variable conflicts with that
>         // and forces a different name.
>         var mainSelect = 0
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 16 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectInterface() Interface {
>               select2 := provideSelect()
>               mainInterface := provideInterface(select2)
>               return mainInterface
>         }
>         
>         // wire.go:
>         
>         // Wire tries to disambiguate the variable "select" by prepending
>         // the package name; this package-scoped variable conflicts with that
>         // and forces a different name.
>         var mainSelect = 0
> === CONT  TestWire/PartialCleanup
> === CONT  TestWire/ProviderSetBindingMissingConcreteType
>     wire_test.go:108: 
> /tmp/wire_test577842897/src/example.com/foo/foo.go:47:21: wire.Bind of 
> concrete type "*example.com/foo.foo" to interface "example.com/foo.fooer", 
> but setB does not include a provider for "*example.com/foo.foo"
> === CONT  TestWire/NoopBuild
> === CONT  TestWire/RelativePkg
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 8 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
> === CONT  TestWire/NoInjectParamNames
> === CONT  TestWire/PkgImport
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>         )
>         
>         import (
>               _ "example.com/anon1"
>               _ "example.com/anon2"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               barBar := bar.ProvideBar()
>               fooBar := provideFooBar(foo, barBar)
>               return fooBar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>         )
>         
>         import (
>               _ "example.com/anon1"
>               _ "example.com/anon2"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               barBar := bar.ProvideBar()
>               fooBar := provideFooBar(foo, barBar)
>               return fooBar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 19 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>         )
>         
>         import (
>               _ "example.com/anon1"
>               _ "example.com/anon2"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               barBar := bar.ProvideBar()
>               fooBar := provideFooBar(foo, barBar)
>               return fooBar
>         }
> === CONT  TestWire/NamingWorstCase
> === CONT  TestWire/PartialCleanup
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectBaz() (Baz, func(), error) {
>               foo, cleanup := provideFoo()
>               bar, cleanup2, err := provideBar(foo)
>               if err != nil {
>                       cleanup()
>                       return 0, nil, err
>               }
>               baz, err := provideBaz(bar)
>               if err != nil {
>                       cleanup2()
>                       cleanup()
>                       return 0, nil, err
>               }
>               return baz, func() {
>                       cleanup2()
>                       cleanup()
>               }, nil
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectBaz() (Baz, func(), error) {
>               foo, cleanup := provideFoo()
>               bar, cleanup2, err := provideBar(foo)
>               if err != nil {
>                       cleanup()
>                       return 0, nil, err
>               }
>               baz, err := provideBaz(bar)
>               if err != nil {
>                       cleanup2()
>                       cleanup()
>                       return 0, nil, err
>               }
>               return baz, func() {
>                       cleanup2()
>                       cleanup()
>               }, nil
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 22 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectBaz() (Baz, func(), error) {
>               foo, cleanup := provideFoo()
>               bar, cleanup2, err := provideBar(foo)
>               if err != nil {
>                       cleanup()
>                       return 0, nil, err
>               }
>               baz, err := provideBaz(bar)
>               if err != nil {
>                       cleanup2()
>                       cleanup()
>                       return 0, nil, err
>               }
>               return baz, func() {
>                       cleanup2()
>                       cleanup()
>               }, nil
>         }
> === CONT  TestWire/NiladicValue
> === CONT  TestWire/NiladicIdentity
> === CONT  TestWire/NoInjectParamNames
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               context2 "context"
>         )
>         
>         // Injectors from wire.go:
>         
>         func inject(contextContext context2.Context, arg struct{}) (context, 
> error) {
>               mainContext, err := provide(contextContext)
>               if err != nil {
>                       return context{}, err
>               }
>               return mainContext, nil
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               context2 "context"
>         )
>         
>         // Injectors from wire.go:
>         
>         func inject(contextContext context2.Context, arg struct{}) (context, 
> error) {
>               mainContext, err := provide(contextContext)
>               if err != nil {
>                       return context{}, err
>               }
>               return mainContext, nil
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 15 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               context2 "context"
>         )
>         
>         // Injectors from wire.go:
>         
>         func inject(contextContext context2.Context, arg struct{}) (context, 
> error) {
>               mainContext, err := provide(contextContext)
>               if err != nil {
>                       return context{}, err
>               }
>               return mainContext, nil
>         }
> === CONT  TestWire/NamingWorstCaseAllInOne
> === CONT  TestWire/NamingWorstCase
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               context2 "context"
>         )
>         
>         // Injectors from wire.go:
>         
>         func inject(context3 context2.Context, err2 struct{}) (context, 
> error) {
>               mainContext, err := provide(context3)
>               if err != nil {
>                       return context{}, err
>               }
>               return mainContext, nil
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               context2 "context"
>         )
>         
>         // Injectors from wire.go:
>         
>         func inject(context3 context2.Context, err2 struct{}) (context, 
> error) {
>               mainContext, err := provide(context3)
>               if err != nil {
>                       return context{}, err
>               }
>               return mainContext, nil
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 15 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               context2 "context"
>         )
>         
>         // Injectors from wire.go:
>         
>         func inject(context3 context2.Context, err2 struct{}) (context, 
> error) {
>               mainContext, err := provide(context3)
>               if err != nil {
>                       return context{}, err
>               }
>               return mainContext, nil
>         }
> === CONT  TestWire/MultipleMissingInputs
> === CONT  TestWire/NiladicValue
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = "Hello, World!"
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = "Hello, World!"
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 12 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = "Hello, World!"
>         )
> === CONT  TestWire/MultipleSimilarPackages
> === CONT  TestWire/NiladicIdentity
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 8 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
> === CONT  TestWire/MultipleArgsSameType
> === CONT  TestWire/NamingWorstCaseAllInOne
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               context2 "context"
>               "fmt"
>               "os"
>               "reflect"
>         )
>         
>         // Injectors from foo.go:
>         
>         func inject(context3 context2.Context, err2 struct{}) (context, 
> error) {
>               mainContext, err := Provide(context3)
>               if err != nil {
>                       return context{}, err
>               }
>               return mainContext, nil
>         }
>         
>         // foo.go:
>         
>         type context struct{}
>         
>         func main() {
>               if _, ok := reflect.TypeOf(context{}).MethodByName("Provide"); 
> !ok {
>                       fmt.Println("ERROR: context.Provide renamed")
>                       os.Exit(1)
>               }
>               c, err := inject(context2.Background(), struct{}{})
>               if err != nil {
>                       fmt.Println("ERROR:", err)
>                       os.Exit(1)
>               }
>               fmt.Println(c)
>         }
>         
>         func Provide(context2_2 context2.Context) (context, error) {
>               var context3 = context2.Background()
>               _ = context2_2
>               _ = context3
>               return context{}, nil
>         }
>         
>         func (context) Provide() {
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               context2 "context"
>               "fmt"
>               "os"
>               "reflect"
>         )
>         
>         // Injectors from foo.go:
>         
>         func inject(context3 context2.Context, err2 struct{}) (context, 
> error) {
>               mainContext, err := Provide(context3)
>               if err != nil {
>                       return context{}, err
>               }
>               return mainContext, nil
>         }
>         
>         // foo.go:
>         
>         type context struct{}
>         
>         func main() {
>               if _, ok := reflect.TypeOf(context{}).MethodByName("Provide"); 
> !ok {
>                       fmt.Println("ERROR: context.Provide renamed")
>                       os.Exit(1)
>               }
>               c, err := inject(context2.Background(), struct{}{})
>               if err != nil {
>                       fmt.Println("ERROR:", err)
>                       os.Exit(1)
>               }
>               fmt.Println(c)
>         }
>         
>         func Provide(context2_2 context2.Context) (context, error) {
>               var context3 = context2.Background()
>               _ = context2_2
>               _ = context3
>               return context{}, nil
>         }
>         
>         func (context) Provide() {
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 45 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               context2 "context"
>               "fmt"
>               "os"
>               "reflect"
>         )
>         
>         // Injectors from foo.go:
>         
>         func inject(context3 context2.Context, err2 struct{}) (context, 
> error) {
>               mainContext, err := Provide(context3)
>               if err != nil {
>                       return context{}, err
>               }
>               return mainContext, nil
>         }
>         
>         // foo.go:
>         
>         type context struct{}
>         
>         func main() {
>               if _, ok := reflect.TypeOf(context{}).MethodByName("Provide"); 
> !ok {
>                       fmt.Println("ERROR: context.Provide renamed")
>                       os.Exit(1)
>               }
>               c, err := inject(context2.Background(), struct{}{})
>               if err != nil {
>                       fmt.Println("ERROR:", err)
>                       os.Exit(1)
>               }
>               fmt.Println(c)
>         }
>         
>         func Provide(context2_2 context2.Context) (context, error) {
>               var context3 = context2.Background()
>               _ = context2_2
>               _ = context3
>               return context{}, nil
>         }
>         
>         func (context) Provide() {
>         }
> === CONT  TestWire/MultipleBindings
> === CONT  TestWire/MultipleArgsSameType
>     wire_test.go:108: 
> /tmp/wire_test2410916581/src/example.com/foo/wire.go:25:8: multiple bindings 
> for string
>         current:
>         <- argument b to injector function inject 
> (/tmp/wire_test2410916581/src/example.com/foo/wire.go:23:1)
>         previous:
>         <- argument a to injector function inject 
> (/tmp/wire_test2410916581/src/example.com/foo/wire.go:23:1)
> === CONT  TestWire/UnusedProviders
> === CONT  TestWire/MultipleMissingInputs
>     wire_test.go:108: 
> /tmp/wire_test449597687/src/example.com/foo/wire.go:23:1: inject 
> injectMissingOutputType: no provider found for example.com/foo.Foo, output of 
> injector
>     wire_test.go:108: 
> /tmp/wire_test449597687/src/example.com/foo/wire.go:29:1: inject 
> injectMultipleMissingTypes: no provider found for example.com/foo.Foo
>         needed by example.com/foo.Baz in provider "provideBaz" 
> (/tmp/wire_test449597687/src/example.com/foo/foo.go:29:6)
>     wire_test.go:108: 
> /tmp/wire_test449597687/src/example.com/foo/wire.go:29:1: inject 
> injectMultipleMissingTypes: no provider found for example.com/foo.Bar
>         needed by example.com/foo.Baz in provider "provideBaz" 
> (/tmp/wire_test449597687/src/example.com/foo/foo.go:29:6)
>     wire_test.go:108: 
> /tmp/wire_test449597687/src/example.com/foo/wire.go:35:1: inject 
> injectMissingRecursiveType: no provider found for example.com/foo.Foo
>         needed by example.com/foo.Zip in provider "provideZip" 
> (/tmp/wire_test449597687/src/example.com/foo/foo.go:37:6)
>         needed by example.com/foo.Zap in provider "provideZap" 
> (/tmp/wire_test449597687/src/example.com/foo/foo.go:41:6)
>         needed by example.com/foo.Zop in provider "provideZop" 
> (/tmp/wire_test449597687/src/example.com/foo/foo.go:45:6)
> === CONT  TestWire/Varargs
> === CONT  TestWire/MultipleSimilarPackages
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>               "example.com/baz"
>               "example.com/foo"
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func newMainService(mainConfig MainConfig) *MainService {
>               config := mainConfig.Foo
>               service := foo.New(config)
>               barConfig := mainConfig.Bar
>               barService := bar.New(barConfig, service)
>               bazConfig := mainConfig.baz
>               bazService := baz.New(bazConfig, barService)
>               mainService := &MainService{
>                       Foo: service,
>                       Bar: barService,
>                       baz: bazService,
>               }
>               return mainService
>         }
>         
>         // wire.go:
>         
>         type MainConfig struct {
>               Foo *foo.Config
>               Bar *bar.Config
>               baz *baz.Config
>         }
>         
>         type MainService struct {
>               Foo *foo.Service
>               Bar *bar.Service
>               baz *baz.Service
>         }
>         
>         func (m *MainService) String() string {
>               return fmt.Sprintf("%d %d %d", m.Foo.Cfg.V, m.Bar.Cfg.V, 
> m.baz.Cfg.V)
>         }
>         
>         func main() {
>               cfg := MainConfig{
>                       Foo: &foo.Config{1},
>                       Bar: &bar.Config{2},
>                       baz: &baz.Config{3},
>               }
>               svc := newMainService(cfg)
>               fmt.Println(svc.String())
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>               "example.com/baz"
>               "example.com/foo"
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func newMainService(mainConfig MainConfig) *MainService {
>               config := mainConfig.Foo
>               service := foo.New(config)
>               barConfig := mainConfig.Bar
>               barService := bar.New(barConfig, service)
>               bazConfig := mainConfig.baz
>               bazService := baz.New(bazConfig, barService)
>               mainService := &MainService{
>                       Foo: service,
>                       Bar: barService,
>                       baz: bazService,
>               }
>               return mainService
>         }
>         
>         // wire.go:
>         
>         type MainConfig struct {
>               Foo *foo.Config
>               Bar *bar.Config
>               baz *baz.Config
>         }
>         
>         type MainService struct {
>               Foo *foo.Service
>               Bar *bar.Service
>               baz *baz.Service
>         }
>         
>         func (m *MainService) String() string {
>               return fmt.Sprintf("%d %d %d", m.Foo.Cfg.V, m.Bar.Cfg.V, 
> m.baz.Cfg.V)
>         }
>         
>         func main() {
>               cfg := MainConfig{
>                       Foo: &foo.Config{1},
>                       Bar: &bar.Config{2},
>                       baz: &baz.Config{3},
>               }
>               svc := newMainService(cfg)
>               fmt.Println(svc.String())
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 53 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/bar"
>               "example.com/baz"
>               "example.com/foo"
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func newMainService(mainConfig MainConfig) *MainService {
>               config := mainConfig.Foo
>               service := foo.New(config)
>               barConfig := mainConfig.Bar
>               barService := bar.New(barConfig, service)
>               bazConfig := mainConfig.baz
>               bazService := baz.New(bazConfig, barService)
>               mainService := &MainService{
>                       Foo: service,
>                       Bar: barService,
>                       baz: bazService,
>               }
>               return mainService
>         }
>         
>         // wire.go:
>         
>         type MainConfig struct {
>               Foo *foo.Config
>               Bar *bar.Config
>               baz *baz.Config
>         }
>         
>         type MainService struct {
>               Foo *foo.Service
>               Bar *bar.Service
>               baz *baz.Service
>         }
>         
>         func (m *MainService) String() string {
>               return fmt.Sprintf("%d %d %d", m.Foo.Cfg.V, m.Bar.Cfg.V, 
> m.baz.Cfg.V)
>         }
>         
>         func main() {
>               cfg := MainConfig{
>                       Foo: &foo.Config{1},
>                       Bar: &bar.Config{2},
>                       baz: &baz.Config{3},
>               }
>               svc := newMainService(cfg)
>               fmt.Println(svc.String())
>         }
> === CONT  TestWire/VarValue
> === CONT  TestWire/UnusedProviders
>     wire_test.go:108: 
> /tmp/wire_test2849851773/src/example.com/foo/wire.go:23:1: inject 
> injectFooBar: unused provider set "unusedSet"
>     wire_test.go:108: 
> /tmp/wire_test2849851773/src/example.com/foo/wire.go:23:1: inject 
> injectFooBar: unused provider "main.provideUnused"
>     wire_test.go:108: 
> /tmp/wire_test2849851773/src/example.com/foo/wire.go:23:1: inject 
> injectFooBar: unused value of type string
>     wire_test.go:108: 
> /tmp/wire_test2849851773/src/example.com/foo/wire.go:23:1: inject 
> injectFooBar: unused interface binding to type example.com/foo.Fooer
>     wire_test.go:108: 
> /tmp/wire_test2849851773/src/example.com/foo/wire.go:23:1: inject 
> injectFooBar: unused field "example.com/foo.S".Cfg
> === CONT  TestWire/ValueIsStruct
> === CONT  TestWire/MultipleBindings
>     wire_test.go:108: 
> /tmp/wire_test280312781/src/example.com/foo/wire.go:27:8: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- provider "provideFooAgain" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:39:6)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:35:6)
>     wire_test.go:108: 
> /tmp/wire_test280312781/src/example.com/foo/wire.go:32:8: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- provider "provideFoo" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:35:6)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:35:6)
>         <- provider set "Set" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:31:11)
>     wire_test.go:108: 
> /tmp/wire_test280312781/src/example.com/foo/wire.go:37:8: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- provider "provideFoo" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:35:6)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:35:6)
>         <- provider set "Set" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:31:11)
>         <- provider set "SuperSet" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:32:16)
>     wire_test.go:108: 
> /tmp/wire_test280312781/src/example.com/foo/foo.go:33:32: 
> SetWithDuplicateBindings has multiple bindings for example.com/foo.Foo
>         current:
>         <- provider "provideFoo" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:35:6)
>         <- provider set "Set" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:31:11)
>         <- provider set "SuperSet" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:32:16)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:35:6)
>         <- provider set "Set" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:31:11)
>     wire_test.go:108: 
> /tmp/wire_test280312781/src/example.com/foo/wire.go:47:8: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- wire.Value 
> (/tmp/wire_test280312781/src/example.com/foo/wire.go:47:42)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:35:6)
>     wire_test.go:108: 
> /tmp/wire_test280312781/src/example.com/foo/wire.go:52:8: multiple bindings 
> for example.com/foo.Bar
>         current:
>         <- wire.Bind 
> (/tmp/wire_test280312781/src/example.com/foo/wire.go:52:31)
>         previous:
>         <- provider "provideBar" 
> (/tmp/wire_test280312781/src/example.com/foo/foo.go:43:6)
> === CONT  TestWire/ValueIsInterfaceValue
> === CONT  TestWire/Varargs
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage(t title, lines ...string) string {
>               string2 := provideMessage(lines...)
>               return string2
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage(t title, lines ...string) string {
>               string2 := provideMessage(lines...)
>               return string2
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 8 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage(t title, lines ...string) string {
>               string2 := provideMessage(lines...)
>               return string2
>         }
> === CONT  TestWire/ValueFromFunctionScope
> === CONT  TestWire/VarValue
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = msg
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = msg
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 12 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = msg
>         )
> === CONT  TestWire/ValueConversion
> === CONT  TestWire/ValueIsStruct
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() Foo {
>               foo := _wireFooValue
>               return foo
>         }
>         
>         var (
>               _wireFooValue = Foo{X: 42}
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() Foo {
>               foo := _wireFooValue
>               return foo
>         }
>         
>         var (
>               _wireFooValue = Foo{X: 42}
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 12 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() Foo {
>               foo := _wireFooValue
>               return foo
>         }
>         
>         var (
>               _wireFooValue = Foo{X: 42}
>         )
> === CONT  TestWire/ValueChain
> === CONT  TestWire/ValueIsInterfaceValue
>     wire_test.go:108: 
> /tmp/wire_test2642108289/src/example.com/foo/wire.go:27:13: argument to Value 
> may not be an interface value (found io.Reader); use InterfaceValue instead
> === CONT  TestWire/InterfaceBindingDoesntImplement
> === CONT  TestWire/ValueFromFunctionScope
>     wire_test.go:108: 
> /tmp/wire_test2650049746/src/example.com/foo/wire.go:23:1: inject injectBar: 
> value int can't be used: f is not declared in package scope
> === CONT  TestWire/InterfaceValueNotEnoughArgs
> === CONT  TestWire/ValueChain
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := _wireFooValue
>               fooBar := provideFooBar(foo)
>               return fooBar
>         }
>         
>         var (
>               _wireFooValue = Foo(41)
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := _wireFooValue
>               fooBar := provideFooBar(foo)
>               return fooBar
>         }
>         
>         var (
>               _wireFooValue = Foo(41)
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 13 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := _wireFooValue
>               fooBar := provideFooBar(foo)
>               return fooBar
>         }
>         
>         var (
>               _wireFooValue = Foo(41)
>         )
> === CONT  TestWire/InterfaceValueInvalidArg0
> === CONT  TestWire/ValueConversion
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() Foo {
>               foo := _wireFooValue
>               return foo
>         }
>         
>         var (
>               _wireFooValue = Foo("Hello, World!")
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() Foo {
>               foo := _wireFooValue
>               return foo
>         }
>         
>         var (
>               _wireFooValue = Foo("Hello, World!")
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 12 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() Foo {
>               foo := _wireFooValue
>               return foo
>         }
>         
>         var (
>               _wireFooValue = Foo("Hello, World!")
>         )
> === CONT  TestWire/InterfaceValueDoesntImplement
> === CONT  TestWire/InterfaceBindingDoesntImplement
>     wire_test.go:108: 
> /tmp/wire_test1305424118/src/example.com/foo/wire.go:25:13: string does not 
> implement example.com/foo.Fooer
> === CONT  TestWire/InterfaceValue
> === CONT  TestWire/InterfaceValueNotEnoughArgs
>     wire_test.go:108: 
> /tmp/wire_test2533055289/src/example.com/foo/wire.go:25:38: not enough 
> arguments in call to wire.InterfaceValue
>     wire_test.go:121: Errors didn't match expected errors from 
> wire_errors.txt:
>           []string{
>               strings.Join({
>                       "example.com/foo/wire.go:x:y: ",
>         -             "not enough",
>         +             "too few",
>                       " arguments in call to wire.InterfaceValue",
>               }, ""),
>           }
> === CONT  TestWire/InterfaceBindingReuse
> === CONT  TestWire/InterfaceValueInvalidArg0
>     wire_test.go:108: 
> /tmp/wire_test3138331645/src/example.com/foo/wire.go:25:13: first argument to 
> InterfaceValue must be a pointer to an interface type; found string
> === CONT  TestWire/InterfaceBindingNotEnoughArgs
> === CONT  TestWire/InterfaceValueDoesntImplement
>     wire_test.go:108: 
> /tmp/wire_test3565857552/src/example.com/foo/wire.go:26:13: string does not 
> implement io.Reader
> === CONT  TestWire/InterfaceBindingInvalidArg0
> === CONT  TestWire/InterfaceValue
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "io"
>               "strings"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectedReader() io.Reader {
>               reader := _wireReaderValue
>               return reader
>         }
>         
>         var (
>               _wireReaderValue = strings.NewReader("hello world")
>         )
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "io"
>               "strings"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectedReader() io.Reader {
>               reader := _wireReaderValue
>               return reader
>         }
>         
>         var (
>               _wireReaderValue = strings.NewReader("hello world")
>         )
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 17 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "io"
>               "strings"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectedReader() io.Reader {
>               reader := _wireReaderValue
>               return reader
>         }
>         
>         var (
>               _wireReaderValue = strings.NewReader("hello world")
>         )
> === CONT  TestWire/UnexportedValue
> === CONT  TestWire/InterfaceBindingNotEnoughArgs
>     wire_test.go:108: 
> /tmp/wire_test664476796/src/example.com/foo/wire.go:25:33: not enough 
> arguments in call to wire.Bind
>     wire_test.go:121: Errors didn't match expected errors from 
> wire_errors.txt:
>           []string{
>               strings.Join({
>                       "example.com/foo/wire.go:x:y: ",
>         -             "not enough",
>         +             "too few",
>                       " arguments in call to wire.Bind",
>               }, ""),
>           }
> === CONT  TestWire/UnexportedStruct
> === CONT  TestWire/InterfaceBindingReuse
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               bar := provideBar()
>               fooBar := provideFooBar(bar, bar)
>               return fooBar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               bar := provideBar()
>               fooBar := provideFooBar(bar, bar)
>               return fooBar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 9 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               bar := provideBar()
>               fooBar := provideFooBar(bar, bar)
>               return fooBar
>         }
> === CONT  TestWire/TwoDeps
> === CONT  TestWire/InterfaceBindingInvalidArg0
>     wire_test.go:108: 
> /tmp/wire_test3271975394/src/example.com/foo/wire.go:25:13: first argument to 
> Bind must be a pointer to an interface type; found string
> === CONT  TestWire/StructWithPreventTag
> === CONT  TestWire/UnexportedValue
>     wire_test.go:108: 
> /tmp/wire_test1462781180/src/example.com/foo/wire.go:24:1: inject 
> injectedMessage: value string can't be used: uses unexported identifier 
> privateMsg
> === CONT  TestWire/StructPointer
> === CONT  TestWire/UnexportedStruct
>     wire_test.go:108: 
> /tmp/wire_test4198486711/src/example.com/foo/wire.go:26:17: foo not exported 
> by package bar
> === CONT  TestWire/StructNotAStruct
> === CONT  TestWire/TwoDeps
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               bar := provideBar()
>               fooBar := provideFooBar(foo, bar)
>               return fooBar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               bar := provideBar()
>               fooBar := provideFooBar(foo, bar)
>               return fooBar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 10 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               bar := provideBar()
>               fooBar := provideFooBar(foo, bar)
>               return fooBar
>         }
> === CONT  TestWire/Struct
> === CONT  TestWire/StructWithPreventTag
>     wire_test.go:108: 
> /tmp/wire_test125183847/src/example.com/foo/foo.go:45:2: "mu" is prevented 
> from injecting by wire
> === CONT  TestWire/ReturnError
> === CONT  TestWire/StructPointer
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() *FooBar {
>               foo := provideFoo()
>               bar := provideBar()
>               fooBar := &FooBar{
>                       Foo: foo,
>                       Bar: bar,
>               }
>               return fooBar
>         }
>         
>         func injectEmptyStruct() *Empty {
>               empty := &Empty{}
>               return empty
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() *FooBar {
>               foo := provideFoo()
>               bar := provideBar()
>               fooBar := &FooBar{
>                       Foo: foo,
>                       Bar: bar,
>               }
>               return fooBar
>         }
>         
>         func injectEmptyStruct() *Empty {
>               empty := &Empty{}
>               return empty
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 18 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() *FooBar {
>               foo := provideFoo()
>               bar := provideBar()
>               fooBar := &FooBar{
>                       Foo: foo,
>                       Bar: bar,
>               }
>               return fooBar
>         }
>         
>         func injectEmptyStruct() *Empty {
>               empty := &Empty{}
>               return empty
>         }
> === CONT  TestWire/InjectWithPanic
> === CONT  TestWire/StructNotAStruct
>     wire_test.go:108: 
> /tmp/wire_test2170714647/src/example.com/foo/wire.go:24:13: first argument to 
> Struct must be a pointer to a named struct; found **example.com/foo.A
> === CONT  TestWire/InterfaceBinding
> === CONT  TestWire/ReturnError
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() (Foo, error) {
>               foo, err := provideFoo()
>               if err != nil {
>                       return 0, err
>               }
>               return foo, nil
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() (Foo, error) {
>               foo, err := provideFoo()
>               if err != nil {
>                       return 0, err
>               }
>               return foo, nil
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 11 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() (Foo, error) {
>               foo, err := provideFoo()
>               if err != nil {
>                       return 0, err
>               }
>               return foo, nil
>         }
> === CONT  TestWire/InjectorMissingError
> === CONT  TestWire/Struct
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               bar := provideBar()
>               fooBar := FooBar{
>                       Foo: foo,
>                       Bar: bar,
>               }
>               return fooBar
>         }
>         
>         func injectPartFooBar() FooBar {
>               foo := provideFoo()
>               fooBar := FooBar{
>                       Foo: foo,
>               }
>               return fooBar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               bar := provideBar()
>               fooBar := FooBar{
>                       Foo: foo,
>                       Bar: bar,
>               }
>               return fooBar
>         }
>         
>         func injectPartFooBar() FooBar {
>               foo := provideFoo()
>               fooBar := FooBar{
>                       Foo: foo,
>               }
>               return fooBar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 21 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               bar := provideBar()
>               fooBar := FooBar{
>                       Foo: foo,
>                       Bar: bar,
>               }
>               return fooBar
>         }
>         
>         func injectPartFooBar() FooBar {
>               foo := provideFoo()
>               fooBar := FooBar{
>                       Foo: foo,
>               }
>               return fooBar
>         }
> === CONT  TestWire/InjectorMissingCleanup
> === CONT  TestWire/InterfaceBinding
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooer() Fooer {
>               bar := provideBar()
>               return bar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooer() Fooer {
>               bar := provideBar()
>               return bar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 8 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooer() Fooer {
>               bar := provideBar()
>               return bar
>         }
> === CONT  TestWire/InjectInput
> === CONT  TestWire/InjectWithPanic
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 8 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
> === CONT  TestWire/InjectInputConflict
> === CONT  TestWire/InjectorMissingError
>     wire_test.go:108: 
> /tmp/wire_test738381919/src/example.com/foo/wire.go:23:1: inject injectFoo: 
> provider for example.com/foo.Foo returns error but injection not allowed to 
> fail
> === CONT  TestWire/ImportedInterfaceBinding
> === CONT  TestWire/InjectorMissingCleanup
>     wire_test.go:108: 
> /tmp/wire_test4128162543/src/example.com/foo/wire.go:23:1: inject injectFoo: 
> provider for example.com/foo.Foo returns cleanup but injection does not 
> return cleanup function
> === CONT  TestWire/Header
> === CONT  TestWire/InjectInput
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar(foo Foo) FooBar {
>               bar := provideBar()
>               fooBar := provideFooBar(foo, bar)
>               return fooBar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar(foo Foo) FooBar {
>               bar := provideBar()
>               fooBar := provideFooBar(foo, bar)
>               return fooBar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 9 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar(foo Foo) FooBar {
>               bar := provideBar()
>               fooBar := provideFooBar(foo, bar)
>               return fooBar
>         }
> === CONT  TestWire/InjectInputConflict
>     wire_test.go:108: 
> /tmp/wire_test292701238/src/example.com/foo/wire.go:24:2: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- provider "provideFoo" 
> (/tmp/wire_test292701238/src/example.com/foo/foo.go:37:6)
>         <- provider set "Set" 
> (/tmp/wire_test292701238/src/example.com/foo/foo.go:33:11)
>         previous:
>         <- argument foo to injector function injectBar 
> (/tmp/wire_test292701238/src/example.com/foo/wire.go:23:1)
> === CONT  TestWire/ImportedInterfaceBinding
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/foo"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectFooer() foo.Fooer {
>               bar := provideBar()
>               return bar
>         }
>         
>         
>         *** want:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/foo"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectFooer() foo.Fooer {
>               bar := provideBar()
>               return bar
>         }
>         
>         
>         *** diff:
>           []string{
>               "// Code generated by Wire. DO NOT EDIT.",
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 12 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "example.com/foo"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectFooer() foo.Fooer {
>               bar := provideBar()
>               return bar
>         }
> === CONT  TestWire/Header
>     wire_test.go:161: wire output differs from golden file. If this change is 
> expected, run with -record to update the wire_gen.go file.
>         *** got:
>         // This is a sample header file.
>         //
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() Foo {
>               foo := provideFoo()
>               return foo
>         }
>         
>         
>         *** want:
>         // This is a sample header file.
>         //
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //+build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() Foo {
>               foo := provideFoo()
>               return foo
>         }
>         
>         
>         *** diff:
>           []string{
>               ... // 3 identical elements
>               "",
>               "//go:generate wire",
>         -     "//go:build !wireinject",
>         +     "//+build !wireinject",
>         -     "// +build !wireinject",
>               "",
>               "package main",
>               ... // 8 identical elements
>           }
>     panic.go:642: wire_gen.go:
>         // This is a sample header file.
>         //
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() Foo {
>               foo := provideFoo()
>               return foo
>         }
> --- FAIL: TestWire (0.01s)
>     --- PASS: TestWire/FuncArgProvider (1.75s)
>     --- PASS: TestWire/InvalidInjector (1.98s)
>     --- FAIL: TestWire/BindInjectorArg (2.42s)
>     --- FAIL: TestWire/ReturnArgumentAsInterface (3.31s)
>     --- FAIL: TestWire/FieldsOfValueStruct (2.21s)
>     --- PASS: TestWire/FieldsOfStructDoNotProvidePtrToField (2.02s)
>     --- FAIL: TestWire/FieldsOfStructPointer (2.64s)
>     --- FAIL: TestWire/FieldsOfStruct (2.50s)
>     --- FAIL: TestWire/FieldsOfImportedStruct (2.13s)
>     --- FAIL: TestWire/ExportedValueDifferentPackage (1.67s)
>     --- PASS: TestWire/FieldsOfCycle (2.58s)
>     --- FAIL: TestWire/ExportedValue (1.99s)
>     --- PASS: TestWire/EmptyVar (2.23s)
>     --- FAIL: TestWire/ExampleWithMocks (2.77s)
>     --- PASS: TestWire/Cycle (1.89s)
>     --- FAIL: TestWire/CopyOtherDecls (2.06s)
>     --- FAIL: TestWire/Cleanup (1.88s)
>     --- FAIL: TestWire/Chain (2.17s)
>     --- FAIL: TestWire/BuildTagsAllPackages (2.19s)
>     --- FAIL: TestWire/BindInterfaceWithValue (2.07s)
>     --- FAIL: TestWire/BindInjectorArgPointer (1.93s)
>     --- PASS: TestWire/NoImplicitInterface (1.80s)
>     --- FAIL: TestWire/ReservedKeywords (2.33s)
>     --- PASS: TestWire/ProviderSetBindingMissingConcreteType (2.07s)
>     --- FAIL: TestWire/RelativePkg (2.72s)
>     --- FAIL: TestWire/PkgImport (1.88s)
>     --- FAIL: TestWire/PartialCleanup (1.71s)
>     --- PASS: TestWire/NoopBuild (1.74s)
>     --- FAIL: TestWire/NoInjectParamNames (2.40s)
>     --- FAIL: TestWire/NamingWorstCase (2.51s)
>     --- FAIL: TestWire/NiladicValue (2.27s)
>     --- FAIL: TestWire/NiladicIdentity (1.77s)
>     --- FAIL: TestWire/NamingWorstCaseAllInOne (2.17s)
>     --- PASS: TestWire/MultipleArgsSameType (1.52s)
>     --- PASS: TestWire/MultipleMissingInputs (2.61s)
>     --- FAIL: TestWire/MultipleSimilarPackages (2.59s)
>     --- PASS: TestWire/UnusedProviders (1.61s)
>     --- PASS: TestWire/MultipleBindings (1.88s)
>     --- FAIL: TestWire/Varargs (2.09s)
>     --- FAIL: TestWire/VarValue (2.74s)
>     --- FAIL: TestWire/ValueIsStruct (2.08s)
>     --- PASS: TestWire/ValueIsInterfaceValue (2.19s)
>     --- PASS: TestWire/ValueFromFunctionScope (2.02s)
>     --- FAIL: TestWire/ValueChain (1.62s)
>     --- FAIL: TestWire/ValueConversion (2.37s)
>     --- PASS: TestWire/InterfaceBindingDoesntImplement (2.29s)
>     --- FAIL: TestWire/InterfaceValueNotEnoughArgs (2.28s)
>     --- PASS: TestWire/InterfaceValueInvalidArg0 (1.86s)
>     --- PASS: TestWire/InterfaceValueDoesntImplement (2.40s)
>     --- FAIL: TestWire/InterfaceValue (2.38s)
>     --- FAIL: TestWire/InterfaceBindingNotEnoughArgs (1.89s)
>     --- FAIL: TestWire/InterfaceBindingReuse (2.73s)
>     --- PASS: TestWire/InterfaceBindingInvalidArg0 (2.11s)
>     --- PASS: TestWire/UnexportedValue (2.46s)
>     --- PASS: TestWire/UnexportedStruct (2.30s)
>     --- FAIL: TestWire/TwoDeps (2.57s)
>     --- PASS: TestWire/StructWithPreventTag (1.91s)
>     --- FAIL: TestWire/StructPointer (2.26s)
>     --- PASS: TestWire/StructNotAStruct (1.92s)
>     --- FAIL: TestWire/ReturnError (1.84s)
>     --- FAIL: TestWire/Struct (1.97s)
>     --- FAIL: TestWire/InterfaceBinding (1.88s)
>     --- FAIL: TestWire/InjectWithPanic (2.39s)
>     --- PASS: TestWire/InjectorMissingError (2.00s)
>     --- PASS: TestWire/InjectorMissingCleanup (2.83s)
>     --- FAIL: TestWire/InjectInput (1.95s)
>     --- PASS: TestWire/InjectInputConflict (1.94s)
>     --- FAIL: TestWire/ImportedInterfaceBinding (2.18s)
>     --- FAIL: TestWire/Header (1.62s)
> === RUN   TestUnexport
> --- PASS: TestUnexport (0.00s)
> === RUN   TestExport
> --- PASS: TestExport (0.00s)
> === RUN   TestTypeVariableName
> === RUN   
> TestTypeVariableName/basic_type:_typeVariableName(bool,_"",_"",_map[])
> === RUN   
> TestTypeVariableName/basic_type_with_transform:_typeVariableName(bool,_"",_"suffix",_map[])
> === RUN   
> TestTypeVariableName/basic_type_with_collision:_typeVariableName(bool,_"",_"",_map[bool:true])
> === RUN   
> TestTypeVariableName/basic_type_with_transform_and_collision:_typeVariableName(bool,_"",_"suffix",_map[boolsuffix:true])
> === RUN   
> TestTypeVariableName/a_different_basic_type:_typeVariableName(string,_"",_"",_map[])
> === RUN   
> TestTypeVariableName/named_type:_typeVariableName(foo,_"",_"",_map[])
> === RUN   
> TestTypeVariableName/named_type_with_transform:_typeVariableName(foo,_"",_"suffix",_map[])
> === RUN   
> TestTypeVariableName/named_type_with_collision:_typeVariableName(foo,_"",_"",_map[foo:true])
> === RUN   
> TestTypeVariableName/named_type_with_transform_and_collision:_typeVariableName(foo,_"",_"suffix",_map[foosuffix:true])
> === RUN   
> TestTypeVariableName/noname_type:_typeVariableName(,_"bar",_"",_map[])
> === RUN   
> TestTypeVariableName/noname_type_with_transform:_typeVariableName(,_"bar",_"s",_map[])
> === RUN   
> TestTypeVariableName/noname_type_with_transform_and_collision:_typeVariableName(,_"bar",_"s",_map[bars:true])
> === RUN   
> TestTypeVariableName/var_in_pkg_type:_typeVariableName(my.example/foo.bar,_"",_"",_map[])
> === RUN   
> TestTypeVariableName/var_in_pkg_type_with_collision:_typeVariableName(my.example/foo.bar,_"",_"",_map[bar:true])
> === RUN   
> TestTypeVariableName/var_in_pkg_type_with_double_collision:_typeVariableName(my.example/foo.bar,_"",_"",_map[bar:true_fooBar:true])
> --- PASS: TestTypeVariableName (0.00s)
>     --- PASS: 
> TestTypeVariableName/basic_type:_typeVariableName(bool,_"",_"",_map[]) (0.00s)
>     --- PASS: 
> TestTypeVariableName/basic_type_with_transform:_typeVariableName(bool,_"",_"suffix",_map[])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/basic_type_with_collision:_typeVariableName(bool,_"",_"",_map[bool:true])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/basic_type_with_transform_and_collision:_typeVariableName(bool,_"",_"suffix",_map[boolsuffix:true])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/a_different_basic_type:_typeVariableName(string,_"",_"",_map[])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/named_type:_typeVariableName(foo,_"",_"",_map[]) (0.00s)
>     --- PASS: 
> TestTypeVariableName/named_type_with_transform:_typeVariableName(foo,_"",_"suffix",_map[])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/named_type_with_collision:_typeVariableName(foo,_"",_"",_map[foo:true])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/named_type_with_transform_and_collision:_typeVariableName(foo,_"",_"suffix",_map[foosuffix:true])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/noname_type:_typeVariableName(,_"bar",_"",_map[]) (0.00s)
>     --- PASS: 
> TestTypeVariableName/noname_type_with_transform:_typeVariableName(,_"bar",_"s",_map[])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/noname_type_with_transform_and_collision:_typeVariableName(,_"bar",_"s",_map[bars:true])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/var_in_pkg_type:_typeVariableName(my.example/foo.bar,_"",_"",_map[])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/var_in_pkg_type_with_collision:_typeVariableName(my.example/foo.bar,_"",_"",_map[bar:true])
>  (0.00s)
>     --- PASS: 
> TestTypeVariableName/var_in_pkg_type_with_double_collision:_typeVariableName(my.example/foo.bar,_"",_"",_map[bar:true_fooBar:true])
>  (0.00s)
> === RUN   TestDisambiguate
> === RUN   TestDisambiguate/disambiguate("foo",_map[])
> === RUN   TestDisambiguate/disambiguate("foo",_map[foo:true])
> === RUN   
> TestDisambiguate/disambiguate("foo",_map[foo:true_foo1:true_foo2:true])
> === RUN   
> TestDisambiguate/disambiguate("foo1",_map[foo:true_foo1:true_foo2:true])
> === RUN   
> TestDisambiguate/disambiguate("foo١",_map[foo:true_foo1:true_foo2:true])
> === RUN   
> TestDisambiguate/disambiguate("foo١",_map[foo:true_foo1:true_foo2:true_foo١:true])
> === RUN   TestDisambiguate/disambiguate("select",_map[])
> === RUN   TestDisambiguate/disambiguate("var",_map[])
> --- PASS: TestDisambiguate (0.00s)
>     --- PASS: TestDisambiguate/disambiguate("foo",_map[]) (0.00s)
>     --- PASS: TestDisambiguate/disambiguate("foo",_map[foo:true]) (0.00s)
>     --- PASS: 
> TestDisambiguate/disambiguate("foo",_map[foo:true_foo1:true_foo2:true]) 
> (0.00s)
>     --- PASS: 
> TestDisambiguate/disambiguate("foo1",_map[foo:true_foo1:true_foo2:true]) 
> (0.00s)
>     --- PASS: 
> TestDisambiguate/disambiguate("foo١",_map[foo:true_foo1:true_foo2:true]) 
> (0.00s)
>     --- PASS: 
> TestDisambiguate/disambiguate("foo١",_map[foo:true_foo1:true_foo2:true_foo١:true])
>  (0.00s)
>     --- PASS: TestDisambiguate/disambiguate("select",_map[]) (0.00s)
>     --- PASS: TestDisambiguate/disambiguate("var",_map[]) (0.00s)
> FAIL
> FAIL  github.com/google/wire/internal/wire    37.957s
> FAIL
> dh_auto_test: error: cd _build && go test -vet=off -v -p 4 
> github.com/google/wire github.com/google/wire/cmd/wire 
> github.com/google/wire/internal/wire returned exit code 1


The full build log is available from:
http://qa-logs.debian.net/2021/10/23/golang-github-google-wire_0.4.0-3_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: golang-github-google-wire
Source-Version: 0.4.0-4
Done: Anthony Fok <f...@debian.org>

We believe that the bug you reported is fixed in the latest version of
golang-github-google-wire, which is due to be installed in the Debian FTP 
archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 997...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Anthony Fok <f...@debian.org> (supplier of updated golang-github-google-wire 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sun, 28 Nov 2021 04:53:24 -0700
Source: golang-github-google-wire
Architecture: source
Version: 0.4.0-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Go Packaging Team <team+pkg...@tracker.debian.org>
Changed-By: Anthony Fok <f...@debian.org>
Closes: 997562
Changes:
 golang-github-google-wire (0.4.0-4) unstable; urgency=medium
 .
   * Update record/play files for Go 1.17 to resolve FTBFS.
     This is equivalent to https://github.com/google/wire/pull/310
     but backported or regenerated for v0.4.0 using the command
     "go test ./... -record"  (Closes: #997562)
   * Change Section from devel to golang
   * Bump debhelper dependency to "Build-Depends: debhelper-compat (= 13)"
   * List usr/bin/wire, which is renamed to usr/bin/google-wire,
     in debian/not-installed to avoid dh_missing error with debhelper
     compatibility level 13
   * Bump Standards-Version to 4.6.0 (no change)
   * Mark library package with "Multi-Arch: foreign"
Checksums-Sha1:
 ab07b661ae1eeadfdb33dd9de55c338a4ab0f729 2494 
golang-github-google-wire_0.4.0-4.dsc
 de7fc7e1b0813aeb14437a41d2cdec717aa6cc72 4288 
golang-github-google-wire_0.4.0-4.debian.tar.xz
 843cb833783a5befde449acfd4626926fa2df3e3 7116 
golang-github-google-wire_0.4.0-4_amd64.buildinfo
Checksums-Sha256:
 0053aa0df5980ca31b1f3621ba9e0bae313795871157cda90e1a89c7b0ad1e0e 2494 
golang-github-google-wire_0.4.0-4.dsc
 f27ef57182f486b5a6a9619d1f06bf57a423ebabe1e5049ad3d7f8071348df1a 4288 
golang-github-google-wire_0.4.0-4.debian.tar.xz
 1ac27281e0b3a2999c5b8e62950a01060298596d931273c0b26dc24de17fec20 7116 
golang-github-google-wire_0.4.0-4_amd64.buildinfo
Files:
 ed9d1b484b4faf5bc08f2f2548267030 2494 golang optional 
golang-github-google-wire_0.4.0-4.dsc
 69fc607556f2642056302605c8b82daf 4288 golang optional 
golang-github-google-wire_0.4.0-4.debian.tar.xz
 3a3a0db0abe55a70277c43748663c5c3 7116 golang optional 
golang-github-google-wire_0.4.0-4_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJEBAEBCAAuFiEEFCQhsZrUqVmW+VBy6iUAtBLFms8FAmGjb40QHGZva2FAZGVi
aWFuLm9yZwAKCRDqJQC0EsWaz+qnD/0SEe9GzgdBAmHUdkBrKg1ktV3x3HWRsIkf
vyBXsyCXhQ9qvYf6UkNN4OLAcMeItQ9sfYAhCWE+THmDqhEfGzJl9V9+sLLWTsUu
lr4eBs7nQ/DNTS287G3rXmry1d9jXsBWPIwvIUErULCVYH6ZsaoxzOCuZsbDLnn2
UIHI98wLsm1lsAAsnOzxqPcbOFUPGy5q0amyjhj1+hkd5xbejO9wD/nOhtFsx3b7
lZi8mfl8P2f+1F0MvtJTuFwelwuJHl4thiNcsppXgKdH0CtomKusZ0fQ8dQtcCRd
Ws7hIYspVDlICDur3BiHlO0z7ysFaoySYBYbIZa7VY8wQTkGQ20eZHADvHMegsDB
DbvL1ifaToLpQ8zjdg4SYSbW1di05kzwB3x92fXN+D7hQ7IwuPZQ911SrcPyKRBH
e2pbs46K6G1gmpGH6XKMYktD0DPPZeSMdyzhxqvxV5lU/kiOuL8LwI3q67AcJfjK
vQeqKQu0H9/ly9YQg0FktCpnrSefY3VQqMbgm7oBEleFsjVZKXBJ2BViuf9AzEv1
t508ku0ZqCyMUeLhj0Ck2B+HAoOybPq50hNPSlFzPgYFsqnw4PFKCUbT7e/a+WfI
fV3bDVW4PZR+NQuOk83PUqnZY8HatZFYPdXkCE89r5UU9bvBklEV++O13rgmZFQv
6bKvz00jnw==
=cino
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to