-- suggestedfix_a2_11_21 --
package fillstruct

type typedStruct struct {
	m  map[string]int
	s  []int
	c  chan int
	c1 <-chan int
	a  [2]string
}

var _ = typedStruct{
	m:  map[string]int{},
	s:  []int{},
	c:  make(chan int),
	c1: make(<-chan int),
	a:  [2]string{},
} //@suggestedfix("}", "refactor.rewrite")

type funStruct struct {
	fn func(i int) int
}

var _ = funStruct{} //@suggestedfix("}", "refactor.rewrite")

type funStructCompex struct {
	fn func(i int, s string) (string, int)
}

var _ = funStructCompex{} //@suggestedfix("}", "refactor.rewrite")

type funStructEmpty struct {
	fn func()
}

var _ = funStructEmpty{} //@suggestedfix("}", "refactor.rewrite")

-- suggestedfix_a2_17_19 --
package fillstruct

type typedStruct struct {
	m  map[string]int
	s  []int
	c  chan int
	c1 <-chan int
	a  [2]string
}

var _ = typedStruct{} //@suggestedfix("}", "refactor.rewrite")

type funStruct struct {
	fn func(i int) int
}

var _ = funStruct{
	fn: func(i int) int {
	},
} //@suggestedfix("}", "refactor.rewrite")

type funStructCompex struct {
	fn func(i int, s string) (string, int)
}

var _ = funStructCompex{} //@suggestedfix("}", "refactor.rewrite")

type funStructEmpty struct {
	fn func()
}

var _ = funStructEmpty{} //@suggestedfix("}", "refactor.rewrite")

-- suggestedfix_a2_23_25 --
package fillstruct

type typedStruct struct {
	m  map[string]int
	s  []int
	c  chan int
	c1 <-chan int
	a  [2]string
}

var _ = typedStruct{} //@suggestedfix("}", "refactor.rewrite")

type funStruct struct {
	fn func(i int) int
}

var _ = funStruct{} //@suggestedfix("}", "refactor.rewrite")

type funStructCompex struct {
	fn func(i int, s string) (string, int)
}

var _ = funStructCompex{
	fn: func(i int, s string) (string, int) {
	},
} //@suggestedfix("}", "refactor.rewrite")

type funStructEmpty struct {
	fn func()
}

var _ = funStructEmpty{} //@suggestedfix("}", "refactor.rewrite")

-- suggestedfix_a2_29_24 --
package fillstruct

type typedStruct struct {
	m  map[string]int
	s  []int
	c  chan int
	c1 <-chan int
	a  [2]string
}

var _ = typedStruct{} //@suggestedfix("}", "refactor.rewrite")

type funStruct struct {
	fn func(i int) int
}

var _ = funStruct{} //@suggestedfix("}", "refactor.rewrite")

type funStructCompex struct {
	fn func(i int, s string) (string, int)
}

var _ = funStructCompex{} //@suggestedfix("}", "refactor.rewrite")

type funStructEmpty struct {
	fn func()
}

var _ = funStructEmpty{
	fn: func() {
	},
} //@suggestedfix("}", "refactor.rewrite")

