package xsync

import (
	
	
)

// Go allows running a function in another goroutine
// and waiting for its error.
func ( func() error) <-chan error {
	 := make(chan error, 1)
	go func() {
		defer func() {
			 := recover()
			if  != nil {
				select {
				case  <- fmt.Errorf("panic in go fn: %v, %s", , debug.Stack()):
				default:
				}
			}
		}()
		 <- ()
	}()

	return 
}