tailscale/util/deephash
Joe Tsai 7e40071571
util/deephash: handle slice edge-cases (#5471)
It is unclear whether the lack of checking nil-ness of slices
was an oversight or a deliberate feature.
Lacking a comment, the assumption is that this was an oversight.

Also, expand the logic to perform cycle detection for recursive slices.
We do this on a per-element basis since a slice is semantically
equivalent to a list of pointers.

Signed-off-by: Joe Tsai <joetsai@digital-static.net>
2022-08-30 00:33:18 -07:00
..
testtype util/deephash: fix unexported time.Time hashing 2022-07-27 09:28:23 -07:00
debug.go util/deephash: add debug printer (#5460) 2022-08-27 12:14:07 -07:00
deephash.go util/deephash: handle slice edge-cases (#5471) 2022-08-30 00:33:18 -07:00
deephash_test.go util/deephash: handle slice edge-cases (#5471) 2022-08-30 00:33:18 -07:00
pointer.go util/deephash: use unsafe.Pointer instead of reflect.Value (#5459) 2022-08-27 12:30:35 -07:00
pointer_norace.go util/deephash: use unsafe.Pointer instead of reflect.Value (#5459) 2022-08-27 12:30:35 -07:00
pointer_race.go util/deephash: use unsafe.Pointer instead of reflect.Value (#5459) 2022-08-27 12:30:35 -07:00
types.go util/deephash: specialize for netip.Addr and drop AppendTo support (#5402) 2022-08-18 22:54:56 -07:00
types_test.go util/deephash: move typeIsRecursive and canMemHash to types.go (#5386) 2022-08-16 09:31:19 -07:00