Your message dated Tue, 12 Apr 2022 13:48:51 +0000
with message-id <e1negt1-000090...@fasolo.debian.org>
and subject line Bug#1008413: fixed in golang-github-google-wire 0.5.0-2
has caused the Debian Bug report #1008413,
regarding golang-github-google-wire: FTBFS: dh_auto_test: error: cd _build && 
go test -vet=off -v -p 8 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.)


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

Hi,

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


Relevant part (hopefully):
>  debian/rules binary
> dh binary --builddirectory=_build --buildsystem=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 8 github.com/google/wire 
> github.com/google/wire/cmd/wire github.com/google/wire/internal/wire
> internal/goos
> github.com/google/wire
> internal/goexperiment
> internal/goarch
> internal/cpu
> internal/unsafeheader
> runtime/internal/atomic
> runtime/internal/syscall
> internal/race
> sync/atomic
> internal/itoa
> math/bits
> internal/abi
> runtime/internal/math
> runtime/internal/sys
> unicode/utf8
> unicode
> encoding
> unicode/utf16
> internal/goversion
> golang.org/x/xerrors/internal
> internal/bytealg
> math
> runtime
> internal/reflectlite
> sync
> internal/testlog
> math/rand
> errors
> sort
> internal/oserror
> strconv
> io
> path
> syscall
> golang.org/x/mod/semver
> container/heap
> bytes
> text/tabwriter
> strings
> reflect
> regexp/syntax
> bufio
> go/build/constraint
> internal/syscall/unix
> internal/syscall/execenv
> time
> regexp
> context
> io/fs
> internal/poll
> encoding/binary
> internal/fmtsort
> os
> encoding/base64
> internal/lazyregexp
> path/filepath
> fmt
> io/ioutil
> os/exec
> golang.org/x/sys/execabs
> go/token
> net/url
> encoding/json
> flag
> text/template/parse
> internal/buildcfg
> math/big
> internal/execabs
> go/scanner
> text/scanner
> internal/goroot
> golang.org/x/tools/internal/event/label
> golang.org/x/tools/internal/event/keys
> golang.org/x/xerrors
> github.com/google/subcommands
> log
> go/ast
> github.com/pmezard/go-difflib/difflib
> golang.org/x/tools/internal/event/core
> golang.org/x/tools/internal/event
> text/template
> golang.org/x/tools/internal/gocommand
> golang.org/x/tools/internal/packagesinternal
> go/internal/typeparams
> go/printer
> go/parser
> go/constant
> go/doc
> go/format
> go/build
> go/types
> golang.org/x/tools/go/internal/packagesdriver
> golang.org/x/tools/internal/typeparams
> 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 8 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/DocComment
> === PAUSE TestWire/DocComment
> === 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/NoopBuild
> === CONT  TestWire/TwoDeps
> === CONT  TestWire/InjectWithPanic
> === CONT  TestWire/ExportedValueDifferentPackage
> === CONT  TestWire/InvalidInjector
> === CONT  TestWire/InterfaceBindingNotEnoughArgs
> === CONT  TestWire/ValueFromFunctionScope
>     wire_test.go:108: 
> /tmp/wire_test2466639856/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/InterfaceBindingInvalidArg0
> === CONT  TestWire/ExportedValueDifferentPackage
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/InterfaceBindingDoesntImplement
> === CONT  TestWire/TwoDeps
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/InterfaceBinding
> === 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/InjectorMissingError
> === CONT  TestWire/InjectWithPanic
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
> === CONT  TestWire/InjectorMissingCleanup
> === CONT  TestWire/InterfaceBindingNotEnoughArgs
>     wire_test.go:108: 
> /tmp/wire_test3209769703/src/example.com/foo/wire.go:25:33: not enough 
> arguments in call to wire.Bind
>               have (*Fooer)
>               want (interface{}, interface{})
>     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 arguments in 
> call to wir",
>                       "e.Bind",
>         -             "\n\thave (*Fooer)\n\twant (interface{}, interface{})",
>               }, ""),
>           }
> === CONT  TestWire/VarValue
> === CONT  TestWire/Varargs
> === CONT  TestWire/BindInjectorArg
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func inject(foo Foo) *Bar {
>               bar := NewBar(foo)
>               return bar
>         }
> === CONT  TestWire/UnusedProviders
> === CONT  TestWire/InterfaceBindingInvalidArg0
>     wire_test.go:108: 
> /tmp/wire_test3347856413/src/example.com/foo/wire.go:25:13: first argument to 
> Bind must be a pointer to an interface type; found string
> === CONT  TestWire/ValueConversion
> === CONT  TestWire/InterfaceBindingDoesntImplement
>     wire_test.go:108: 
> /tmp/wire_test3195472652/src/example.com/foo/wire.go:25:13: string does not 
> implement example.com/foo.Fooer
> === CONT  TestWire/ValueChain
> === CONT  TestWire/InjectorMissingError
>     wire_test.go:108: 
> /tmp/wire_test1412186609/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/NamingWorstCaseAllInOne
> === CONT  TestWire/InterfaceBinding
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooer() Fooer {
>               bar := provideBar()
>               return bar
>         }
> === CONT  TestWire/NoInjectParamNames
> === CONT  TestWire/VarValue
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := _wireStringValue
>               return string2
>         }
>         
>         var (
>               _wireStringValue = msg
>         )
> === CONT  TestWire/NoImplicitInterface
> === CONT  TestWire/Varargs
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/NiladicValue
> === CONT  TestWire/InjectorMissingCleanup
>     wire_test.go:108: 
> /tmp/wire_test1339852549/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/NiladicIdentity
> === CONT  TestWire/UnusedProviders
>     wire_test.go:108: 
> /tmp/wire_test1078268874/src/example.com/foo/wire.go:23:1: inject 
> injectFooBar: unused provider set "unusedSet"
>     wire_test.go:108: 
> /tmp/wire_test1078268874/src/example.com/foo/wire.go:23:1: inject 
> injectFooBar: unused provider "main.provideUnused"
>     wire_test.go:108: 
> /tmp/wire_test1078268874/src/example.com/foo/wire.go:23:1: inject 
> injectFooBar: unused value of type string
>     wire_test.go:108: 
> /tmp/wire_test1078268874/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_test1078268874/src/example.com/foo/wire.go:23:1: inject 
> injectFooBar: unused field "example.com/foo.S".Cfg
> === CONT  TestWire/ReturnArgumentAsInterface
> === CONT  TestWire/ValueConversion
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/StructWithPreventTag
> === CONT  TestWire/ValueChain
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/StructPointer
> === CONT  TestWire/NamingWorstCaseAllInOne
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/StructNotAStruct
> === CONT  TestWire/NoInjectParamNames
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/Struct
> === CONT  TestWire/NoImplicitInterface
>     wire_test.go:108: 
> /tmp/wire_test3370591960/src/example.com/foo/wire.go:23:1: inject 
> injectFooer: no provider found for example.com/foo.Fooer, output of injector
> === CONT  TestWire/ReturnError
> === CONT  TestWire/NiladicIdentity
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
> === CONT  TestWire/ProviderSetBindingMissingConcreteType
> === CONT  TestWire/NiladicValue
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/ReturnArgumentAsInterface
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         import (
>               "fmt"
>         )
>         
>         // Injectors from wire.go:
>         
>         func injectStringer(s MyString) fmt.Stringer {
>               return s
>         }
> === CONT  TestWire/RelativePkg
> === CONT  TestWire/StructWithPreventTag
>     wire_test.go:108: 
> /tmp/wire_test1802987480/src/example.com/foo/foo.go:45:2: "mu" is prevented 
> from injecting by wire
> === CONT  TestWire/UnexportedValue
> === CONT  TestWire/StructPointer
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/InterfaceValueDoesntImplement
> === CONT  TestWire/Struct
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/InterfaceValueNotEnoughArgs
> === CONT  TestWire/ReturnError
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/InterfaceValueInvalidArg0
> === CONT  TestWire/StructNotAStruct
>     wire_test.go:108: 
> /tmp/wire_test3138492415/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/InterfaceValue
> === CONT  TestWire/ProviderSetBindingMissingConcreteType
>     wire_test.go:108: 
> /tmp/wire_test437429966/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/ValueIsStruct
> === CONT  TestWire/ReservedKeywords
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/InterfaceBindingReuse
> === CONT  TestWire/RelativePkg
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               string2 := provideMessage()
>               return string2
>         }
> === CONT  TestWire/PkgImport
> === CONT  TestWire/UnexportedValue
>     wire_test.go:108: 
> /tmp/wire_test268902747/src/example.com/foo/wire.go:24:1: inject 
> injectedMessage: value string can't be used: uses unexported identifier 
> privateMsg
> === CONT  TestWire/PartialCleanup
> === CONT  TestWire/InterfaceValueDoesntImplement
>     wire_test.go:108: 
> /tmp/wire_test2760373376/src/example.com/foo/wire.go:26:13: string does not 
> implement io.Reader
> === CONT  TestWire/ValueIsInterfaceValue
> === CONT  TestWire/InterfaceValue
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/CopyOtherDecls
> === CONT  TestWire/ValueIsStruct
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/ExportedValue
> === CONT  TestWire/InterfaceValueNotEnoughArgs
>     wire_test.go:108: 
> /tmp/wire_test1393717585/src/example.com/foo/wire.go:25:38: not enough 
> arguments in call to wire.InterfaceValue
>               have (string)
>               want (interface{}, interface{})
>     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 arguments in 
> call to wir",
>                       "e.InterfaceValue",
>         -             "\n\thave (string)\n\twant (interface{}, interface{})",
>               }, ""),
>           }
> === CONT  TestWire/ExampleWithMocks
> === CONT  TestWire/InterfaceValueInvalidArg0
>     wire_test.go:108: 
> /tmp/wire_test4096247115/src/example.com/foo/wire.go:25:13: first argument to 
> InterfaceValue must be a pointer to an interface type; found string
> === CONT  TestWire/EmptyVar
> === CONT  TestWire/PkgImport
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/DocComment
> === CONT  TestWire/InterfaceBindingReuse
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/Cycle
> === CONT  TestWire/PartialCleanup
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/FieldsOfValueStruct
> === CONT  TestWire/ValueIsInterfaceValue
>     wire_test.go:108: 
> /tmp/wire_test1660143031/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/InjectInputConflict
> === CONT  TestWire/ExportedValue
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/InjectInput
> === CONT  TestWire/ExampleWithMocks
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         // initApp returns a real app.
>         func initApp() *app {
>               mainTimer := _wireRealTimeValue
>               mainGreeter := greeter{
>                       T: mainTimer,
>               }
>               mainApp := &app{
>                       g: mainGreeter,
>               }
>               return mainApp
>         }
>         
>         var (
>               _wireRealTimeValue = realTime{}
>         )
>         
>         // initMockedAppFromArgs returns an app with mocked dependencies 
> provided via
>         // arguments (Approach A). Note that the argument's type is the 
> interface
>         // type (timer), but the concrete mock type should be passed.
>         func initMockedAppFromArgs(mt timer) *app {
>               mainGreeter := greeter{
>                       T: mt,
>               }
>               mainApp := &app{
>                       g: mainGreeter,
>               }
>               return mainApp
>         }
>         
>         // initMockedApp returns an app with its mocked dependencies, created
>         // via providers (Approach B).
>         func initMockedApp() *appWithMocks {
>               mainMockTimer := newMockTimer()
>               mainGreeter := greeter{
>                       T: mainMockTimer,
>               }
>               mainApp := app{
>                       g: mainGreeter,
>               }
>               mainAppWithMocks := &appWithMocks{
>                       app: mainApp,
>                       mt:  mainMockTimer,
>               }
>               return mainAppWithMocks
>         }
> === CONT  TestWire/ImportedInterfaceBinding
> === CONT  TestWire/EmptyVar
>     wire_test.go:108: 
> /tmp/wire_test2371649975/src/example.com/foo/wire.go:24:13: var 
> example.com/foo.myFakeSet struct{} is not a provider or a provider set
> === CONT  TestWire/Header
> === CONT  TestWire/CopyOtherDecls
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/FuncArgProvider
> === CONT  TestWire/DocComment
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         /* blockComment returns Foo and has a /*- style doc comment */
>         func blockComment() *Foo {
>               foo := &Foo{}
>               return foo
>         }
>         
>         // lineComment returns Bar and has a //- style doc comment
>         func lineComment() *Bar {
>               bar := &Bar{}
>               return bar
>         }
> === CONT  TestWire/BuildTagsAllPackages
> === CONT  TestWire/Cycle
>     wire_test.go:108: 
> /tmp/wire_test268932666/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/Cleanup
> === CONT  TestWire/InjectInputConflict
>     wire_test.go:108: 
> /tmp/wire_test1573005150/src/example.com/foo/wire.go:24:2: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- provider "provideFoo" 
> (/tmp/wire_test1573005150/src/example.com/foo/foo.go:37:6)
>         <- provider set "Set" 
> (/tmp/wire_test1573005150/src/example.com/foo/foo.go:33:11)
>         previous:
>         <- argument foo to injector function injectBar 
> (/tmp/wire_test1573005150/src/example.com/foo/wire.go:23:1)
> === CONT  TestWire/Chain
> === CONT  TestWire/FieldsOfValueStruct
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/BindInjectorArgPointer
> === CONT  TestWire/InjectInput
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/BindInterfaceWithValue
> === CONT  TestWire/ImportedInterfaceBinding
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/FieldsOfStruct
> === CONT  TestWire/Header
>     wire_test.go:164: wire_gen.go:
>         // This is a sample header file.
>         //
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFoo() Foo {
>               foo := provideFoo()
>               return foo
>         }
> === CONT  TestWire/FieldsOfStructPointer
> === CONT  TestWire/FuncArgProvider
>     wire_test.go:108: 
> /tmp/wire_test1806825206/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/FieldsOfStructDoNotProvidePtrToField
> === CONT  TestWire/BuildTagsAllPackages
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/FieldsOfImportedStruct
> === CONT  TestWire/Cleanup
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/FieldsOfCycle
> === CONT  TestWire/BindInjectorArgPointer
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func inject(foo *Foo) *Bar {
>               bar := NewBar(foo)
>               return bar
>         }
> === CONT  TestWire/UnexportedStruct
> === CONT  TestWire/Chain
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectFooBar() FooBar {
>               foo := provideFoo()
>               fooBar := provideFooBar(foo)
>               return fooBar
>         }
> === CONT  TestWire/MultipleMissingInputs
> === CONT  TestWire/FieldsOfStruct
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/wire
>         //go:build !wireinject
>         // +build !wireinject
>         
>         package main
>         
>         // Injectors from wire.go:
>         
>         func injectedMessage() string {
>               s := provideS()
>               string2 := s.Foo
>               return string2
>         }
> === CONT  TestWire/NamingWorstCase
> === CONT  TestWire/BindInterfaceWithValue
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/MultipleSimilarPackages
> === CONT  TestWire/FieldsOfStructPointer
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/MultipleBindings
> === CONT  TestWire/FieldsOfStructDoNotProvidePtrToField
>     wire_test.go:108: 
> /tmp/wire_test1505679569/src/example.com/foo/wire.go:23:1: inject 
> injectedMessagePtr: no provider found for *string, output of injector
> === CONT  TestWire/MultipleArgsSameType
> === CONT  TestWire/FieldsOfImportedStruct
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/FieldsOfCycle
>     wire_test.go:108: 
> /tmp/wire_test536177072/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/MultipleMissingInputs
>     wire_test.go:108: 
> /tmp/wire_test1596155149/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_test1596155149/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_test1596155149/src/example.com/foo/foo.go:29:6)
>     wire_test.go:108: 
> /tmp/wire_test1596155149/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_test1596155149/src/example.com/foo/foo.go:29:6)
>     wire_test.go:108: 
> /tmp/wire_test1596155149/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_test1596155149/src/example.com/foo/foo.go:37:6)
>         needed by example.com/foo.Zap in provider "provideZap" 
> (/tmp/wire_test1596155149/src/example.com/foo/foo.go:41:6)
>         needed by example.com/foo.Zop in provider "provideZop" 
> (/tmp/wire_test1596155149/src/example.com/foo/foo.go:45:6)
> === CONT  TestWire/UnexportedStruct
>     wire_test.go:108: 
> /tmp/wire_test437593323/src/example.com/foo/wire.go:26:17: foo not exported 
> by package bar
> === CONT  TestWire/NamingWorstCase
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/MultipleSimilarPackages
>     wire_test.go:164: wire_gen.go:
>         // Code generated by Wire. DO NOT EDIT.
>         
>         //go:generate go run github.com/google/wire/cmd/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/MultipleBindings
>     wire_test.go:108: 
> /tmp/wire_test1899858094/src/example.com/foo/wire.go:27:8: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- provider "provideFooAgain" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:39:6)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:35:6)
>     wire_test.go:108: 
> /tmp/wire_test1899858094/src/example.com/foo/wire.go:32:8: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- provider "provideFoo" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:35:6)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:35:6)
>         <- provider set "Set" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:31:11)
>     wire_test.go:108: 
> /tmp/wire_test1899858094/src/example.com/foo/wire.go:37:8: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- provider "provideFoo" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:35:6)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:35:6)
>         <- provider set "Set" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:31:11)
>         <- provider set "SuperSet" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:32:16)
>     wire_test.go:108: 
> /tmp/wire_test1899858094/src/example.com/foo/foo.go:33:32: 
> SetWithDuplicateBindings has multiple bindings for example.com/foo.Foo
>         current:
>         <- provider "provideFoo" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:35:6)
>         <- provider set "Set" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:31:11)
>         <- provider set "SuperSet" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:32:16)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:35:6)
>         <- provider set "Set" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:31:11)
>     wire_test.go:108: 
> /tmp/wire_test1899858094/src/example.com/foo/wire.go:47:8: multiple bindings 
> for example.com/foo.Foo
>         current:
>         <- wire.Value 
> (/tmp/wire_test1899858094/src/example.com/foo/wire.go:47:42)
>         previous:
>         <- provider "provideFoo" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:35:6)
>     wire_test.go:108: 
> /tmp/wire_test1899858094/src/example.com/foo/wire.go:52:8: multiple bindings 
> for example.com/foo.Bar
>         current:
>         <- wire.Bind 
> (/tmp/wire_test1899858094/src/example.com/foo/wire.go:52:31)
>         previous:
>         <- provider "provideBar" 
> (/tmp/wire_test1899858094/src/example.com/foo/foo.go:43:6)
> === CONT  TestWire/MultipleArgsSameType
>     wire_test.go:108: 
> /tmp/wire_test350672140/src/example.com/foo/wire.go:25:8: multiple bindings 
> for string
>         current:
>         <- argument b to injector function inject 
> (/tmp/wire_test350672140/src/example.com/foo/wire.go:23:1)
>         previous:
>         <- argument a to injector function inject 
> (/tmp/wire_test350672140/src/example.com/foo/wire.go:23:1)
> --- FAIL: TestWire (0.01s)
>     --- PASS: TestWire/ValueFromFunctionScope (1.59s)
>     --- PASS: TestWire/ExportedValueDifferentPackage (1.66s)
>     --- PASS: TestWire/TwoDeps (1.86s)
>     --- PASS: TestWire/InvalidInjector (1.89s)
>     --- PASS: TestWire/InjectWithPanic (1.92s)
>     --- FAIL: TestWire/InterfaceBindingNotEnoughArgs (1.93s)
>     --- PASS: TestWire/NoopBuild (1.95s)
>     --- PASS: TestWire/BindInjectorArg (2.03s)
>     --- PASS: TestWire/InterfaceBindingInvalidArg0 (1.57s)
>     --- PASS: TestWire/InterfaceBindingDoesntImplement (1.54s)
>     --- PASS: TestWire/InjectorMissingError (1.36s)
>     --- PASS: TestWire/InterfaceBinding (1.52s)
>     --- PASS: TestWire/VarValue (1.46s)
>     --- PASS: TestWire/Varargs (1.65s)
>     --- PASS: TestWire/InjectorMissingCleanup (1.74s)
>     --- PASS: TestWire/UnusedProviders (1.71s)
>     --- PASS: TestWire/ValueConversion (1.38s)
>     --- PASS: TestWire/ValueChain (1.38s)
>     --- PASS: TestWire/NamingWorstCaseAllInOne (1.53s)
>     --- PASS: TestWire/NoInjectParamNames (1.42s)
>     --- PASS: TestWire/NoImplicitInterface (1.40s)
>     --- PASS: TestWire/NiladicIdentity (1.30s)
>     --- PASS: TestWire/NiladicValue (1.51s)
>     --- PASS: TestWire/ReturnArgumentAsInterface (1.45s)
>     --- PASS: TestWire/StructWithPreventTag (1.36s)
>     --- PASS: TestWire/StructPointer (1.44s)
>     --- PASS: TestWire/Struct (1.35s)
>     --- PASS: TestWire/ReturnError (1.35s)
>     --- PASS: TestWire/StructNotAStruct (1.39s)
>     --- PASS: TestWire/ProviderSetBindingMissingConcreteType (1.34s)
>     --- PASS: TestWire/ReservedKeywords (1.57s)
>     --- PASS: TestWire/RelativePkg (1.49s)
>     --- PASS: TestWire/UnexportedValue (1.16s)
>     --- PASS: TestWire/InterfaceValueDoesntImplement (1.24s)
>     --- PASS: TestWire/InterfaceValue (1.39s)
>     --- PASS: TestWire/ValueIsStruct (1.27s)
>     --- FAIL: TestWire/InterfaceValueNotEnoughArgs (1.46s)
>     --- PASS: TestWire/InterfaceValueInvalidArg0 (1.53s)
>     --- PASS: TestWire/PkgImport (1.27s)
>     --- PASS: TestWire/InterfaceBindingReuse (1.33s)
>     --- PASS: TestWire/PartialCleanup (1.39s)
>     --- PASS: TestWire/ValueIsInterfaceValue (1.20s)
>     --- PASS: TestWire/ExportedValue (1.47s)
>     --- PASS: TestWire/ExampleWithMocks (1.48s)
>     --- PASS: TestWire/EmptyVar (1.46s)
>     --- PASS: TestWire/CopyOtherDecls (1.64s)
>     --- PASS: TestWire/DocComment (1.40s)
>     --- PASS: TestWire/Cycle (1.65s)
>     --- PASS: TestWire/InjectInputConflict (1.37s)
>     --- PASS: TestWire/FieldsOfValueStruct (1.39s)
>     --- PASS: TestWire/InjectInput (1.09s)
>     --- PASS: TestWire/ImportedInterfaceBinding (1.07s)
>     --- PASS: TestWire/Header (1.47s)
>     --- PASS: TestWire/FuncArgProvider (1.59s)
>     --- PASS: TestWire/BuildTagsAllPackages (1.45s)
>     --- PASS: TestWire/Cleanup (1.50s)
>     --- PASS: TestWire/BindInjectorArgPointer (1.38s)
>     --- PASS: TestWire/Chain (1.45s)
>     --- PASS: TestWire/FieldsOfStruct (1.28s)
>     --- PASS: TestWire/BindInterfaceWithValue (1.29s)
>     --- PASS: TestWire/FieldsOfStructPointer (1.36s)
>     --- PASS: TestWire/FieldsOfStructDoNotProvidePtrToField (1.53s)
>     --- PASS: TestWire/FieldsOfImportedStruct (1.57s)
>     --- PASS: TestWire/FieldsOfCycle (1.27s)
>     --- PASS: TestWire/MultipleMissingInputs (1.20s)
>     --- PASS: TestWire/UnexportedStruct (1.27s)
>     --- PASS: TestWire/NamingWorstCase (1.17s)
>     --- PASS: TestWire/MultipleSimilarPackages (1.28s)
>     --- PASS: TestWire/MultipleBindings (0.78s)
>     --- PASS: TestWire/MultipleArgsSameType (0.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    13.014s
> FAIL
> dh_auto_test: error: cd _build && go test -vet=off -v -p 8 
> 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/2022/03/26/golang-github-google-wire_0.5.0-1_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.5.0-2
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 1008...@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: Tue, 12 Apr 2022 07:26:05 -0600
Source: golang-github-google-wire
Architecture: source
Version: 0.5.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Go Packaging Team <team+pkg...@tracker.debian.org>
Changed-By: Anthony Fok <f...@debian.org>
Closes: 1008413
Changes:
 golang-github-google-wire (0.5.0-2) unstable; urgency=medium
 .
   * Update record/replay files for Go 1.18.
     This fixes error message mismatch in TestWire/InterfaceBindingNotEnoughArgs
     and TestWire/InterfaceValueNotEnoughArgs which caused FTBFS with Go 1.18.
     Thanks to Lucas Nussbaum for the bug report! (Closes: #1008413)
   * Reorder fields in debian/control
Checksums-Sha1:
 f8080b7f0b679f396f3e23222dd68513c50eb975 2503 
golang-github-google-wire_0.5.0-2.dsc
 bf6e06936cfb88871de79c43962f72d386259576 5612 
golang-github-google-wire_0.5.0-2.debian.tar.xz
 4da792862728b4569d90d69c2eb5ad4ffb780b6c 7215 
golang-github-google-wire_0.5.0-2_amd64.buildinfo
Checksums-Sha256:
 e05c74a941c71c941ad3c7889ad5b755112a30b896eb9905521db605758404ee 2503 
golang-github-google-wire_0.5.0-2.dsc
 a60da9a623ac800c80413057e2cf83660e49d596753bdd1cf4dc46541a1b4836 5612 
golang-github-google-wire_0.5.0-2.debian.tar.xz
 6129af36167beedbe76f7ddb29b3d110255057837200e530030ab43b22b91434 7215 
golang-github-google-wire_0.5.0-2_amd64.buildinfo
Files:
 3dab5bca33f4c909f426d1930d3dc137 2503 golang optional 
golang-github-google-wire_0.5.0-2.dsc
 0e72a446598089602014839d6c6cc402 5612 golang optional 
golang-github-google-wire_0.5.0-2.debian.tar.xz
 6b0db5aaecaa95908f037c81660a69ca 7215 golang optional 
golang-github-google-wire_0.5.0-2_amd64.buildinfo

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

iQJEBAEBCAAuFiEEFCQhsZrUqVmW+VBy6iUAtBLFms8FAmJVf0AQHGZva2FAZGVi
aWFuLm9yZwAKCRDqJQC0EsWaz3SEEACsmmRLScFJpC0RVkA62NKFSVbJ/t23I0j5
Jd7TX2ffhXUY/Tl9M+Q5CCzo910mYJKu6uq7O5moDnwd4IfTnymzCItGkaYmZYhZ
gqLdNKHMaJfnAUNW1KqVgpPN+8vGaeUnrhOibFjAieWGsODUXJUGgqdtjTAGpcB2
TlBIPykhIXsPbmC9z1a+MuPDzt3kixRG2xtD9TIliVGxrh75p6Vu3Vk4igwRGapV
YMTfHZBtM6UPv8KVB5RKpRbZsYDJTJe2AVNK4ouEV31PFyf+164JIqU4SCuC3lSp
ZX83EuZK6Lg1qYJOdZwSdaWXMqX9ysml1rFtI7Mvg3kyuxl3hHYU+n5I4mL0GJQm
IFzpt0hC2/OvE2t26iC0oxW/dzNNTmMUHqn0HAdweCg/PElAPLHt7Nfe9Vx63KdC
TTE/ywV6wa1Obb9ZZdIhmyS8Gs+Aw0/u+gULe+WEID+3seauE31z6+dHgDVLeefJ
6g1t57TI/5WqKCgVNUjCzh4Y6ltAX6bNCtCG0h/dF0fEDAetGaWzTaeaZ2zsGMO6
TffN2KFaudsR+0M9ofKT/48NdVSu59aIxZ3BdPfCVgi+NzGmJ70Lj8kVOpF/0lFc
VFW/2U3Lk1jFWJ8mGhTJSJZQvUaGXuG0Lp/PlHSJaDlmBJxrC7PoVwohwl+ZVJWU
YWzmLEr0KQ==
=LzIA
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to