On Sat, Oct 12, 2024 at 8:08 AM Robert Engels <reng...@ix.netcom.com> wrote:
>
> Understood - but the compiler already determines constants - determining the 
> condition is a constant to avoid the current compiler error wouldn’t require 
> an optimization. It seems that a constant false might also be reported as an 
> error as an unreachable code block.

We could add a special case for the literals "true" and "false".
Personally I don't think it's worth it.

We can't add a case for constant expressions in general.  On different
systems constant expressions will have different truth values.
Consider "(1 << 32) == 0".

Ian


> On Oct 12, 2024, at 10:04 AM, Ian Lance Taylor <i...@golang.org> wrote:
>
> 
> On Fri, Oct 11, 2024, 9:30 PM Robert Engels <reng...@ix.netcom.com> wrote:
>>
>> FWIW, I’m not sure that I think it is the best outcome. If the expression is 
>> a constant the loop can be omitted entirely - which I would hope the 
>> compiler would do. And consequently the errors from the compiler should 
>> reflect that - including the inverse if the expression is true.
>
>
> We want all Go compilers to agree on which programs are valid and which are 
> not.  That means that compiler errors must not depend on compiler 
> optimizations.
>
> Ian
>
>
>
>> > On Oct 11, 2024, at 11:16 PM, Pierpaolo Bernardi <olopie...@gmail.com> 
>> > wrote:
>> >
>> > On Sat, Oct 12, 2024 at 5:35 AM Cleberson Pedreira Pauluci
>> > <pauluci.cleber...@gmail.com> wrote:
>> >>
>> >> I agree with @robert.
>> >> The compiler cannot guarantee that the function will always return a 
>> >> value. Even though we can see that the loop will eventually return i 
>> >> value, the compiler isn't able to make this determination statically.
>> >
>> > Yes, now I get it.  Thank you all for the help.
>> >
>> > Cheers
>> >
>> > --
>> > 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/CANY8u7HOn6o557cX6Es19EX_eEi7qXBh2zECwu_jQCqhEz4atg%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/A9868778-43DD-467E-AAAF-D39B30EEDE16%40ix.netcom.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/CAOyqgcVbBW-3aE6tB-Pq9AXUrmLZEsXee4TQFbB3DMDENzXOWw%40mail.gmail.com.

Reply via email to