Skip to content

Cannot generate dataloader with target type 'time.Time' #54

@vanjiii

Description

@vanjiii

What I am trying to do:

Generate a dataloader with target type time.Time. Example given: //go:generate dataloaden fooLoader int *time.Time

What happen:

Generating fails with:

➜  go-test go generate ./...                                                                                                                                                                             16:31:36
validation failed: packages.Load: /home/vanjiii/dev/src/junk/go-test/fooloader_gen.go:9:2: time redeclared in this block
/home/vanjiii/dev/src/junk/go-test/fooloader_gen.go:7:2:        other declaration of time
exit status 1
main.go:10: running "go": exit status 1

The generated file fooloader_gen.go

// Code generated by github.com/vektah/dataloaden, DO NOT EDIT.

package main

import (
	"sync"
	"time"

	"time"
)
// rest of file...

What is expected

The generation to complete.

Workaround

  • Create a wrapper type:
type Time struct {
    time.Time
}
  • Generate the dataloader with the newly created type:
    //go:generate dataloaden fooLoader int *Time

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions