<===> conflict/README.md
When two modules that contain conflicting members are `@forward`ed, that
produces an error immediately even if the member is never used. This is unlike
`@use`, which only produces an error on use.
<===>
================================================================================
<===> conflict/variable/input.scss
@forward "other1";
@forward "other2";
<===> conflict/variable/_other1.scss
$a: from other1;
<===> conflict/variable/_other2.scss
$a: from other2;
<===> conflict/variable/error
Error: Two forwarded modules both define a variable named $a.
,
1 | @forward "other1";
| ================= original @forward
2 | @forward "other2";
| ^^^^^^^^^^^^^^^^^ new @forward
'
input.scss 2:1 root stylesheet
<===>
================================================================================
<===> conflict/function/input.scss
@forward "other1";
@forward "other2";
<===> conflict/function/_other1.scss
@function a() {@return from other1}
<===> conflict/function/_other2.scss
@function a() {@return from other2}
<===> conflict/function/error
Error: Two forwarded modules both define a function named a.
,
1 | @forward "other1";
| ================= original @forward
2 | @forward "other2";
| ^^^^^^^^^^^^^^^^^ new @forward
'
input.scss 2:1 root stylesheet
<===>
================================================================================
<===> conflict/mixin/input.scss
@forward "other1";
@forward "other2";
<===> conflict/mixin/_other1.scss
@mixin a {b: from other1}
<===> conflict/mixin/_other2.scss
@mixin a {b: from other2}
<===> conflict/mixin/error
Error: Two forwarded modules both define a mixin named a.
,
1 | @forward "other1";
| ================= original @forward
2 | @forward "other2";
| ^^^^^^^^^^^^^^^^^ new @forward
'
input.scss 2:1 root stylesheet
<===>
================================================================================
<===> conflict/same_value/variable/input.scss
@forward "other1";
@forward "other2";
<===> conflict/same_value/variable/_other1.scss
$a: b;
<===> conflict/same_value/variable/_other2.scss
$a: b;
<===> conflict/same_value/variable/error
Error: Two forwarded modules both define a variable named $a.
,
1 | @forward "other1";
| ================= original @forward
2 | @forward "other2";
| ^^^^^^^^^^^^^^^^^ new @forward
'
input.scss 2:1 root stylesheet
<===>
================================================================================
<===> conflict/same_value/function/input.scss
@forward "other1";
@forward "other2";
<===> conflict/same_value/function/_other1.scss
@function a() {@return b}
<===> conflict/same_value/function/_other2.scss
@function a() {@return b}
<===> conflict/same_value/function/error
Error: Two forwarded modules both define a function named a.
,
1 | @forward "other1";
| ================= original @forward
2 | @forward "other2";
| ^^^^^^^^^^^^^^^^^ new @forward
'
input.scss 2:1 root stylesheet
<===>
================================================================================
<===> conflict/same_value/mixin/input.scss
@forward "other1";
@forward "other2";
<===> conflict/same_value/mixin/_other1.scss
@mixin a {b: c}
<===> conflict/same_value/mixin/_other2.scss
@mixin a {b: c}
<===> conflict/same_value/mixin/error
Error: Two forwarded modules both define a mixin named a.
,
1 | @forward "other1";
| ================= original @forward
2 | @forward "other2";
| ^^^^^^^^^^^^^^^^^ new @forward
'
input.scss 2:1 root stylesheet
<===>
================================================================================
<===> conflict/because_of_as/first/input.scss
@forward "other1" as a-*;
@forward "other2";
<===> conflict/because_of_as/first/_other1.scss
$b: from other1;
<===> conflict/because_of_as/first/_other2.scss
$a-b: from other2;
<===> conflict/because_of_as/first/error
Error: Two forwarded modules both define a variable named $a-b.
,
1 | @forward "other1" as a-*;
| ======================== original @forward
2 | @forward "other2";
| ^^^^^^^^^^^^^^^^^ new @forward
'
input.scss 2:1 root stylesheet
<===>
================================================================================
<===> conflict/because_of_as/last/input.scss
@forward "other1";
@forward "other2" as a-*;
<===> conflict/because_of_as/last/_other1.scss
$a-b: from other1;
<===> conflict/because_of_as/last/_other2.scss
$b: from other2;
<===> conflict/because_of_as/last/error
Error: Two forwarded modules both define a variable named $a-b.
,
1 | @forward "other1";
| ================= original @forward
2 | @forward "other2" as a-*;
| ^^^^^^^^^^^^^^^^^^^^^^^^ new @forward
'
input.scss 2:1 root stylesheet
<===>
================================================================================
<===> inaccessible/local/variable/input.scss
@forward "other";
a {b: $c};
<===> inaccessible/local/variable/_other.scss
$c: d;
<===> inaccessible/local/variable/error
Error: Undefined variable.
,
3 | a {b: $c};
| ^^
'
input.scss 3:7 root stylesheet
<===>
================================================================================
<===> inaccessible/local/function/input.scss
@forward "other";
// This is technically not a compile error, since `-member()` is treated as
// plain CSS, but it's included here for consistency with the other specs.
a {b: c()};
<===> inaccessible/local/function/_other.scss
@function c() {@return d}
<===> inaccessible/local/function/output.css
a {
b: c();
}
<===>
================================================================================
<===> inaccessible/local/mixin/input.scss
@forward "other";
@include a;
<===> inaccessible/local/mixin/_other.scss
@mixin a {b {c: d}}
<===> inaccessible/local/mixin/error
Error: Undefined mixin.
,
3 | @include a;
| ^^^^^^^^^^
'
input.scss 3:1 root stylesheet
<===>
================================================================================
<===> inaccessible/private/variable/input.scss
@use "midstream" as *;
a {b: $-c};
<===> inaccessible/private/variable/_midstream.scss
@forward "upstream";
<===> inaccessible/private/variable/_upstream.scss
$-c: d;
<===> inaccessible/private/variable/error
Error: Undefined variable.
,
3 | a {b: $-c};
| ^^^
'
input.scss 3:7 root stylesheet
<===>
================================================================================
<===> inaccessible/private/function/input.scss
@use "midstream" as *;
// This is technically not a compile error, since `-member()` is treated as
// plain CSS, but it's included here for consistency with the other specs.
a {b: -c()};
<===> inaccessible/private/function/_midstream.scss
@forward "upstream";
<===> inaccessible/private/function/_upstream.scss
@function -c() {@return d}
<===> inaccessible/private/function/output.css
a {
b: -c();
}
<===>
================================================================================
<===> inaccessible/private/mixin/input.scss
@use "midstream" as *;
@include -a;
<===> inaccessible/private/mixin/_midstream.scss
@forward "upstream";
<===> inaccessible/private/mixin/_upstream.scss
@mixin -a {b {c: d}}
<===> inaccessible/private/mixin/error
Error: Undefined mixin.
,
3 | @include -a;
| ^^^^^^^^^^^
'
input.scss 3:1 root stylesheet
<===>
================================================================================
<===> inaccessible/hidden/variable/input.scss
@use "midstream" as *;
a {b: $c}
<===> inaccessible/hidden/variable/_midstream.scss
@forward "upstream" hide $c;
<===> inaccessible/hidden/variable/_upstream.scss
$c: d;
<===> inaccessible/hidden/variable/error
Error: Undefined variable.
,
3 | a {b: $c}
| ^^
'
input.scss 3:7 root stylesheet
<===>
================================================================================
<===> inaccessible/hidden/mixin/input.scss
@use "midstream" as *;
@include a;
<===> inaccessible/hidden/mixin/_midstream.scss
@forward "upstream" hide a;
<===> inaccessible/hidden/mixin/_upstream.scss
@mixin a {b {c: d}}
<===> inaccessible/hidden/mixin/error
Error: Undefined mixin.
,
3 | @include a;
| ^^^^^^^^^^
'
input.scss 3:1 root stylesheet
<===>
================================================================================
<===> inaccessible/hidden/as/different_separator/input.scss
@use "midstream" as *;
@include a;
<===> inaccessible/hidden/as/different_separator/_midstream.scss
@forward "upstream" as b-* hide b_a;
<===> inaccessible/hidden/as/different_separator/_upstream.scss
@as a {b {c: d}}
<===> inaccessible/hidden/as/different_separator/error
Error: Undefined mixin.
,
3 | @include a;
| ^^^^^^^^^^
'
input.scss 3:1 root stylesheet
<===>
================================================================================
<===> inaccessible/hidden/as/same_separator/input.scss
@use "midstream" as *;
@include a;
<===> inaccessible/hidden/as/same_separator/_midstream.scss
@forward "upstream" as b-* hide b-a;
<===> inaccessible/hidden/as/same_separator/_upstream.scss
@as a {b {c: d}}
<===> inaccessible/hidden/as/same_separator/error
Error: Undefined mixin.
,
3 | @include a;
| ^^^^^^^^^^
'
input.scss 3:1 root stylesheet
<===>
================================================================================
<===> inaccessible/not_shown/variable/input.scss
@use "midstream" as *;
a {b: $c}
<===> inaccessible/not_shown/variable/_midstream.scss
@forward "upstream" show $d;
<===> inaccessible/not_shown/variable/_upstream.scss
$c: e;
<===> inaccessible/not_shown/variable/error
Error: Undefined variable.
,
3 | a {b: $c}
| ^^
'
input.scss 3:7 root stylesheet
<===>
================================================================================
<===> inaccessible/not_shown/mixin/input.scss
@use "midstream" as *;
@include a;
<===> inaccessible/not_shown/mixin/_midstream.scss
@forward "upstream" show b;
<===> inaccessible/not_shown/mixin/_upstream.scss
@mixin a {c {d: e}}
<===> inaccessible/not_shown/mixin/error
Error: Undefined mixin.
,
3 | @include a;
| ^^^^^^^^^^
'
input.scss 3:1 root stylesheet
<===>
================================================================================
<===> inaccessible/not_shown/wrong_type/variable/input.scss
@use "midstream" as *;
a {b: $c}
<===> inaccessible/not_shown/wrong_type/variable/_midstream.scss
@forward "upstream" show c;
<===> inaccessible/not_shown/wrong_type/variable/_upstream.scss
$c: e;
<===> inaccessible/not_shown/wrong_type/variable/error
Error: Undefined variable.
,
3 | a {b: $c}
| ^^
'
input.scss 3:7 root stylesheet
<===>
================================================================================
<===> inaccessible/not_shown/wrong_type/mixin/input.scss
@use "midstream" as *;
@include a;
<===> inaccessible/not_shown/wrong_type/mixin/_midstream.scss
@forward "upstream" show $a;
<===> inaccessible/not_shown/wrong_type/mixin/_upstream.scss
@mixin a {c {d: e}}
<===> inaccessible/not_shown/wrong_type/mixin/error
Error: Undefined mixin.
,
3 | @include a;
| ^^^^^^^^^^
'
input.scss 3:1 root stylesheet
<===>
================================================================================
<===> inaccessible/not_shown/as/mixin/input.scss
@use "midstream" as *;
@include b-a;
<===> inaccessible/not_shown/as/mixin/_midstream.scss
@forward "upstream" as b-* show a;
<===> inaccessible/not_shown/as/mixin/_upstream.scss
@mixin a {c {d: e}}
<===> inaccessible/not_shown/as/mixin/error
Error: Undefined mixin.
,
3 | @include b-a;
| ^^^^^^^^^^^^
'
input.scss 3:1 root stylesheet
<===>
================================================================================
<===> import_to_forward/nested/variable/input.scss
a {@import "midstream"}
b {c: $d}
<===> import_to_forward/nested/variable/_midstream.scss
@forward "upstream";
<===> import_to_forward/nested/variable/_upstream.scss
$d: e;
<===> import_to_forward/nested/variable/error
Error: Undefined variable.
,
3 | b {c: $d}
| ^^
'
input.scss 3:7 root stylesheet
<===>
================================================================================
<===> import_to_forward/nested/mixin/input.scss
a {@import "midstream"}
b {@include c}
<===> import_to_forward/nested/mixin/_midstream.scss
@forward "upstream";
<===> import_to_forward/nested/mixin/_upstream.scss
@mixin c {d: e}
<===> import_to_forward/nested/mixin/error
Error: Undefined mixin.
,
3 | b {@include c}
| ^^^^^^^^^^
'
input.scss 3:4 root stylesheet
<===>
================================================================================
<===> import_to_forward/nested/function/input.scss
a {@import "midstream"}
b {c: d()}
<===> import_to_forward/nested/function/_midstream.scss
@forward "upstream";
<===> import_to_forward/nested/function/_upstream.scss
@function d() {@return e}
<===> import_to_forward/nested/function/output.css
b {
c: d();
}