1<===> input.scss
2// works fine with plain @each directive
3$i: 1;
4$prop1: width;
5$prop2: background-position;
6$values: 132px,
7    100px "-100px -25px",
8    200px "-500px -100px";
9
10@each $value1, $value2 in $values{
11  .okay#{$i} {
12    #{$prop1}: #{$value1};
13    #{$prop2}: #{$value2};
14  }
15  $i: ($i + 1);
16}
17
18// when using @each inside @mixin with variable arguments($values...),
19// $value2 is missing and no errors while compiling
20@mixin eachProp($prop1, $prop2, $values...){
21  $i: 1;
22  @each $value1, $value2 in $values{
23    .error#{$i} {
24      #{$prop1}: #{$value1};
25      #{$prop2}: #{$value2};
26    }
27    $i: ($i + 1);
28  }
29}
30
31@include eachProp($prop1, $prop2,
32  132px,
33    100px "-100px -25px",
34    200px "-500px -100px"
35);
36<===> output.css
37.okay1 {
38  width: 132px;
39}
40
41.okay2 {
42  width: 100px;
43  background-position: -100px -25px;
44}
45
46.okay3 {
47  width: 200px;
48  background-position: -500px -100px;
49}
50
51.error1 {
52  width: 132px;
53}
54
55.error2 {
56  width: 100px;
57  background-position: -100px -25px;
58}
59
60.error3 {
61  width: 200px;
62  background-position: -500px -100px;
63}
64