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

Improve errors #99

Merged
merged 31 commits into from
Mar 12, 2021
Merged

Improve errors #99

merged 31 commits into from
Mar 12, 2021

Conversation

kaj
Copy link
Owner

@kaj kaj commented Mar 7, 2021

Detect bad arguments to built-in functions and format error messages to look like dart-sass.

Also, lots of fixes in the built-in functions. This PR is way to large, I got a bit carried away.

@kaj kaj merged commit 0f60d7e into master Mar 12, 2021
@kaj kaj deleted the improve-errors branch March 12, 2021 20:52
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