diff --git a/compiler/ssa/abi/abi.go b/compiler/ssa/abi/abi.go index 0039f636..193034a0 100644 --- a/compiler/ssa/abi/abi.go +++ b/compiler/ssa/abi/abi.go @@ -190,6 +190,8 @@ func (b *Builder) TypeName(t types.Type) (ret string, pub bool) { s = "<-chan" } return fmt.Sprintf("%s %s", s, elem), pub + case *types.Alias: + return b.TypeName(types.Unalias(t)) } log.Panicf("todo: %T\n", t) return diff --git a/compiler/ssa/abitype.go b/compiler/ssa/abitype.go index aa985ccc..9f184132 100644 --- a/compiler/ssa/abitype.go +++ b/compiler/ssa/abitype.go @@ -77,6 +77,8 @@ func (b Builder) abiTypeOf(t types.Type) func() Expr { return b.abiChanOf(t) case *types.Map: return b.abiMapOf(t) + case *types.Alias: + return b.abiTypeOf(types.Unalias(t)) } panic("todo") }