Skip to content

yaml:"service.name" couldn't be parsed correctly after 46dea54a68b3e94c239093186902985c7ced97b5 #99

@masterginger

Description

@masterginger

base.yaml

service:
  name: abc

main.go

package main

import (
	"go.uber.org/config"
	"fmt"
)

func main() {
	type ServiceConfig struct {
		Name string
	}
	type cfg struct {
		Name string `yaml:"service.name"`
                Service ServiceConfig
	}

	// provider, err := config.NewYAML(config.File("base.yaml"))
        provider, err := config.NewYAMLProviderFromFiles("base.yaml")
	if err != nil {
		panic(err) // handle error
	}

	var c cfg
	if err := provider.Get("").Populate(&c); err != nil {
		panic(err) // handle error
	}

	fmt.Printf("%+v\n", c)
}

Expected result:
{Name:abc {Service:{Name:abc}}

Actual result:
{Name: {Service:{Name:abc}}

Pinned down to 46dea54 after git bisect

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions