@@ 37,6 37,32 @@ func ExampleBuild() {
// Output: Hello, Alice. You've been around the sun 42 times!
}
+func ExampleNew() {
+ type Username string
+ type Config struct {
+ User Username
+ Age int
+ Greeting func(Username, int) string
+ }
+
+ cfg := Config{
+ User: "Alice",
+ Age: 42,
+ Greeting: func(u Username, age int) string {
+ return fmt.Sprintf("Hello, %s. You've been around the sun %d times!", string(u), age)
+ },
+ }
+
+ greeting, err := New[string](cfg)
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ fmt.Println(greeting)
+
+ // Output: Hello, Alice. You've been around the sun 42 times!
+}
+
func TestBuildSuccess(t *testing.T) {
type A struct {
val string