Open
Description
This issue serves as a way to keep track of all known compilation issues
Large features
-
@use
and the module system (MVP) -
@forward
rewrite parsing, evaluation, and serialization #67 - indented syntax rewrite parsing, evaluation, and serialization #67
- compressed output
- plain-CSS imports rewrite parsing, evaluation, and serialization #67
Smaller features
These ideally come with minimal reproductions, though the reason why they're failing may be incorrect as they haven't been fully looked into
- comma separated imports
@import "hey1.css", "cookie.css", url("hey2.css"), "fudge.css";
- parens surrounding single word in media query
@media (color) {a {color: red;}}
- min as arg to min/max
min(1, min(2))
- special function as arg to min/max
min(1, env(--foo))
- inequality sign inside interpolation in media query
@media (#{"100px < width < 500px"}) {a {interpolation: in-parens}}
- invalid simple selector (should error, but panics)
simple-selectors(">")
- vendor prefixed known at rules (one of
@supports
,@keyframes
)@-webkit-keyframes {}
- styles can render at the toplevel, but they should not be able to rewrite parsing, evaluation, and serialization #67
color: red;
should error
- zero divided by zero panics, but should return
NaN
(0 / 0)
- one divided by zero panics, but should return
Infinity
(this has been updated to return an error instead of crashing) rewrite parsing, evaluation, and serialization #67(1 / 0)
- division should only occur when either of the operands is calculated or if they operation is in parens
1 / 2
should be emitted as1/2
, but it currently gives0.5
- CSS variables should include everything, notably comments rewrite parsing, evaluation, and serialization #67
--foo: //;
- numbers should use fuzzy matching -- that is, they should be equal if they are the same to 10 decimal points rewrite parsing, evaluation, and serialization #67
.9999999999999999999999999999999 == .99999999999999999999999999999998
- we should allow a BOM at the start of files
- all instances of
@import
should be moved to the top of the file - rgb(a) functions should allow
/
rewrite parsing, evaluation, and serialization #67rgba(1, 2, 3 / 4)
- we dont retain empty parens inside
url(...)
rewrite parsing, evaluation, and serialization #67url((((()))))
(this should actually produce an error, but it just emitsurl()
-
@import
should include strings verbatim rewrite parsing, evaluation, and serialization #67@import "hux\ bux.css";
this should include the\
, but it does not because we use normal string parsing
- subtraction with no space between operands and rhs is interpolated
10-#{10}
should give10 -10
but it gives10-10
- non-comparable inverse units rewrite parsing, evaluation, and serialization #67
(1px / 1em)
-
!optional
in@extend
- deny content block being passed to
@mixin
without@content
rewrite parsing, evaluation, and serialization #67 -
@extend
should not be possible between media query boundaries -
@media
query merging rewrite parsing, evaluation, and serialization #67 -
inspect(...)
does not properly preserve parens in some cases -
@charset
should only accept a string@charset 1+1;
should error
- function names containing interpolation should always be evaluated as unknown functions rewrite parsing, evaluation, and serialization #67
color: qu#{o}te(red)
current returns"red"
, but should givequote(red)
- unknown at rule with query but no curly braces
@foo "bar";
(we do parse this correctly, but we emit it with two semicolons)
- unicode ranges
- e.g.
U+A2??
- e.g.
- allow varargs to contain named arguments and support builtin fn
keywords
rewrite parsing, evaluation, and serialization #67 - feature complete parsing of
@supports
rewrite parsing, evaluation, and serialization #67 - support angle units other than
deg
to builtin fns,math.cos(1grad)
rewrite parsing, evaluation, and serialization #67
Metadata
Assignees
Labels
No labels
Activity