···
554
554
"
555
555
);
556
556
}
557
557
+
558
558
+
#[test]
559
559
+
// https://github.com/gleam-lang/gleam/issues/6020
560
560
+
fn bit_array_segment_inside_block_with_size() {
561
561
+
assert_erl!(
562
562
+
"
563
563
+
pub fn main() {
564
564
+
let a = 1
565
565
+
let b = 2
566
566
+
<<{ a + b }, { a + b }:size(16)>>
567
567
+
}
568
568
+
"
569
569
+
)
570
570
+
}
···
1
1
+
---
2
2
+
source: compiler-core/src/erlang/tests/bit_arrays.rs
3
3
+
expression: "\npub fn main() {\n let a = 1\n let b = 2\n <<{ a + b }, { a + b }:size(16)>>\n}\n"
4
4
+
---
5
5
+
----- SOURCE CODE
6
6
+
7
7
+
pub fn main() {
8
8
+
let a = 1
9
9
+
let b = 2
10
10
+
<<{ a + b }, { a + b }:size(16)>>
11
11
+
}
12
12
+
13
13
+
14
14
+
----- COMPILED ERLANG
15
15
+
-module(my@mod).
16
16
+
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
17
17
+
-export([main/0]).
18
18
+
19
19
+
-file("project/test/my/mod.gleam", 2).
20
20
+
-spec main() -> bitstring().
21
21
+
main() ->
22
22
+
A = 1,
23
23
+
B = 2,
24
24
+
<<(A + B), (A + B):16>>.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/case.rs
3
3
-
assertion_line: 197
4
4
-
expression: "\npub fn main(x) {\n case x {\n \"a\" as letter <> _ if letter == x -> letter\n _ -> \"wibble\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn main(x) {
9
9
-
case x {
10
10
-
"a" as letter <> _ if letter == x -> letter
11
11
-
_ -> "wibble"
12
12
-
}
13
13
-
}
14
14
-
15
15
-
16
16
-
----- COMPILED ERLANG
17
17
-
-module(my@mod).
18
18
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
19
19
-
-export([main/1]).
20
20
-
21
21
-
-file("project/test/my/mod.gleam", 2).
22
22
-
-spec main(binary()) -> binary().
23
23
-
main(X) ->
24
24
-
case X of
25
25
-
<<"a":(deafult)/utf8, _/binary>> when ~"a" =:= X ->
26
26
-
Letter = ~"a",
27
27
-
Letter;
28
28
-
29
29
-
_ ->
30
30
-
~"wibble"
31
31
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/case.rs
3
3
-
assertion_line: 182
4
4
-
expression: "\npub fn main(x) {\n case x {\n \"a\" as letter <> _ | \"b\" as letter <> _ -> letter\n _ -> \"wibble\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn main(x) {
9
9
-
case x {
10
10
-
"a" as letter <> _ | "b" as letter <> _ -> letter
11
11
-
_ -> "wibble"
12
12
-
}
13
13
-
}
14
14
-
15
15
-
16
16
-
----- COMPILED ERLANG
17
17
-
-module(my@mod).
18
18
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
19
19
-
-export([main/1]).
20
20
-
21
21
-
-file("project/test/my/mod.gleam", 2).
22
22
-
-spec main(binary()) -> binary().
23
23
-
main(X) ->
24
24
-
case X of
25
25
-
<<"a":(deafult)/utf8, _/binary>> ->
26
26
-
Letter = ~"a",
27
27
-
Letter;
28
28
-
29
29
-
<<"b":(deafult)/utf8, _/binary>> ->
30
30
-
Letter = ~"b",
31
31
-
Letter;
32
32
-
33
33
-
_ ->
34
34
-
~"wibble"
35
35
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/case.rs
3
3
-
assertion_line: 239
4
4
-
expression: "\npub fn go(x) {\n case x {\n [\"a\" as letter <> rest, ..]\n | [\"b\" as letter <> rest, ..] -> letter <> rest\n _ -> \"\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
["a" as letter <> rest, ..]
11
11
-
| ["b" as letter <> rest, ..] -> letter <> rest
12
12
-
_ -> ""
13
13
-
}
14
14
-
}
15
15
-
16
16
-
17
17
-
----- COMPILED ERLANG
18
18
-
-module(my@mod).
19
19
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
20
20
-
-export([go/1]).
21
21
-
22
22
-
-file("project/test/my/mod.gleam", 2).
23
23
-
-spec go(list(binary())) -> binary().
24
24
-
go(X) ->
25
25
-
case X of
26
26
-
[<<"a":(deafult)/utf8, Rest/binary>> | _] ->
27
27
-
Letter = ~"a",
28
28
-
<<Letter/binary, Rest/binary>>;
29
29
-
30
30
-
[<<"b":(deafult)/utf8, Rest/binary>> | _] ->
31
31
-
Letter = ~"b",
32
32
-
<<Letter/binary, Rest/binary>>;
33
33
-
34
34
-
_ ->
35
35
-
~""
36
36
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/case.rs
3
3
-
assertion_line: 224
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"a\" as letter <> rest\n | \"b\" as letter <> rest -> letter <> rest\n _ -> \"\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"a" as letter <> rest
11
11
-
| "b" as letter <> rest -> letter <> rest
12
12
-
_ -> ""
13
13
-
}
14
14
-
}
15
15
-
16
16
-
17
17
-
----- COMPILED ERLANG
18
18
-
-module(my@mod).
19
19
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
20
20
-
-export([go/1]).
21
21
-
22
22
-
-file("project/test/my/mod.gleam", 2).
23
23
-
-spec go(binary()) -> binary().
24
24
-
go(X) ->
25
25
-
case X of
26
26
-
<<"a":(deafult)/utf8, Rest/binary>> ->
27
27
-
Letter = ~"a",
28
28
-
<<Letter/binary, Rest/binary>>;
29
29
-
30
30
-
<<"b":(deafult)/utf8, Rest/binary>> ->
31
31
-
Letter = ~"b",
32
32
-
<<Letter/binary, Rest/binary>>;
33
33
-
34
34
-
_ ->
35
35
-
~""
36
36
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/case.rs
3
3
-
assertion_line: 254
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"a\" as letter <> rest\n | \"b\" as letter <> rest if letter == \"c\" -> letter <> rest\n _ -> \"\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"a" as letter <> rest
11
11
-
| "b" as letter <> rest if letter == "c" -> letter <> rest
12
12
-
_ -> ""
13
13
-
}
14
14
-
}
15
15
-
16
16
-
17
17
-
----- COMPILED ERLANG
18
18
-
-module(my@mod).
19
19
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
20
20
-
-export([go/1]).
21
21
-
22
22
-
-file("project/test/my/mod.gleam", 2).
23
23
-
-spec go(binary()) -> binary().
24
24
-
go(X) ->
25
25
-
case X of
26
26
-
<<"a":(deafult)/utf8, Rest/binary>> when ~"a" =:= ~"c" ->
27
27
-
Letter = ~"a",
28
28
-
<<Letter/binary, Rest/binary>>;
29
29
-
30
30
-
<<"b":(deafult)/utf8, Rest/binary>> when ~"b" =:= ~"c" ->
31
31
-
Letter = ~"b",
32
32
-
<<Letter/binary, Rest/binary>>;
33
33
-
34
34
-
_ ->
35
35
-
~""
36
36
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/case.rs
3
3
-
assertion_line: 269
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"a\" as letter <> rest\n | \"b\" as rest <> letter if letter == \"c\" && rest == \"b\" -> letter <> rest\n _ -> \"\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"a" as letter <> rest
11
11
-
| "b" as rest <> letter if letter == "c" && rest == "b" -> letter <> rest
12
12
-
_ -> ""
13
13
-
}
14
14
-
}
15
15
-
16
16
-
17
17
-
----- COMPILED ERLANG
18
18
-
-module(my@mod).
19
19
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
20
20
-
-export([go/1]).
21
21
-
22
22
-
-file("project/test/my/mod.gleam", 2).
23
23
-
-spec go(binary()) -> binary().
24
24
-
go(X) ->
25
25
-
case X of
26
26
-
<<"a":(deafult)/utf8, Rest/binary>> when (~"a" =:= ~"c") andalso (Rest =:= ~"b") ->
27
27
-
Letter = ~"a",
28
28
-
<<Letter/binary, Rest/binary>>;
29
29
-
30
30
-
<<"b":(deafult)/utf8, Letter/binary>> when (Letter =:= ~"c") andalso (~"b" =:= ~"b") ->
31
31
-
Rest = ~"b",
32
32
-
<<Letter/binary, Rest/binary>>;
33
33
-
34
34
-
_ ->
35
35
-
~""
36
36
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/case.rs
3
3
-
assertion_line: 284
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"a\" as rest <> _\n | \"b\" <> rest if rest == \"c\" -> Nil\n _ -> Nil\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"a" as rest <> _
11
11
-
| "b" <> rest if rest == "c" -> Nil
12
12
-
_ -> Nil
13
13
-
}
14
14
-
}
15
15
-
16
16
-
17
17
-
----- COMPILED ERLANG
18
18
-
-module(my@mod).
19
19
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
20
20
-
-export([go/1]).
21
21
-
22
22
-
-file("project/test/my/mod.gleam", 2).
23
23
-
-spec go(binary()) -> nil.
24
24
-
go(X) ->
25
25
-
case X of
26
26
-
<<"a":(deafult)/utf8, _/binary>> when ~"a" =:= ~"c" ->
27
27
-
Rest = ~"a",
28
28
-
nil;
29
29
-
30
30
-
<<"b":(deafult)/utf8, Rest/binary>> when Rest =:= ~"c" ->
31
31
-
nil;
32
32
-
33
33
-
_ ->
34
34
-
nil
35
35
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/let_assert.rs
3
3
-
assertion_line: 198
4
4
-
expression: "pub fn go() {\n let assert \"Hello \" <> name = \"Hello John\"\n name\n}"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
pub fn go() {
8
8
-
let assert "Hello " <> name = "Hello John"
9
9
-
name
10
10
-
}
11
11
-
12
12
-
----- COMPILED ERLANG
13
13
-
-module(my@mod).
14
14
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
15
15
-
-export([go/0]).
16
16
-
17
17
-
-file("project/test/my/mod.gleam", 1).
18
18
-
-spec go() -> binary().
19
19
-
go() ->
20
20
-
case ~"Hello John" of
21
21
-
<<"Hello ":(deafult)/utf8, Name/binary>> ->
22
22
-
Name;
23
23
-
24
24
-
_value ->
25
25
-
erlang:error(#{
26
26
-
gleam_error => let_assert,
27
27
-
message => ~"Pattern match failed, no pattern matched the value.",
28
28
-
file => ~"project/test/my/mod.gleam",
29
29
-
module => ~"my/mod",
30
30
-
function => ~"go",
31
31
-
line => 2,
32
32
-
value => _value,
33
33
-
start => 16,
34
34
-
'end' => 58,
35
35
-
pattern_start => 27,
36
36
-
pattern_end => 43
37
37
-
})
38
38
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/let_assert.rs
3
3
-
assertion_line: 208
4
4
-
expression: "pub fn go() {\n let assert \"Hello \" as greeting <> name = \"Hello John\"\n #(greeting, name)\n}"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
pub fn go() {
8
8
-
let assert "Hello " as greeting <> name = "Hello John"
9
9
-
#(greeting, name)
10
10
-
}
11
11
-
12
12
-
----- COMPILED ERLANG
13
13
-
-module(my@mod).
14
14
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
15
15
-
-export([go/0]).
16
16
-
17
17
-
-file("project/test/my/mod.gleam", 1).
18
18
-
-spec go() -> {binary(), binary()}.
19
19
-
go() ->
20
20
-
case ~"Hello John" of
21
21
-
<<"Hello ":(deafult)/utf8, Name/binary>> ->
22
22
-
Greeting = ~"Hello ",
23
23
-
{Greeting, Name};
24
24
-
25
25
-
_value ->
26
26
-
erlang:error(#{
27
27
-
gleam_error => let_assert,
28
28
-
message => ~"Pattern match failed, no pattern matched the value.",
29
29
-
file => ~"project/test/my/mod.gleam",
30
30
-
module => ~"my/mod",
31
31
-
function => ~"go",
32
32
-
line => 2,
33
33
-
value => _value,
34
34
-
start => 16,
35
35
-
'end' => 70,
36
36
-
pattern_start => 27,
37
37
-
pattern_end => 55
38
38
-
})
39
39
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/patterns.rs
3
3
-
assertion_line: 121
4
4
-
expression: "pub fn a(x) {\n let assert \"a\" as a <> rest = \"wibble\"\n a\n}"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
pub fn a(x) {
8
8
-
let assert "a" as a <> rest = "wibble"
9
9
-
a
10
10
-
}
11
11
-
12
12
-
----- COMPILED ERLANG
13
13
-
-module(my@mod).
14
14
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
15
15
-
-export([a/1]).
16
16
-
17
17
-
-file("project/test/my/mod.gleam", 1).
18
18
-
-spec a(any()) -> binary().
19
19
-
a(X) ->
20
20
-
case ~"wibble" of
21
21
-
<<"a":(deafult)/utf8, Rest/binary>> ->
22
22
-
A = ~"a",
23
23
-
A;
24
24
-
25
25
-
_value ->
26
26
-
erlang:error(#{
27
27
-
gleam_error => let_assert,
28
28
-
message => ~"Pattern match failed, no pattern matched the value.",
29
29
-
file => ~"project/test/my/mod.gleam",
30
30
-
module => ~"my/mod",
31
31
-
function => ~"a",
32
32
-
line => 2,
33
33
-
value => _value,
34
34
-
start => 16,
35
35
-
'end' => 54,
36
36
-
pattern_start => 27,
37
37
-
pattern_end => 43
38
38
-
})
39
39
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/patterns.rs
3
3
-
assertion_line: 109
4
4
-
expression: "pub fn a(x) {\n case x {\n [\"a\" as a <> _, \"b\" as b <> _] -> a <> b\n _ -> \"\"\n }\n}"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
pub fn a(x) {
8
8
-
case x {
9
9
-
["a" as a <> _, "b" as b <> _] -> a <> b
10
10
-
_ -> ""
11
11
-
}
12
12
-
}
13
13
-
14
14
-
----- COMPILED ERLANG
15
15
-
-module(my@mod).
16
16
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
17
17
-
-export([a/1]).
18
18
-
19
19
-
-file("project/test/my/mod.gleam", 1).
20
20
-
-spec a(list(binary())) -> binary().
21
21
-
a(X) ->
22
22
-
case X of
23
23
-
[<<"a":(deafult)/utf8, _/binary>>, <<"b":(deafult)/utf8, _/binary>>] ->
24
24
-
A = ~"a",
25
25
-
B = ~"b",
26
26
-
<<A/binary, B/binary>>;
27
27
-
28
28
-
_ ->
29
29
-
~""
30
30
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/patterns.rs
3
3
-
assertion_line: 85
4
4
-
expression: "pub fn a(x) {\n case x, x {\n _, \"a\" as a <> _ -> a\n _, _ -> \"a\"\n }\n}"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
pub fn a(x) {
8
8
-
case x, x {
9
9
-
_, "a" as a <> _ -> a
10
10
-
_, _ -> "a"
11
11
-
}
12
12
-
}
13
13
-
14
14
-
----- COMPILED ERLANG
15
15
-
-module(my@mod).
16
16
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
17
17
-
-export([a/1]).
18
18
-
19
19
-
-file("project/test/my/mod.gleam", 1).
20
20
-
-spec a(binary()) -> binary().
21
21
-
a(X) ->
22
22
-
case {X, X} of
23
23
-
{_, <<"a":(deafult)/utf8, _/binary>>} ->
24
24
-
A = ~"a",
25
25
-
A;
26
26
-
27
27
-
{_, _} ->
28
28
-
~"a"
29
29
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/patterns.rs
3
3
-
assertion_line: 97
4
4
-
expression: "pub fn a(x) {\n case x, x {\n _, \"a\" as a <> rest if rest == \"a\" -> a\n _, _ -> \"a\"\n }\n}"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
pub fn a(x) {
8
8
-
case x, x {
9
9
-
_, "a" as a <> rest if rest == "a" -> a
10
10
-
_, _ -> "a"
11
11
-
}
12
12
-
}
13
13
-
14
14
-
----- COMPILED ERLANG
15
15
-
-module(my@mod).
16
16
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
17
17
-
-export([a/1]).
18
18
-
19
19
-
-file("project/test/my/mod.gleam", 1).
20
20
-
-spec a(binary()) -> binary().
21
21
-
a(X) ->
22
22
-
case {X, X} of
23
23
-
{_, <<"a":(deafult)/utf8, Rest/binary>>} when Rest =:= ~"a" ->
24
24
-
A = ~"a",
25
25
-
A;
26
26
-
27
27
-
{_, _} ->
28
28
-
~"a"
29
29
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 424
4
4
-
expression: "\npub fn main(x) {\n let assert \"m-\" <> rest = x\n rest\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn main(x) {
9
9
-
let assert "m-" <> rest = x
10
10
-
rest
11
11
-
}
12
12
-
13
13
-
14
14
-
----- COMPILED ERLANG
15
15
-
-module(my@mod).
16
16
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
17
17
-
-export([main/1]).
18
18
-
19
19
-
-file("project/test/my/mod.gleam", 2).
20
20
-
-spec main(binary()) -> binary().
21
21
-
main(X) ->
22
22
-
case X of
23
23
-
<<"m-":(deafult)/utf8, Rest/binary>> ->
24
24
-
Rest;
25
25
-
26
26
-
_value ->
27
27
-
erlang:error(#{
28
28
-
gleam_error => let_assert,
29
29
-
message => ~"Pattern match failed, no pattern matched the value.",
30
30
-
file => ~"project/test/my/mod.gleam",
31
31
-
module => ~"my/mod",
32
32
-
function => ~"main",
33
33
-
line => 3,
34
34
-
value => _value,
35
35
-
start => 20,
36
36
-
'end' => 47,
37
37
-
pattern_start => 31,
38
38
-
pattern_end => 43
39
39
-
})
40
40
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 436
4
4
-
expression: "\npub fn main(x) {\n let assert \"m-\" <> _ = x\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn main(x) {
9
9
-
let assert "m-" <> _ = x
10
10
-
}
11
11
-
12
12
-
13
13
-
----- COMPILED ERLANG
14
14
-
-module(my@mod).
15
15
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
16
16
-
-export([main/1]).
17
17
-
18
18
-
-file("project/test/my/mod.gleam", 2).
19
19
-
-spec main(binary()) -> binary().
20
20
-
main(X) ->
21
21
-
case X of
22
22
-
<<"m-":(deafult)/utf8, _/binary>> = _value ->
23
23
-
_value;
24
24
-
25
25
-
_value@1 ->
26
26
-
erlang:error(#{
27
27
-
gleam_error => let_assert,
28
28
-
message => ~"Pattern match failed, no pattern matched the value.",
29
29
-
file => ~"project/test/my/mod.gleam",
30
30
-
module => ~"my/mod",
31
31
-
function => ~"main",
32
32
-
line => 3,
33
33
-
value => _value@1,
34
34
-
start => 20,
35
35
-
'end' => 44,
36
36
-
pattern_start => 31,
37
37
-
pattern_end => 40
38
38
-
})
39
39
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 338
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"Hello, \" <> _ -> Nil\n _ -> Nil\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"Hello, " <> _ -> Nil
11
11
-
_ -> Nil
12
12
-
}
13
13
-
}
14
14
-
15
15
-
16
16
-
----- COMPILED ERLANG
17
17
-
-module(my@mod).
18
18
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
19
19
-
-export([go/1]).
20
20
-
21
21
-
-file("project/test/my/mod.gleam", 2).
22
22
-
-spec go(binary()) -> nil.
23
23
-
go(X) ->
24
24
-
case X of
25
25
-
<<"Hello, ":(deafult)/utf8, _/binary>> ->
26
26
-
nil;
27
27
-
28
28
-
_ ->
29
29
-
nil
30
30
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 323
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"Hello, \" <> x -> x\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"Hello, " <> x -> x
11
11
-
_ -> "Unknown"
12
12
-
}
13
13
-
}
14
14
-
15
15
-
16
16
-
----- COMPILED ERLANG
17
17
-
-module(my@mod).
18
18
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
19
19
-
-export([go/1]).
20
20
-
21
21
-
-file("project/test/my/mod.gleam", 2).
22
22
-
-spec go(binary()) -> binary().
23
23
-
go(X) ->
24
24
-
case X of
25
25
-
<<"Hello, ":(deafult)/utf8, X@1/binary>> ->
26
26
-
X@1;
27
27
-
28
28
-
_ ->
29
29
-
~"Unknown"
30
30
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 142
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"Hello, \" <> name -> name\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"Hello, " <> name -> name
11
11
-
_ -> "Unknown"
12
12
-
}
13
13
-
}
14
14
-
15
15
-
16
16
-
----- COMPILED ERLANG
17
17
-
-module(my@mod).
18
18
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
19
19
-
-export([go/1]).
20
20
-
21
21
-
-file("project/test/my/mod.gleam", 2).
22
22
-
-spec go(binary()) -> binary().
23
23
-
go(X) ->
24
24
-
case X of
25
25
-
<<"Hello, ":(deafult)/utf8, Name/binary>> ->
26
26
-
Name;
27
27
-
28
28
-
_ ->
29
29
-
~"Unknown"
30
30
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 156
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"Hello, \" as greeting <> name -> greeting\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"Hello, " as greeting <> name -> greeting
11
11
-
_ -> "Unknown"
12
12
-
}
13
13
-
}
14
14
-
15
15
-
16
16
-
----- COMPILED ERLANG
17
17
-
-module(my@mod).
18
18
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
19
19
-
-export([go/1]).
20
20
-
21
21
-
-file("project/test/my/mod.gleam", 2).
22
22
-
-spec go(binary()) -> binary().
23
23
-
go(X) ->
24
24
-
case X of
25
25
-
<<"Hello, ":(deafult)/utf8, Name/binary>> ->
26
26
-
Greeting = ~"Hello, ",
27
27
-
Greeting;
28
28
-
29
29
-
_ ->
30
30
-
~"Unknown"
31
31
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 246
4
4
-
expression: "\npub fn go(x) {\n let _ = case x {\n \"\\\\u{9}\" as start <> rest -> \"test\"\n \"\\\\u{000009}\" as start <> rest -> \"test\"\n \"\\\\u{21}\" as start <> rest -> \"test\"\n \"\\\\u{100}\" as start <> rest -> \"test\"\n \"\\\\u{1000}\" as start <> rest -> \"test\"\n \"\\\\u{1F600}\" as start <> rest -> \"test\"\n \"\\\\u{1f600}\" as start <> rest -> \"test\"\n \"\\\\u{01F600}\" as start <> rest -> \"test\"\n \"\\\\u{01f600}\" as start <> rest -> \"test\"\n \"\\\\u{9} \\\\u{000009} \\\\u{21} \\\\u{100} \\\\u{1000} \\\\u{1F600} \\\\u{01F600}\" as start <> rest -> \"test\"\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
let _ = case x {
10
10
-
"\\u{9}" as start <> rest -> "test"
11
11
-
"\\u{000009}" as start <> rest -> "test"
12
12
-
"\\u{21}" as start <> rest -> "test"
13
13
-
"\\u{100}" as start <> rest -> "test"
14
14
-
"\\u{1000}" as start <> rest -> "test"
15
15
-
"\\u{1F600}" as start <> rest -> "test"
16
16
-
"\\u{1f600}" as start <> rest -> "test"
17
17
-
"\\u{01F600}" as start <> rest -> "test"
18
18
-
"\\u{01f600}" as start <> rest -> "test"
19
19
-
"\\u{9} \\u{000009} \\u{21} \\u{100} \\u{1000} \\u{1F600} \\u{01F600}" as start <> rest -> "test"
20
20
-
_ -> "Unknown"
21
21
-
}
22
22
-
}
23
23
-
24
24
-
25
25
-
----- COMPILED ERLANG
26
26
-
-module(my@mod).
27
27
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
28
28
-
-export([go/1]).
29
29
-
30
30
-
-file("project/test/my/mod.gleam", 2).
31
31
-
-spec go(binary()) -> binary().
32
32
-
go(X) ->
33
33
-
_ = case X of
34
34
-
<<"\\u{9}":(deafult)/utf8, Rest/binary>> ->
35
35
-
Start = ~"\\u{9}",
36
36
-
~"test";
37
37
-
38
38
-
<<"\\u{000009}":(deafult)/utf8, Rest@1/binary>> ->
39
39
-
Start@1 = ~"\\u{000009}",
40
40
-
~"test";
41
41
-
42
42
-
<<"\\u{21}":(deafult)/utf8, Rest@2/binary>> ->
43
43
-
Start@2 = ~"\\u{21}",
44
44
-
~"test";
45
45
-
46
46
-
<<"\\u{100}":(deafult)/utf8, Rest@3/binary>> ->
47
47
-
Start@3 = ~"\\u{100}",
48
48
-
~"test";
49
49
-
50
50
-
<<"\\u{1000}":(deafult)/utf8, Rest@4/binary>> ->
51
51
-
Start@4 = ~"\\u{1000}",
52
52
-
~"test";
53
53
-
54
54
-
<<"\\u{1F600}":(deafult)/utf8, Rest@5/binary>> ->
55
55
-
Start@5 = ~"\\u{1F600}",
56
56
-
~"test";
57
57
-
58
58
-
<<"\\u{1f600}":(deafult)/utf8, Rest@6/binary>> ->
59
59
-
Start@6 = ~"\\u{1f600}",
60
60
-
~"test";
61
61
-
62
62
-
<<"\\u{01F600}":(deafult)/utf8, Rest@7/binary>> ->
63
63
-
Start@7 = ~"\\u{01F600}",
64
64
-
~"test";
65
65
-
66
66
-
<<"\\u{01f600}":(deafult)/utf8, Rest@8/binary>> ->
67
67
-
Start@8 = ~"\\u{01f600}",
68
68
-
~"test";
69
69
-
70
70
-
<<"\\u{9} \\u{000009} \\u{21} \\u{100} \\u{1000} \\u{1F600} \\u{01F600}":(deafult)/utf8, Rest@9/binary>> ->
71
71
-
Start@9 = ~"\\u{9} \\u{000009} \\u{21} \\u{100} \\u{1000} \\u{1F600} \\u{01F600}",
72
72
-
~"test";
73
73
-
74
74
-
_ ->
75
75
-
~"Unknown"
76
76
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 186
4
4
-
expression: "\npub fn go(x) {\n let _ = case x {\n \"\\f\" as start <> rest -> \"test\"\n \"\\n\" as start <> rest -> \"test\"\n \"\\r\" as start <> rest -> \"test\"\n \"\\t\" as start <> rest -> \"test\"\n \"\\\"\" as start <> rest -> \"test\"\n \"\\\\\" as start <> rest -> \"test\"\n \"\\f \\n \\r \\t \\\" \\\\\" as start <> rest -> \"control chars with prefix assignment\"\n \"\\u{9}\" as start <> rest -> \"test\"\n \"\\u{000009}\" as start <> rest -> \"test\"\n \"\\u{21}\" as start <> rest -> \"test\"\n \"\\u{100}\" as start <> rest -> \"test\"\n \"\\u{1000}\" as start <> rest -> \"test\"\n \"\\u{1F600}\" as start <> rest -> \"test\"\n \"\\u{1f600}\" as start <> rest -> \"test\"\n \"\\u{01F600}\" as start <> rest -> \"test\"\n \"\\u{01f600}\" as start <> rest -> \"test\"\n \"\\u{9} \\u{000009} \\u{21} \\u{100} \\u{1000} \\u{1F600} \\u{01F600}\" as start <> rest -> \"test\"\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
let _ = case x {
10
10
-
"\f" as start <> rest -> "test"
11
11
-
"\n" as start <> rest -> "test"
12
12
-
"\r" as start <> rest -> "test"
13
13
-
"\t" as start <> rest -> "test"
14
14
-
"\"" as start <> rest -> "test"
15
15
-
"\\" as start <> rest -> "test"
16
16
-
"\f \n \r \t \" \\" as start <> rest -> "control chars with prefix assignment"
17
17
-
"\u{9}" as start <> rest -> "test"
18
18
-
"\u{000009}" as start <> rest -> "test"
19
19
-
"\u{21}" as start <> rest -> "test"
20
20
-
"\u{100}" as start <> rest -> "test"
21
21
-
"\u{1000}" as start <> rest -> "test"
22
22
-
"\u{1F600}" as start <> rest -> "test"
23
23
-
"\u{1f600}" as start <> rest -> "test"
24
24
-
"\u{01F600}" as start <> rest -> "test"
25
25
-
"\u{01f600}" as start <> rest -> "test"
26
26
-
"\u{9} \u{000009} \u{21} \u{100} \u{1000} \u{1F600} \u{01F600}" as start <> rest -> "test"
27
27
-
_ -> "Unknown"
28
28
-
}
29
29
-
}
30
30
-
31
31
-
32
32
-
----- COMPILED ERLANG
33
33
-
-module(my@mod).
34
34
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
35
35
-
-export([go/1]).
36
36
-
37
37
-
-file("project/test/my/mod.gleam", 2).
38
38
-
-spec go(binary()) -> binary().
39
39
-
go(X) ->
40
40
-
_ = case X of
41
41
-
<<"\f":(deafult)/utf8, Rest/binary>> ->
42
42
-
Start = ~"\f",
43
43
-
~"test";
44
44
-
45
45
-
<<"\n":(deafult)/utf8, Rest@1/binary>> ->
46
46
-
Start@1 = ~"\n",
47
47
-
~"test";
48
48
-
49
49
-
<<"\r":(deafult)/utf8, Rest@2/binary>> ->
50
50
-
Start@2 = ~"\r",
51
51
-
~"test";
52
52
-
53
53
-
<<"\t":(deafult)/utf8, Rest@3/binary>> ->
54
54
-
Start@3 = ~"\t",
55
55
-
~"test";
56
56
-
57
57
-
<<"\"":(deafult)/utf8, Rest@4/binary>> ->
58
58
-
Start@4 = ~"\"",
59
59
-
~"test";
60
60
-
61
61
-
<<"\\":(deafult)/utf8, Rest@5/binary>> ->
62
62
-
Start@5 = ~"\\",
63
63
-
~"test";
64
64
-
65
65
-
<<"\f \n \r \t \" \\":(deafult)/utf8, Rest@6/binary>> ->
66
66
-
Start@6 = ~"\f \n \r \t \" \\",
67
67
-
~"control chars with prefix assignment";
68
68
-
69
69
-
<<"\x{9}":(deafult)/utf8, Rest@7/binary>> ->
70
70
-
Start@7 = ~"\x{9}",
71
71
-
~"test";
72
72
-
73
73
-
<<"\x{000009}":(deafult)/utf8, Rest@8/binary>> ->
74
74
-
Start@8 = ~"\x{000009}",
75
75
-
~"test";
76
76
-
77
77
-
<<"\x{21}":(deafult)/utf8, Rest@9/binary>> ->
78
78
-
Start@9 = ~"\x{21}",
79
79
-
~"test";
80
80
-
81
81
-
<<"\x{100}":(deafult)/utf8, Rest@10/binary>> ->
82
82
-
Start@10 = ~"\x{100}",
83
83
-
~"test";
84
84
-
85
85
-
<<"\x{1000}":(deafult)/utf8, Rest@11/binary>> ->
86
86
-
Start@11 = ~"\x{1000}",
87
87
-
~"test";
88
88
-
89
89
-
<<"\x{1F600}":(deafult)/utf8, Rest@12/binary>> ->
90
90
-
Start@12 = ~"\x{1F600}",
91
91
-
~"test";
92
92
-
93
93
-
<<"\x{1f600}":(deafult)/utf8, Rest@13/binary>> ->
94
94
-
Start@13 = ~"\x{1f600}",
95
95
-
~"test";
96
96
-
97
97
-
<<"\x{01F600}":(deafult)/utf8, Rest@14/binary>> ->
98
98
-
Start@14 = ~"\x{01F600}",
99
99
-
~"test";
100
100
-
101
101
-
<<"\x{01f600}":(deafult)/utf8, Rest@15/binary>> ->
102
102
-
Start@15 = ~"\x{01f600}",
103
103
-
~"test";
104
104
-
105
105
-
<<"\x{9} \x{000009} \x{21} \x{100} \x{1000} \x{1F600} \x{01F600}":(deafult)/utf8, Rest@16/binary>> ->
106
106
-
Start@16 = ~"\x{9} \x{000009} \x{21} \x{100} \x{1000} \x{1F600} \x{01F600}",
107
107
-
~"test";
108
108
-
109
109
-
_ ->
110
110
-
~"Unknown"
111
111
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 170
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"Hello, \" as greeting <> name if name == \"Dude\" -> greeting <> \"Mate\"\n \"Hello, \" as greeting <> name -> greeting\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"Hello, " as greeting <> name if name == "Dude" -> greeting <> "Mate"
11
11
-
"Hello, " as greeting <> name -> greeting
12
12
-
_ -> "Unknown"
13
13
-
}
14
14
-
}
15
15
-
16
16
-
17
17
-
----- COMPILED ERLANG
18
18
-
-module(my@mod).
19
19
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
20
20
-
-export([go/1]).
21
21
-
22
22
-
-file("project/test/my/mod.gleam", 2).
23
23
-
-spec go(binary()) -> binary().
24
24
-
go(X) ->
25
25
-
case X of
26
26
-
<<"Hello, ":(deafult)/utf8, Name/binary>> when Name =:= ~"Dude" ->
27
27
-
Greeting = ~"Hello, ",
28
28
-
<<Greeting/binary, "Mate"/utf8>>;
29
29
-
30
30
-
<<"Hello, ":(deafult)/utf8, Name@1/binary>> ->
31
31
-
Greeting@1 = ~"Hello, ",
32
32
-
Greeting@1;
33
33
-
34
34
-
_ ->
35
35
-
~"Unknown"
36
36
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 293
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"1\" as digit <> _ | \"2\" as digit <> _ -> digit\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"1" as digit <> _ | "2" as digit <> _ -> digit
11
11
-
_ -> "Unknown"
12
12
-
}
13
13
-
}
14
14
-
15
15
-
16
16
-
----- COMPILED ERLANG
17
17
-
-module(my@mod).
18
18
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
19
19
-
-export([go/1]).
20
20
-
21
21
-
-file("project/test/my/mod.gleam", 2).
22
22
-
-spec go(binary()) -> binary().
23
23
-
go(X) ->
24
24
-
case X of
25
25
-
<<"1":(deafult)/utf8, _/binary>> ->
26
26
-
Digit = ~"1",
27
27
-
Digit;
28
28
-
29
29
-
<<"2":(deafult)/utf8, _/binary>> ->
30
30
-
Digit = ~"2",
31
31
-
Digit;
32
32
-
33
33
-
_ ->
34
34
-
~"Unknown"
35
35
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 269
4
4
-
expression: "\npub fn go(x) {\n let _ = case x {\n \"\\\\u{9}\" <> rest -> \"test\"\n \"\\\\u{000009}\" <> rest -> \"test\"\n \"\\\\u{21}\" <> rest -> \"test\"\n \"\\\\u{100}\" <> rest -> \"test\"\n \"\\\\u{1000}\" <> rest -> \"test\"\n \"\\\\u{1F600}\" <> rest -> \"test\"\n \"\\\\u{1f600}\" <> rest -> \"test\"\n \"\\\\u{01F600}\" <> rest -> \"test\"\n \"\\\\u{01f600}\" <> rest -> \"test\"\n \"\\\\u{9} \\\\u{000009} \\\\u{21} \\\\u{100} \\\\u{1000} \\\\u{1F600} \\\\u{01F600}\" <> rest -> \"test\"\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
let _ = case x {
10
10
-
"\\u{9}" <> rest -> "test"
11
11
-
"\\u{000009}" <> rest -> "test"
12
12
-
"\\u{21}" <> rest -> "test"
13
13
-
"\\u{100}" <> rest -> "test"
14
14
-
"\\u{1000}" <> rest -> "test"
15
15
-
"\\u{1F600}" <> rest -> "test"
16
16
-
"\\u{1f600}" <> rest -> "test"
17
17
-
"\\u{01F600}" <> rest -> "test"
18
18
-
"\\u{01f600}" <> rest -> "test"
19
19
-
"\\u{9} \\u{000009} \\u{21} \\u{100} \\u{1000} \\u{1F600} \\u{01F600}" <> rest -> "test"
20
20
-
_ -> "Unknown"
21
21
-
}
22
22
-
}
23
23
-
24
24
-
25
25
-
----- COMPILED ERLANG
26
26
-
-module(my@mod).
27
27
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
28
28
-
-export([go/1]).
29
29
-
30
30
-
-file("project/test/my/mod.gleam", 2).
31
31
-
-spec go(binary()) -> binary().
32
32
-
go(X) ->
33
33
-
_ = case X of
34
34
-
<<"\\u{9}":(deafult)/utf8, Rest/binary>> ->
35
35
-
~"test";
36
36
-
37
37
-
<<"\\u{000009}":(deafult)/utf8, Rest@1/binary>> ->
38
38
-
~"test";
39
39
-
40
40
-
<<"\\u{21}":(deafult)/utf8, Rest@2/binary>> ->
41
41
-
~"test";
42
42
-
43
43
-
<<"\\u{100}":(deafult)/utf8, Rest@3/binary>> ->
44
44
-
~"test";
45
45
-
46
46
-
<<"\\u{1000}":(deafult)/utf8, Rest@4/binary>> ->
47
47
-
~"test";
48
48
-
49
49
-
<<"\\u{1F600}":(deafult)/utf8, Rest@5/binary>> ->
50
50
-
~"test";
51
51
-
52
52
-
<<"\\u{1f600}":(deafult)/utf8, Rest@6/binary>> ->
53
53
-
~"test";
54
54
-
55
55
-
<<"\\u{01F600}":(deafult)/utf8, Rest@7/binary>> ->
56
56
-
~"test";
57
57
-
58
58
-
<<"\\u{01f600}":(deafult)/utf8, Rest@8/binary>> ->
59
59
-
~"test";
60
60
-
61
61
-
<<"\\u{9} \\u{000009} \\u{21} \\u{100} \\u{1000} \\u{1F600} \\u{01F600}":(deafult)/utf8, Rest@9/binary>> ->
62
62
-
~"test";
63
63
-
64
64
-
_ ->
65
65
-
~"Unknown"
66
66
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 307
4
4
-
expression: "\npub fn go(x) {\n case x {\n \"Hello, \" as x <> name -> x\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
case x {
10
10
-
"Hello, " as x <> name -> x
11
11
-
_ -> "Unknown"
12
12
-
}
13
13
-
}
14
14
-
15
15
-
16
16
-
----- COMPILED ERLANG
17
17
-
-module(my@mod).
18
18
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
19
19
-
-export([go/1]).
20
20
-
21
21
-
-file("project/test/my/mod.gleam", 2).
22
22
-
-spec go(binary()) -> binary().
23
23
-
go(X) ->
24
24
-
case X of
25
25
-
<<"Hello, ":(deafult)/utf8, Name/binary>> ->
26
26
-
X@1 = ~"Hello, ",
27
27
-
X@1;
28
28
-
29
29
-
_ ->
30
30
-
~"Unknown"
31
31
-
end.
···
1
1
-
---
2
2
-
source: compiler-core/src/erlang/tests/strings.rs
3
3
-
assertion_line: 216
4
4
-
expression: "\npub fn go(x) {\n let _ = case x {\n \"\\f\" <> rest -> \"test\"\n \"\\n\" <> rest -> \"test\"\n \"\\r\" <> rest -> \"test\"\n \"\\t\" <> rest -> \"test\"\n \"\\\"\" <> rest -> \"test\"\n \"\\\\\" <> rest -> \"test\"\n \"\\f \\n \\r \\t \\\" \\\\\" <> rest -> \"control chars with prefix assignment\"\n \"\\u{9}\" <> rest -> \"test\"\n \"\\u{000009}\" <> rest -> \"test\"\n \"\\u{21}\" <> rest -> \"test\"\n \"\\u{100}\" <> rest -> \"test\"\n \"\\u{1000}\" <> rest -> \"test\"\n \"\\u{1F600}\" <> rest -> \"test\"\n \"\\u{1f600}\" <> rest -> \"test\"\n \"\\u{01F600}\" <> rest -> \"test\"\n \"\\u{01f600}\" <> rest -> \"test\"\n \"\\u{9} \\u{000009} \\u{21} \\u{100} \\u{1000} \\u{1F600} \\u{01F600}\" <> rest -> \"test\"\n _ -> \"Unknown\"\n }\n}\n"
5
5
-
---
6
6
-
----- SOURCE CODE
7
7
-
8
8
-
pub fn go(x) {
9
9
-
let _ = case x {
10
10
-
"\f" <> rest -> "test"
11
11
-
"\n" <> rest -> "test"
12
12
-
"\r" <> rest -> "test"
13
13
-
"\t" <> rest -> "test"
14
14
-
"\"" <> rest -> "test"
15
15
-
"\\" <> rest -> "test"
16
16
-
"\f \n \r \t \" \\" <> rest -> "control chars with prefix assignment"
17
17
-
"\u{9}" <> rest -> "test"
18
18
-
"\u{000009}" <> rest -> "test"
19
19
-
"\u{21}" <> rest -> "test"
20
20
-
"\u{100}" <> rest -> "test"
21
21
-
"\u{1000}" <> rest -> "test"
22
22
-
"\u{1F600}" <> rest -> "test"
23
23
-
"\u{1f600}" <> rest -> "test"
24
24
-
"\u{01F600}" <> rest -> "test"
25
25
-
"\u{01f600}" <> rest -> "test"
26
26
-
"\u{9} \u{000009} \u{21} \u{100} \u{1000} \u{1F600} \u{01F600}" <> rest -> "test"
27
27
-
_ -> "Unknown"
28
28
-
}
29
29
-
}
30
30
-
31
31
-
32
32
-
----- COMPILED ERLANG
33
33
-
-module(my@mod).
34
34
-
-compile([no_auto_import, nowarn_ignored, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
35
35
-
-export([go/1]).
36
36
-
37
37
-
-file("project/test/my/mod.gleam", 2).
38
38
-
-spec go(binary()) -> binary().
39
39
-
go(X) ->
40
40
-
_ = case X of
41
41
-
<<"\f":(deafult)/utf8, Rest/binary>> ->
42
42
-
~"test";
43
43
-
44
44
-
<<"\n":(deafult)/utf8, Rest@1/binary>> ->
45
45
-
~"test";
46
46
-
47
47
-
<<"\r":(deafult)/utf8, Rest@2/binary>> ->
48
48
-
~"test";
49
49
-
50
50
-
<<"\t":(deafult)/utf8, Rest@3/binary>> ->
51
51
-
~"test";
52
52
-
53
53
-
<<"\"":(deafult)/utf8, Rest@4/binary>> ->
54
54
-
~"test";
55
55
-
56
56
-
<<"\\":(deafult)/utf8, Rest@5/binary>> ->
57
57
-
~"test";
58
58
-
59
59
-
<<"\f \n \r \t \" \\":(deafult)/utf8, Rest@6/binary>> ->
60
60
-
~"control chars with prefix assignment";
61
61
-
62
62
-
<<"\x{9}":(deafult)/utf8, Rest@7/binary>> ->
63
63
-
~"test";
64
64
-
65
65
-
<<"\x{000009}":(deafult)/utf8, Rest@8/binary>> ->
66
66
-
~"test";
67
67
-
68
68
-
<<"\x{21}":(deafult)/utf8, Rest@9/binary>> ->
69
69
-
~"test";
70
70
-
71
71
-
<<"\x{100}":(deafult)/utf8, Rest@10/binary>> ->
72
72
-
~"test";
73
73
-
74
74
-
<<"\x{1000}":(deafult)/utf8, Rest@11/binary>> ->
75
75
-
~"test";
76
76
-
77
77
-
<<"\x{1F600}":(deafult)/utf8, Rest@12/binary>> ->
78
78
-
~"test";
79
79
-
80
80
-
<<"\x{1f600}":(deafult)/utf8, Rest@13/binary>> ->
81
81
-
~"test";
82
82
-
83
83
-
<<"\x{01F600}":(deafult)/utf8, Rest@14/binary>> ->
84
84
-
~"test";
85
85
-
86
86
-
<<"\x{01f600}":(deafult)/utf8, Rest@15/binary>> ->
87
87
-
~"test";
88
88
-
89
89
-
<<"\x{9} \x{000009} \x{21} \x{100} \x{1000} \x{1F600} \x{01F600}":(deafult)/utf8, Rest@16/binary>> ->
90
90
-
~"test";
91
91
-
92
92
-
_ ->
93
93
-
~"Unknown"
94
94
-
end.