Copyright 2019 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 xcontext is a package to offer the extra functionality we need from contexts that is not available from the standard context package.
package xcontext

import (
	
	
)
Detach returns a context that keeps all the values of its parent context but detaches from the cancellation and error handling.
func ( context.Context) context.Context { return detachedContext{} }

type detachedContext struct{ parent context.Context }

func ( detachedContext) () (time.Time, bool)       { return time.Time{}, false }
func ( detachedContext) () <-chan struct{}             { return nil }
func ( detachedContext) () error                        { return nil }