dataloaden icon indicating copy to clipboard operation
dataloaden copied to clipboard

Cannot generate dataloader with target type 'time.Time'

Open vanjiii opened this issue 4 years ago • 0 comments

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

vanjiii avatar Nov 30 '20 14:11 vanjiii