package main import ( _ "embed" "encoding" "encoding/json" "log" "github.com/wailsapp/wails/v3/pkg/application" ) type Service struct{} type NonTextMarshaler struct{} type ValueTextMarshaler struct{} func (ValueTextMarshaler) MarshalText() ([]byte, error) { return nil, nil } type PointerTextMarshaler struct{} func (*PointerTextMarshaler) MarshalText() ([]byte, error) { return nil, nil } type JsonTextMarshaler struct{} func (JsonTextMarshaler) MarshalJSON() ([]byte, error) { return nil, nil } func (JsonTextMarshaler) MarshalText() ([]byte, error) { return nil, nil } type CustomInterface interface { MarshalText() ([]byte, error) } type EmbeddedInterface interface { encoding.TextMarshaler } type EmbeddedInterfaces interface { json.Marshaler encoding.TextMarshaler } type BasicConstraint interface { ~int | ~int8 | ~int16 | ~int32 | ~int64 | ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~string } type BadTildeConstraint interface { int | ~struct{} | string } type GoodTildeConstraint interface { int | ~struct{} | string MarshalText() ([]byte, error) } type NonBasicConstraint interface { ValueTextMarshaler | *PointerTextMarshaler } type PointableConstraint interface { ValueTextMarshaler | PointerTextMarshaler } type MixedConstraint interface { uint | ~string | ValueTextMarshaler | *PointerTextMarshaler } type InterfaceConstraint interface { comparable encoding.TextMarshaler } type PointerConstraint[T comparable] interface { *T encoding.TextMarshaler } type EmbeddedValue struct{ ValueTextMarshaler } type EmbeddedValuePtr struct{ *ValueTextMarshaler } type EmbeddedPointer struct{ PointerTextMarshaler } type EmbeddedPointerPtr struct{ *PointerTextMarshaler } type EmbeddedCustomInterface struct{ CustomInterface } type EmbeddedOriginalInterface struct{ encoding.TextMarshaler } type WrongType bool type WrongAlias = bool type StringType string type StringAlias = string type IntType int type IntAlias = int type ValueType ValueTextMarshaler type ValuePtrType *ValueTextMarshaler type ValueAlias = ValueTextMarshaler type ValuePtrAlias = *ValueTextMarshaler type PointerType PointerTextMarshaler type PointerPtrType *PointerTextMarshaler type PointerAlias = PointerTextMarshaler type PointerPtrAlias = *PointerTextMarshaler type InterfaceType encoding.TextMarshaler type InterfacePtrType *encoding.TextMarshaler type InterfaceAlias = encoding.TextMarshaler type InterfacePtrAlias = *encoding.TextMarshaler type ComparableCstrAlias[R comparable] = R type ComparableCstrPtrAlias[R comparable] = *R type BasicCstrAlias[S BasicConstraint] = S type BasicCstrPtrAlias[S BasicConstraint] = *S type BadTildeCstrAlias[T BadTildeConstraint] = T type BadTildeCstrPtrAlias[T BadTildeConstraint] = *T type GoodTildeCstrAlias[U GoodTildeConstraint] = U type GoodTildeCstrPtrAlias[U GoodTildeConstraint] = *U type NonBasicCstrAlias[V NonBasicConstraint] = V type NonBasicCstrPtrAlias[V NonBasicConstraint] = *V type PointableCstrAlias[W PointableConstraint] = W type PointableCstrPtrAlias[W PointableConstraint] = *W type MixedCstrAlias[X MixedConstraint] = X type MixedCstrPtrAlias[X MixedConstraint] = *X type InterfaceCstrAlias[Y InterfaceConstraint] = Y type InterfaceCstrPtrAlias[Y InterfaceConstraint] = *Y type PointerCstrAlias[R comparable, Z PointerConstraint[R]] = Z type PointerCstrPtrAlias[R comparable, Z PointerConstraint[R]] = *Z type Maps[R comparable, S BasicConstraint, T BadTildeConstraint, U GoodTildeConstraint, V NonBasicConstraint, W PointableConstraint, X MixedConstraint, Y InterfaceConstraint, Z PointerConstraint[R]] struct { Bool map[bool]int // Reject Int map[int]int // Accept Uint map[uint]int // Accept Float map[float32]int // Reject Complex map[complex64]int // Reject Byte map[byte]int // Accept Rune map[rune]int // Accept String map[string]int // Accept IntPtr map[*int]int // Reject UintPtr map[*uint]int // Reject FloatPtr map[*float32]int // Reject ComplexPtr map[*complex64]int // Reject StringPtr map[*string]int // Reject NTM map[NonTextMarshaler]int // Reject NTMPtr map[*NonTextMarshaler]int // Reject VTM map[ValueTextMarshaler]int // Accept VTMPtr map[*ValueTextMarshaler]int // Accept PTM map[PointerTextMarshaler]int // Reject PTMPtr map[*PointerTextMarshaler]int // Accept JTM map[JsonTextMarshaler]int // Accept, hide JTMPtr map[*JsonTextMarshaler]int // Accept, hide A map[any]int // Reject APtr map[*any]int // Reject TM map[encoding.TextMarshaler]int // Accept, hide TMPtr map[*encoding.TextMarshaler]int // Reject CI map[CustomInterface]int // Accept, hide CIPtr map[*CustomInterface]int // Reject EI map[EmbeddedInterface]int // Accept, hide EIPtr map[*EmbeddedInterface]int // Reject EV map[EmbeddedValue]int // Accept EVPtr map[*EmbeddedValue]int // Accept EVP map[EmbeddedValuePtr]int // Accept EVPPtr map[*EmbeddedValuePtr]int // Accept EP map[EmbeddedPointer]int // Reject EPPtr map[*EmbeddedPointer]int // Accept EPP map[EmbeddedPointerPtr]int // Accept EPPPtr map[*EmbeddedPointerPtr]int // Accept ECI map[EmbeddedCustomInterface]int // Accept ECIPtr map[*EmbeddedCustomInterface]int // Accept EOI map[EmbeddedOriginalInterface]int // Accept EOIPtr map[*EmbeddedOriginalInterface]int // Accept WT map[WrongType]int // Reject WA map[WrongAlias]int // Reject ST map[StringType]int // Accept SA map[StringAlias]int // Accept IntT map[IntType]int // Accept IntA map[IntAlias]int // Accept VT map[ValueType]int // Reject VTPtr map[*ValueType]int // Reject VPT map[ValuePtrType]int // Reject VPTPtr map[*ValuePtrType]int // Reject VA map[ValueAlias]int // Accept VAPtr map[*ValueAlias]int // Accept VPA map[ValuePtrAlias]int // Accept, hide VPAPtr map[*ValuePtrAlias]int // Reject PT map[PointerType]int // Reject PTPtr map[*PointerType]int // Reject PPT map[PointerPtrType]int // Reject PPTPtr map[*PointerPtrType]int // Reject PA map[PointerAlias]int // Reject PAPtr map[*PointerAlias]int // Accept PPA map[PointerPtrAlias]int // Accept, hide PPAPtr map[*PointerPtrAlias]int // Reject IT map[InterfaceType]int // Accept, hide ITPtr map[*InterfaceType]int // Reject IPT map[InterfacePtrType]int // Reject IPTPtr map[*InterfacePtrType]int // Reject IA map[InterfaceAlias]int // Accept, hide IAPtr map[*InterfaceAlias]int // Reject IPA map[InterfacePtrAlias]int // Reject IPAPtr map[*InterfacePtrAlias]int // Reject TPR map[R]int // Soft reject TPRPtr map[*R]int // Soft reject TPS map[S]int // Accept, hide TPSPtr map[*S]int // Soft reject TPT map[T]int // Soft reject TPTPtr map[*T]int // Soft reject TPU map[U]int // Accept, hide TPUPtr map[*U]int // Soft reject TPV map[V]int // Accept, hide TPVPtr map[*V]int // Soft reject TPW map[W]int // Soft reject TPWPtr map[*W]int // Accept, hide TPX map[X]int // Accept, hide TPXPtr map[*X]int // Soft reject TPY map[Y]int // Accept, hide TPYPtr map[*Y]int // Soft reject TPZ map[Z]int // Accept, hide TPZPtr map[*Z]int // Soft reject GAR map[ComparableCstrAlias[R]]int // Soft reject GARPtr map[ComparableCstrPtrAlias[R]]int // Soft reject GAS map[BasicCstrAlias[S]]int // Accept, hide GASPtr map[BasicCstrPtrAlias[S]]int // Soft reject GAT map[BadTildeCstrAlias[T]]int // Soft reject GATPtr map[BadTildeCstrPtrAlias[T]]int // Soft reject GAU map[GoodTildeCstrAlias[U]]int // Accept, hide GAUPtr map[GoodTildeCstrPtrAlias[U]]int // Soft reject GAV map[NonBasicCstrAlias[V]]int // Accept, hide GAVPtr map[NonBasicCstrPtrAlias[V]]int // Soft reject GAW map[PointableCstrAlias[W]]int // Soft reject GAWPtr map[PointableCstrPtrAlias[W]]int // Accept, hide GAX map[MixedCstrAlias[X]]int // Accept, hide GAXPtr map[MixedCstrPtrAlias[X]]int // Soft reject GAY map[InterfaceCstrAlias[Y]]int // Accept, hide GAYPtr map[InterfaceCstrPtrAlias[Y]]int // Soft reject GAZ map[PointerCstrAlias[R, Z]]int // Accept, hide GAZPtr map[PointerCstrPtrAlias[R, Z]]int // Soft reject GACi map[ComparableCstrAlias[int]]int // Accept, hide GACV map[ComparableCstrAlias[ValueTextMarshaler]]int // Accept GACP map[ComparableCstrAlias[PointerTextMarshaler]]int // Reject GACiPtr map[ComparableCstrPtrAlias[int]]int // Reject GACVPtr map[ComparableCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide GACPPtr map[ComparableCstrPtrAlias[PointerTextMarshaler]]int // Accept, hide GABi map[BasicCstrAlias[int]]int // Accept, hide GABs map[BasicCstrAlias[string]]int // Accept GABiPtr map[BasicCstrPtrAlias[int]]int // Reject GABT map[BadTildeCstrAlias[struct{}]]int // Reject GABTPtr map[BadTildeCstrPtrAlias[struct{}]]int // Reject GAGT map[GoodTildeCstrAlias[ValueTextMarshaler]]int // Accept GAGTPtr map[GoodTildeCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide GANBV map[NonBasicCstrAlias[ValueTextMarshaler]]int // Accept GANBP map[NonBasicCstrAlias[*PointerTextMarshaler]]int // Accept, hide GANBVPtr map[NonBasicCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide GANBPPtr map[NonBasicCstrPtrAlias[*PointerTextMarshaler]]int // Reject GAPlV1 map[PointableCstrAlias[ValueTextMarshaler]]int // Accept GAPlV2 map[*PointableCstrAlias[ValueTextMarshaler]]int // Accept GAPlP1 map[PointableCstrAlias[PointerTextMarshaler]]int // Reject GAPlP2 map[*PointableCstrAlias[PointerTextMarshaler]]int // Accept GAPlVPtr map[PointableCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide GAPlPPtr map[PointableCstrPtrAlias[PointerTextMarshaler]]int // Accept, hide GAMi map[MixedCstrAlias[uint]]int // Accept, hide GAMS map[MixedCstrAlias[StringType]]int // Accept GAMV map[MixedCstrAlias[ValueTextMarshaler]]int // Accept GAMSPtr map[MixedCstrPtrAlias[StringType]]int // Reject GAMVPtr map[MixedCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide GAII map[InterfaceCstrAlias[encoding.TextMarshaler]]int // Accept, hide GAIV map[InterfaceCstrAlias[ValueTextMarshaler]]int // Accept GAIP map[InterfaceCstrAlias[*PointerTextMarshaler]]int // Accept, hide GAIIPtr map[InterfaceCstrPtrAlias[encoding.TextMarshaler]]int // Reject GAIVPtr map[InterfaceCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide GAIPPtr map[InterfaceCstrPtrAlias[*PointerTextMarshaler]]int // Reject GAPrV map[PointerCstrAlias[ValueTextMarshaler, *ValueTextMarshaler]]int // Accept, hide GAPrP map[PointerCstrAlias[PointerTextMarshaler, *PointerTextMarshaler]]int // Accept, hide GAPrVPtr map[PointerCstrPtrAlias[ValueTextMarshaler, *ValueTextMarshaler]]int // Reject GAPrPPtr map[PointerCstrPtrAlias[PointerTextMarshaler, *PointerTextMarshaler]]int // Reject } func (*Service) Method() (_ Maps[PointerTextMarshaler, int, int, ValueTextMarshaler, *PointerTextMarshaler, ValueTextMarshaler, StringType, ValueTextMarshaler, *PointerTextMarshaler]) { return } func main() { app := application.New(application.Options{ Services: []application.Service{ application.NewService(&Service{}), }, }) app.NewWebviewWindow() err := app.Run() if err != nil { log.Fatal(err) } }