// Copyright 2013 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package a type Package struct { name string } type Future struct { result chan struct { *Package error } } func (t *Future) Result() (*Package, error) { result := <-t.result t.result <- result return result.Package, result.error }