Merge pull request #122026 from skitt/sets-go1.21
Use Go 1.21 Ordered and clear for sets
This commit is contained in:
		@@ -68,14 +68,8 @@ func (s Set[T]) Delete(items ...T) Set[T] {
 | 
				
			|||||||
// Clear empties the set.
 | 
					// Clear empties the set.
 | 
				
			||||||
// It is preferable to replace the set with a newly constructed set,
 | 
					// It is preferable to replace the set with a newly constructed set,
 | 
				
			||||||
// but not all callers can do that (when there are other references to the map).
 | 
					// but not all callers can do that (when there are other references to the map).
 | 
				
			||||||
// In some cases the set *won't* be fully cleared, e.g. a Set[float32] containing NaN
 | 
					 | 
				
			||||||
// can't be cleared because NaN can't be removed.
 | 
					 | 
				
			||||||
// For sets containing items of a type that is reflexive for ==,
 | 
					 | 
				
			||||||
// this is optimized to a single call to runtime.mapclear().
 | 
					 | 
				
			||||||
func (s Set[T]) Clear() Set[T] {
 | 
					func (s Set[T]) Clear() Set[T] {
 | 
				
			||||||
	for key := range s {
 | 
						clear(s)
 | 
				
			||||||
		delete(s, key)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return s
 | 
						return s
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user