FYI, that does detect the simple case of l[0] = l, but not more complicated circular cases like l[1] = l[1:]
On Tuesday, November 10, 2020 at 2:38:26 AM UTC-5 axel.wa...@googlemail.com wrote: > If the slice is empty, it doesn't reference anything. > If it is not empty, &x[0] can be used to identify the slice (potentially > also using len/cap, if it's interesting). > > On Tue, Nov 10, 2020 at 4:11 AM arpad ryszka <arpad....@gmail.com> wrote: > >> Hi, >> >> is there a way to detect the cyclic reference in the following example >> somehow? Either via reflection or by other means? My understanding is that >> slices cannot be compared with == (unless to nil), or used as keys in maps. >> Is there a different way? >> >> l := []interface{}{"foo"} >> l[0] = l >> fmt.Println(l) >> >> or here it is as a playground link: https://play.golang.org/p/T0qZlF8m-vi >> >> Cheers, >> Arpad >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/b2cb6b5e-febc-407f-b5b3-d9ca196ce68bn%40googlegroups.com >> >> <https://groups.google.com/d/msgid/golang-nuts/b2cb6b5e-febc-407f-b5b3-d9ca196ce68bn%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/250107e9-f688-4205-ae52-728221eb2e4cn%40googlegroups.com.