gopy icon indicating copy to clipboard operation
gopy copied to clipboard

does not appear to work with generics

Open rcoreilly opened this issue 2 years ago • 1 comments

it barfs on my generics types. :(

rcoreilly avatar Jun 19 '22 08:06 rcoreilly

Just ran into the same issue:

gopy build -output=zap -vm python3 go.uber.org/zap

It failed with:

ozap.go:3983:45: expected '(', found any_
zap.go:3988:37: missing ',' in type argument list
zap.go:3990:45: expected '(', found any_
zap.go:4329:31: expected '(', found any__MarshalLogObject
zap.go:4335:41: missing ',' in type argument list

Because Zap has generics, causing gopy to generate code with incorrect syntax, like:

func ptrFromHandle_zap_ObjectMarshalerPtr_T any_(h CGoHandle) zap.ObjectMarshalerPtr[T any] {
	p := gopyh.VarFromHandle((gopyh.CGoHandle)(h), "zap.ObjectMarshalerPtr[T any]")
	if p == nil {
		return nil
	}
	return p.(zap.ObjectMarshalerPtr[T any])
}
func handleFromPtr_zap_ObjectMarshalerPtr_T any_(p interface{}) CGoHandle {
	return CGoHandle(gopyh.Register("zap.ObjectMarshalerPtr[T any]", p))
}

linzhp avatar Jul 23 '23 21:07 linzhp