mirror of
https://github.com/golang/go
synced 2024-12-12 15:23:34 +00:00
1f8fa4941f
Fixes #70189 Fixes #59411 Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest-noswissmap Change-Id: I4ef7ecd7e996330189309cb2a658cf34bf9e1119 Reviewed-on: https://go-review.googlesource.com/c/go/+/625275 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
39 lines
666 B
Go
39 lines
666 B
Go
// run -goexperiment noswissmap
|
|
|
|
// Copyright 2024 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 main
|
|
|
|
func nan() float64 {
|
|
var x, y float64
|
|
return x / y
|
|
}
|
|
|
|
func main() {
|
|
m := map[float64]int{}
|
|
|
|
// Make a small map with nan keys
|
|
for i := 0; i < 8; i++ {
|
|
m[nan()] = i
|
|
}
|
|
|
|
// Start iterating on it.
|
|
start := true
|
|
for _, v := range m {
|
|
if start {
|
|
// Add some more elements.
|
|
for i := 0; i < 10; i++ {
|
|
m[float64(i)] = i
|
|
}
|
|
// Now clear the map.
|
|
clear(m)
|
|
start = false
|
|
} else {
|
|
// We should never reach here.
|
|
panic(v)
|
|
}
|
|
}
|
|
}
|