**Tell us what’s happening:**

I tried all of the variations listed below and each solution references “…args” and each passes all of the tests except the last test where I get the error: “The sum function should use the … rest parameter on the args parameter.” even though each variant clearly includes “…args” in the solution. I strongly suspect there is a bug in the “…arg” test.

Here are each of the variations that I have tried (respectively, not all at once in the editor window):

```
const sum = function sum(...args) {
return args.reduce((a, b) => a + b, 0);
};
```

```
function sum(...args) {
return args.reduce((a, b) => a + b, 0);
}
```

```
const sum = (function() {
"use strict";
return function sum(...args ) {
return args.reduce((a, b) => a + b, 0);
};
})();
```

**Your code so far**

```
const sum = (function() {
"use strict";
return function sum(...args) {
return args.reduce((a, b) => a + b, 0);
};
})();
console.log(sum(1, 2, 3)); // 6
```

**Your browser information:**

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36`

.

**Challenge:** Use the Rest Parameter with Function Parameters

**Link to the challenge:**

https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters