Thanks. That makes sense. 

In my case the only thing that raised question marks was the placing of the 
error (on execute vs parse)--made it fractionally harder to debug the issue 
I was experiencing. From there it caused me to dig deeper and come to the 
conclusion that it might be an issue for anyone who wanted to redefine a 
template as an empty string. 

This is probably an edge case but I can see value in it, so I'll file an 
issue.

On Wednesday, 22 June 2016 13:34:57 UTC-7, Rob 'Commander' Pike wrote:
>
> I'm not convinced there is a "why" other than "that's what happens". Feel 
> free to file an issue.
>
> -rob
>
>
> On Wed, Jun 22, 2016 at 1:29 PM, Evan Digby <evan...@gmail.com 
> <javascript:>> wrote:
>
>> Hi Rob,
>>
>> Thanks! I'm using 1.6. I guess my question wasn't too clear now that I 
>> read it back. 
>>
>> The question isn't why I can redefine. More specifically, my question is 
>> why redefining by parsing an empty string returns an error on Execute.
>>
>> Why can't we redefine a template as empty string? If that's expected, why 
>> would it not return an error when parsing and not executing?
>>
>> I think the "same base template" info from my original post is a red 
>> herring, because I imagine it's not "redefining" if they're not part of the 
>> same tree somehow. 
>>
>> Thanks again,
>>
>> Evan
>>
>> On Wednesday, 22 June 2016 13:22:09 UTC-7, Rob 'Commander' Pike wrote:
>>>
>>> You don't say what version of Go you are running, but as of Go 1.6, 
>>> templates can be redefined, which supports the new 'block' feature.
>>>
>>> You are redefining a template, which used to be an error but is not any 
>>> more.
>>>
>>> -rob
>>>
>>>
>>> On Wed, Jun 22, 2016 at 1:13 PM, Evan Digby <evan...@gmail.com> wrote:
>>>
>>>> I'm noticing that if I accidentally create a second template with the 
>>>> same name but no content there is no error reported when I "parse" it, but 
>>>> then when I attempt to execute it I do see an error:
>>>>
>>>> https://play.golang.org/p/Rj3433vvju
>>>>
>>>> Is this expected behaviour? Why wouldn't it simply return an error from 
>>>> the Parse call?
>>>>
>>>> The key is the second template must have no content. The following does 
>>>> not return an error on execute:
>>>>
>>>> https://play.golang.org/p/O5xv5rS-cg (both have content)
>>>> https://play.golang.org/p/kaoVWRunrP (only the second has content)
>>>>
>>>> I have also noticed that this isn't an issue if they are not all based 
>>>> from the same template:
>>>>
>>>> https://play.golang.org/p/iLoHokX4uy
>>>> https://play.golang.org/p/T07Z9rvfmW
>>>>
>>>> The inconsistency in behaviour between the examples listed is a bit 
>>>> confusing. If there truly is expected that the one case that does error 
>>>> our 
>>>> on execute should error out, and not the others, I believe that the error 
>>>> makes more sense (and could be easily caught) on the Parse call, not the 
>>>> execute call.
>>>>
>>>> Can someone provide some insight into why this might legitimately be 
>>>> behaving this way? 
>>>>
>>>> Thank you!
>>>>
>>>>
>>>>
>>>>
>>>> -- 
>>>> 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.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> -- 
>> 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 <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to