The question was about detecting cyclic references. For that, the `l[0] =
l` case is enough.

On Wed, Nov 11, 2020 at 2:31 AM jake...@gmail.com <jake6...@gmail.com>
wrote:

> 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
> <https://groups.google.com/d/msgid/golang-nuts/250107e9-f688-4205-ae52-728221eb2e4cn%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/CAEkBMfERbOW1OzURNKJ4xfazPmwz-Ph1vd-SuxjZ41uNrgS17Q%40mail.gmail.com.

Reply via email to