// 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 memoize // NoCopy is a type with no public methods that will trigger a vet check if it // is ever copied. // You can embed this in any type intended to be used as a value. This helps // avoid accidentally holding a copy of a value instead of the value itself. type NoCopy struct { noCopy noCopy } // noCopy may be embedded into structs which must not be copied // after the first use. // // See https://golang.org/issues/8005#issuecomment-190753527 // for details. type noCopy struct{} // Lock is a no-op used by -copylocks checker from `go vet`. func (*noCopy) Lock() {} func (*noCopy) Unlock() {}