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.

Reply via email to