func NewFakeStructerDefaultPanic() *FakeStructer {
	return &FakeStructer{
		StructHook: func(struct {
			a string
			b string
		}) (ident2 struct {
			c string
			d string
		}) {
			panic("Unexpected call to Structer.Struct")
		},
		NamedStructHook: func(struct {
			a string
			b string
		}) (z struct {
			c string
			d string
		}) {
			panic("Unexpected call to Structer.NamedStruct")
		},
	}
}
NewFakeStructerDefaultPanic returns an instance of FakeStructer with all hooks configured to panic
package main
import "reflect"
type StructerStructInvocation struct {
	Parameters struct {
		Ident1 struct {
			a string
			b string
		}
	}
	Results struct {
		Ident2 struct {
			c string
			d string
		}
	}
}
func NewStructerStructInvocation(ident1 struct {
	a string
	b string
}, ident2 struct {
	c string
	d string
}) *StructerStructInvocation {
	invocation := new(StructerStructInvocation)
	invocation.Parameters.Ident1 = ident1
	invocation.Results.Ident2 = ident2
	return invocation
}
type StructerNamedStructInvocation struct {
	Parameters struct {
		A struct {
			a string
			b string
		}
	}
	Results struct {
		Z struct {
			c string
			d string
		}
	}
}
func NewStructerNamedStructInvocation(a struct {
	a string
	b string
}, z struct {
	c string
	d string
}) *StructerNamedStructInvocation {
	invocation := new(StructerNamedStructInvocation)
	invocation.Parameters.A = a
	invocation.Results.Z = z
	return invocation
}
type StructerTestingT interface {
	Error(...interface{})
	Errorf(string, ...interface{})
	Fatal(...interface{})
	Helper()
}
type FakeStructer struct {
	StructHook func(struct {
		a string
		b string
	}) struct {
		c string
		d string
	}
	NamedStructHook func(struct {
		a string
		b string
	}) struct {
		c string
		d string
	}
	StructCalls      []*StructerStructInvocation
	NamedStructCalls []*StructerNamedStructInvocation
}