| Index: impl/memory/memcache.go | 
| diff --git a/impl/memory/memcache.go b/impl/memory/memcache.go | 
| index 4a38c026a0fc3a06d9859e2d431f86fb8c5fea09..3e1c4b8630f8398052cf82c7e1c93151c1bbfaef 100644 | 
| --- a/impl/memory/memcache.go | 
| +++ b/impl/memory/memcache.go | 
| @@ -50,7 +50,13 @@ func (m *mcItem) SetExpiration(exp time.Duration) mc.Item { | 
| } | 
|  | 
| func (m *mcItem) SetAll(other mc.Item) { | 
| -	*m = *other.(*mcItem) | 
| +	if other == nil { | 
| +		*m = mcItem{key: m.key} | 
| +	} else { | 
| +		k := m.key | 
| +		*m = *other.(*mcItem) | 
| +		m.key = k | 
| +	} | 
| } | 
|  | 
| type mcDataItem struct { | 
| @@ -151,6 +157,8 @@ var _ mc.RawInterface = (*memcacheImpl)(nil) | 
| // by gae.GetMC(c) | 
| func useMC(c context.Context) context.Context { | 
| lck := sync.Mutex{} | 
| +	// TODO(riannucci): just use namespace for automatic key prefixing. Flush | 
| +	// actually wipes the ENTIRE memcache, regardless of namespace. | 
| mcdMap := map[string]*memcacheData{} | 
|  | 
| return mc.SetRawFactory(c, func(ic context.Context) mc.RawInterface { | 
| @@ -200,7 +208,7 @@ func (m *memcacheImpl) AddMulti(items []mc.Item, cb mc.RawCB) error { | 
| m.data.setItemLocked(now, itm) | 
| return nil | 
| } else { | 
| -			return (mc.ErrNotStored) | 
| +			return mc.ErrNotStored | 
| } | 
| }) | 
| return nil | 
|  |