> On Jan 14, 2026, at 11:43 AM, Robert Engels <[email protected]> wrote:
> I know it won’t/can’t change - but took the opportunity to rant :)

I will second this rant.  

That behavior has resulted in more bugs — that I have personally seen — than I 
can count on all my digits. :-(


> On Jan 15, 2026, at 6:37 PM, Mike Schilling <[email protected]> 
> wrote:
> It's handy behavior, because it let you write
> 
>   x , err := method1()
>   if err !=nil {
>     ...
>   }
>   y , err := method2()
>   if err !=nil {
>     ...
>   }
> instead of having to have multiple error variables.

Shadowed err variables is where shadowing has bitten me the worst. I recently 
wrote a linter to flag ALL variable shadowing, especially err.

> On Jan 15, 2026, at 6:44 PM, Robert Engels <[email protected]> wrote:
> No doubt, but it also increases the cognitive load at the call site - which 
> is sort of against Go’s desire for explicitness. 

THIS.

-Mike

> On Jan 15, 2026, at 6:44 PM, Robert Engels <[email protected]> wrote:
> 
> No doubt, but it also increases the cognitive load at the call site - which 
> is sort of against Go’s desire for explicitness. 
> 
>> On Jan 15, 2026, at 5:38 PM, Mike Schilling <[email protected]> 
>> wrote:
>> 
>> It's handy behavior, because it let you write
>> 
>>   x , err := method1()
>>   if err !=nil {
>>     ...
>>   }
>>   y , err := method2()
>>   if err !=nil {
>>     ...
>>   }
>> instead of having to have multiple error variables.
>> 
>> 
>> On Wednesday, January 14, 2026 at 9:38:39 AM UTC-8 Robert Engels wrote:
>>> Yes, I was using shadowing loosely. 
>>> 
>>> When you have 
>>> 
>>> var x int 
>>> … 100 lines of code … 
>>> x,y := somefunc() 
>>> 
>>> And y is a new variable - you have no idea at the call site which is a new 
>>> variable and which is not. 
>>> 
>>> That is the “shadowing” I’m referring to - loosely in that it obscures what 
>>> is actually happening at the call site. You need to know other context - 
>>> breaking Go’s desire for explicitness. 
>>> 
>>> > On Jan 14, 2026, at 11:23 AM, Jan Mercl <[email protected] <>> wrote: 
>>> > 
>>> > On Wed, Jan 14, 2026 at 6:09 PM Robert Engels <[email protected] <>> 
>>> > wrote: 
>>> > 
>>> >> Yes it does. You can declare new variables while assigning to old in Go. 
>>> > 
>>> > No it does not AFAICT. You wrote: 
>>> > 
>>> > """" 
>>> > ... mixing of new and old declarations with new variables possibly 
>>> > being introduced or old ones shadowed. 
>>> > """" 
>>> > 
>>> > Please show a playground program where this happens. Note: shadowing 
>>> > can happen only across blocks. The rules for short variable 
>>> > declarations apply only within one block. 
>>> > 
>>> > Caveat emptor: Go specs do not define the term "shadowing". So you may 
>>> > be using a very different definition of shadowing than most other 
>>> > people have in mind when talking about shadowing variables in Go.
>> 
>> 
>> -- 
>> 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 [email protected] 
>> <mailto:[email protected]>.
>> To view this discussion visit 
>> https://groups.google.com/d/msgid/golang-nuts/c8bb7987-500f-464e-9741-bc8054076d26n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/golang-nuts/c8bb7987-500f-464e-9741-bc8054076d26n%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 [email protected] 
> <mailto:[email protected]>.
> To view this discussion visit 
> https://groups.google.com/d/msgid/golang-nuts/0AFDB5C9-475C-43D9-8AC3-258619750986%40ix.netcom.com
>  
> <https://groups.google.com/d/msgid/golang-nuts/0AFDB5C9-475C-43D9-8AC3-258619750986%40ix.netcom.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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/golang-nuts/065A7280-6DDF-45B5-9C04-BF42215D941C%40newclarity.net.

Reply via email to