// Package go_try is an autogenerated binder stub for package try.
//   gobind -lang=go try
//
// File is generated by gobind. Do not edit.
package go_try

import (
	"golang.org/x/mobile/bind/seq"
	"try"
)

func proxy_This(out, in *seq.Buffer) {
	res := try.This()
	out.WriteString(res)
}

func init() {
	seq.Register("try", 1, proxy_This)
}
