- From: andruud via GitHub <noreply@w3.org>
- Date: Wed, 11 Jun 2025 09:13:33 +0000
- To: public-css-archive@w3.org
andruud has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-mixins-1] Should parameters keep their type? == @kizu pointed out that the following behavior is surprising: ``` @function --f(--arg <color>) { result: if( style(--arg: red): green; else: black; ); } /* --f(#f00) => black*/ ``` At the time `if()` is resolved, we are treating `--arg` as an untyped local (step 11 of [evaluate a custom function](https://drafts.csswg.org/css-mixins-1/#evaluate-a-custom-function)), which means we don't interpret the right hand side of `style(--arg: red)` as a `<color>`, and therefore `rgb(255, 0, 0)` != `red`. Grouping parameters in with (untyped) locals seemed reasonable to me originally, but given the example, I think `--arg <color>` should act as a "local registration" within the function (also affecting any locals named `--arg`). @tabatkins, @mirisuzanne: what do you think? Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12315 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 11 June 2025 09:13:34 UTC