Memo.Invalidate zeros out the held value automatically

InvalidateTo is no longer needed
This commit is contained in:
Sasha Koshka 2024-09-10 16:42:57 -04:00
parent e94de08d4f
commit baad6aa227

View File

@ -27,13 +27,8 @@ func (this *Memo[T]) Value () T {
// Invalidate marks the Memo's value as invalid, which will cause it to be // Invalidate marks the Memo's value as invalid, which will cause it to be
// updated the next time Value is called. // updated the next time Value is called.
func (this *Memo[T]) Invalidate () { func (this *Memo[T]) Invalidate () {
var zero T
this.cache = zero
this.valid = false this.valid = false
} }
// InvalidateTo invalidates the Memo and sets its value. The new value will be
// entirely inaccessible. This is only intended to be used for setting a
// reference to nil
func (this *Memo[T]) InvalidateTo (value T) {
this.Invalidate()
this.cache = value
}