// Code generated by gobind. DO NOT EDIT.

// Package main is an autogenerated binder stub for package try.
//
//   autogenerated by gobind -lang=go try
package main

/*
#include <stdlib.h>
#include <stdint.h>
#include "seq.h"
#include "try.h"

*/
import "C"

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

// suppress the error if seq ends up unused
var _ = _seq.FromRefNum

//export proxytry__This
func proxytry__This() C.nstring {
	res_0 := try.This()
	_res_0 := encodeString(res_0)
	return _res_0
}
