4
guard-default-basic-1 {
6
.m(@x) when (default()) {default: @x}
12
guard-default-basic-2 {
16
.m(@x) when (default()) {default: @x}
22
guard-default-basic-3 {
23
.m(@x) when (@x = 1) {case: 1}
25
.m(@x) when (@x = 3) {case: 3}
26
.m(@x) when (default()) {default: @x}
33
guard-default-definition-order {
34
.m(@x) when (default()) {default: @x}
35
.m(@x) when (@x = 1) {case: 1}
37
.m(@x) when (@x = 3) {case: 3}
46
guard-default-out-of-guard {
48
.m(@x: default()) when (default()) {default: @x}
62
guard-default-expr-not {
64
.m(@x) when not(default()) {default: @x}
70
guard-default-expr-eq {
71
.m(@x) when (@x = true) {case: @x}
72
.m(@x) when (@x = false) {case: @x}
73
.m(@x) when (@x = default()) {default: @x}
79
guard-default-expr-or {
82
.m(@x) when (default()), (@x = 2) {default: @x}
89
guard-default-expr-and {
92
.m(@x) when (default()) and (@x = 3) {default: @x}
100
guard-default-expr-always {
102
.m(@x) when (default()), not(default()) {default: @x} // always match
108
guard-default-expr-never {
110
.m(@x) when (default()) and not(default()) {default: @x} // never match
117
// not conflicting multiple default() uses:
119
guard-default-multi-1 {
121
.m(@x) when (default()) {default-1: @x}
122
.m(2) when (default()) {default-2: @x}
128
guard-default-multi-2 {
129
.m(1, @x) when (default()) {default-1: @x}
130
.m(2, @x) when (default()) {default-2: @x}
131
.m(@x, yes) when (default()) {default-3: @x}
138
guard-default-multi-3 {
139
.m(red) {case-1: darkred}
140
.m(blue) {case-2: darkblue}
141
.m(@x) when (iscolor(@x)) and (default()) {default-color: @x}
142
.m('foo') {case-1: I am 'foo'}
143
.m('bar') {case-2: I am 'bar'}
144
.m(@x) when (isstring(@x)) and (default()) {default-string: I am @x}
152
guard-default-multi-4 {
153
.m(@x) when (default()), not(default()) {always: @x}
154
.m(@x) when (default()) and not(default()) {never: @x}
161
guard-default-not-ambiguos-2 {
163
.m(@x) when (default()) {default: @x}
164
.m(@x) when not(default()) {not-default: @x}
169
guard-default-not-ambiguos-3 {
171
.m(@x) when not(default()) {not-default-1: @x}
172
.m(@x) when not(default()) {not-default-2: @x}
179
guard-default-scopes {
180
.s1() {.m(@v) {1: no condition}}
181
.s2() {.m(@v) when (@v) {2: when true}}
182
.s3() {.m(@v) when (default()) {3: when default}}