type T struct {
P *T
}
func example(log logr.Logger) {
t := T{}
t.P = &t
log.Info("recurse", "t", t)
}
yields a (predictable) stack overflow.
We probably should add a max-depth option or track a stack of pointers across pretty calls and not print pointers already in the stack. Or both.