Recursion happens in function matchExtends() that calls itself near end of function.
Ruby version just compiled that code and showed notice:
DEPRECATION WARNING on line 18 of test.scss:
Extending a compound selector, .icon-members:before, is deprecated and will not be supported in a future release.
Consider "@extend .icon-members, :before" instead.
See http://bit.ly/ExtendCompound for details.
This code is bugged, but it is what it is. Instead of throwing error message compiler falls into infinite loop when parsing this code:
Recursion happens in function matchExtends() that calls itself near end of function.
Ruby version just compiled that code and showed notice: