dart-sass
dart-sass copied to clipboard
Exception when `NaN` or `Infinity` are used as key to map
For the following inputs dart-sass will raise an exception,
$a: ((0/0): a);
$a: ((1/0): a);
$a: ((-1/0): a);
Stacktrace
Unexpected exception:
Unsupported operation: Infinity or NaN toInt
dart:core double.round
package:sass/src/util/number.dart 22:61 fuzzyHashCode
package:sass/src/value/number.dart 521:23 SassNumber.hashCode
dart:collection _LinkedHashMapMixin.containsKey
package:sass/src/visitor/evaluate.dart 2037:15 _EvaluateVisitor.visitMapExpression
package:sass/src/ast/sass/expression/map.dart 24:56 MapExpression.accept
package:sass/src/visitor/evaluate.dart 1855:33 _EvaluateVisitor.visitVariableDeclaration
package:sass/src/ast/sass/statement/variable_declaration.dart 75:15 VariableDeclaration.accept
package:sass/src/visitor/evaluate.dart 862:13 _EvaluateVisitor.visitStylesheet
package:sass/src/visitor/evaluate.dart 678:7 _EvaluateVisitor._execute.<fn>
package:sass/src/visitor/evaluate.dart 2700:26 _EvaluateVisitor._withEnvironment
package:sass/src/visitor/evaluate.dart 648:5 _EvaluateVisitor._execute
package:sass/src/visitor/evaluate.dart 486:20 _EvaluateVisitor.run.<fn>
package:sass/src/warn.dart 32:20 withWarnCallback.<fn>
dart:async runZoned
package:sass/src/warn.dart 31:10 withWarnCallback
package:sass/src/visitor/evaluate.dart 502:12 _EvaluateVisitor._withWarnCallback
package:sass/src/visitor/evaluate.dart 473:12 _EvaluateVisitor.run
package:sass/src/visitor/evaluate.dart 95:10 evaluate
package:sass/src/compile.dart 134:24 _compileStylesheet
package:sass/src/compile.dart 64:10 compile
package:sass/src/executable/compile_stylesheet.dart 91:13 compileStylesheet
Related to https://github.com/sass/sass/issues/2892
Blocked on https://github.com/dart-lang/sdk/issues/49033.