Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parse numbers directly as Number. #100

Merged
merged 1 commit into from
Mar 14, 2021
Merged

Parse numbers directly as Number. #100

merged 1 commit into from
Mar 14, 2021

Conversation

kaj
Copy link
Owner

@kaj kaj commented Mar 14, 2021

No need to parse the first as isize-based limited numbers and then try again as bignum number when we can parse directly into Number which will handle any overflow.

No need to parse the first as isize-based limited numbers and then try
again as bignum number when we can parse directly into Number which
will handle any overflow.
@kaj kaj merged commit 912007e into master Mar 14, 2021
@kaj kaj deleted the parse-number branch March 14, 2021 14:58
kaj added a commit that referenced this pull request Mar 14, 2021
Progress: 3371 of 5945 tests passed in dart-sass compatibility mode.

### Breaking changes

* The unit of a `Numeric` is now a `UnitSet` rather than a `Unit`.
* `Error` has new variants and a new field in `BadArguments`.
* A sass::Value::Call now has a source position.
* A `Rational` is now a `Ratio<i64>` rather than a `Ratio<isize>`.

### Improvements

* Added a Contributing section to readme.
* Handle values with multiple units. PR #97.
* Show call position for errors in function calls, and test for type
  errors in many standard functions. Many error messages are made
  identical to dart-sass, improving test-suit progress with more than
  400 tests.  PR #99.
* Fix issue #98: overflow in rational number arithmetic.
* Allow `@at-root` at document root.
* Boolean operators is truly lazy, e.g. `false and f($x)` does not call `f`.
* Refactored number parsing to use overflowing rationals. PR #100.
* Test suite sass-spec updated to 2021-03-02.
* Updated num-rational and num-bigint to 0.4.0.

Thanks to @alvra for reporting #98.

Tested with rustc 1.50.0 (cb75ad5db 2021-02-10),
rustc 1.48.0 (7eac88abb 2020-11-16),
rustc 1.46.0 (04488afe3 2020-08-24),
rustc 1.44.1 (c7087fe00 2020-06-17),
rustc 1.51.0-beta.6 (6a1835ad7 2021-03-12), and
rustc 1.52.0-nightly (acca81892 2021-03-13).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant