The code is not compliant with the rules T2 is larger than T1 and no guarantee 
of the same layout either. 

> On May 7, 2022, at 7:54 AM, 'Axel Wagner' via golang-nuts 
> <golang-nuts@googlegroups.com> wrote:
> 
> 
> 
>> On Sat, May 7, 2022 at 1:20 PM Jan Mercl <0xj...@gmail.com> wrote:
>> ^ Breaking the unsafe rules enables the code to behave non predictably.
>  
> Sure, that's why I'm asking :) In the hope of either a) learning that it is, 
> indeed, breaking the rules and thus should not be done, or b) learning that 
> the rules are incomplete and eventually having them clarified.
>  
>> AFAICT, interior pointers do and must keep the entire allocation block
>> alive,
> 
> Is there any "official" documentation on the "must"?
>  
>> but a sufficiently smart compiler is IMO free to ignore setting
>> of the 23 value - or allocating the actual storage for .Y in F(),
>> because no one can observe it - unless breaking the unsafe rules.
> 
> If internal pointers do, indeed, *must* keep the allocation alive, I can't 
> see how this would be allowed. After all, the code is unambiguous about 
> allocating a large object and returning a pointer into it - and if that 
> pointer must keep the entire object alive, surely a compiler can't just 
> decide to allocate a smaller one.
> 
> FWIW it seems at least currently, gc is not doing doing it: 
> https://godbolt.org/z/h74MchcT4
> -- 
> 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/CAEkBMfEFcAWA8TN_UGv_dc8wbM%2BPZ1_ia0g18eGQ4hEju08vLg%40mail.gmail.com.

-- 
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/7F3F5804-B359-473D-97CA-9E5AD543F337%40ix.netcom.com.

Reply via email to