--- 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 ---