I’m saying that a param defined as {…} confuses the closure compiler when you 
have the rest redefined as an array anywhere but the first line of the 
function. It seems like a bug in the closure compiler.

Changing:
rest = Array.prototype.slice.call(arguments, 0);
to:
var rest = Array.prototype.slice.call(arguments, 0);

also makes the error go away, but we do get a reassignment warning.

I’m not sure what declaring a @param as {…} actually accomplishes in terms of 
type checking.

> On Sep 7, 2018, at 10:02 AM, Alex Harui <aha...@adobe.com.INVALID> wrote:
> 
> Are you saying some recent change to the compiler is now generating:
>    @param {...} rest
> 
> If so, what changed caused that output?  If not, why did it not fail before?
> 
> We should be generating whatever Google says we should generate for rest 
> parameters.  Although I did ponder the impact of having Royale's trace not 
> take extra parameters.  Then folks would have to concat strings before 
> calling trace.
> 
> -Alex
> 
> On 9/6/18, 11:58 PM, "Harbs" <harbs.li...@gmail.com> wrote:
> 
>    It looks like the problem is caused by:
>     * @param {...} rest
> 
>    What would happen if we remove the @param or change it to @param {*=} rest?
> 
>    Both of those work.
> 
>> On Sep 7, 2018, at 8:35 AM, Alex Harui <aha...@adobe.com.INVALID> wrote:
>> 
>> But first, I'm not sure your idea is going to work in all cases.  See if you 
>> get the same problem in JewelExample.
> 
> 
> 

Reply via email to