Fork of daniellemaywood.uk/gleam — Wasm codegen work
2.0 kB
102 lines
1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: 2022 The Gleam contributors
3
4import one.{
5 escaped_thing, escaped_thing as xescaped_thing, thing, thing as xthing,
6}
7import three as aliased
8
9// Assigning a function to constants
10
11const const_qualified = one.thing
12
13const const_qualified_aliased = aliased.thing
14
15const const_unqualified = thing
16
17const const_unqualified_aliased = xthing
18
19const escaped_const_qualified = one.escaped_thing
20
21const escaped_const_qualified_aliased = aliased.escaped_thing
22
23const escaped_const_unqualified = escaped_thing
24
25const escaped_const_unqualified_aliased = xescaped_thing
26
27pub fn the_consts() {
28 let _ = const_qualified
29 let _ = const_qualified_aliased
30 let _ = const_unqualified
31 let _ = const_unqualified_aliased
32 let _ = escaped_const_qualified
33 let _ = escaped_const_qualified_aliased
34 let _ = escaped_const_unqualified
35 let _ = escaped_const_unqualified_aliased
36 const_qualified()
37 const_qualified_aliased()
38 const_unqualified()
39 const_unqualified_aliased()
40 escaped_const_qualified()
41 escaped_const_qualified_aliased()
42 escaped_const_unqualified()
43 escaped_const_unqualified_aliased()
44}
45
46// Referencing in a function
47
48pub fn fn_reference_qualified() {
49 one.thing
50}
51
52pub fn fn_reference_qualified_aliased() {
53 aliased.thing
54}
55
56pub fn fn_reference_unqualified() {
57 thing
58}
59
60pub fn fn_reference_unqualified_aliased() {
61 xthing
62}
63
64// Calling the function
65
66pub fn fn_call_qualified() {
67 one.thing()
68}
69
70pub fn fn_call_qualified_aliased() {
71 aliased.thing()
72}
73
74pub fn fn_call_unqualified() {
75 thing()
76}
77
78pub fn fn_call_unqualified_aliased() {
79 xthing()
80}
81
82// Referencing a function as an argument
83
84pub fn argument_reference_qualified() {
85 x(one.escaped_thing)
86}
87
88pub fn argument_reference_qualified_aliased() {
89 x(aliased.escaped_thing)
90}
91
92pub fn argument_reference_unqualified() {
93 x(escaped_thing)
94}
95
96pub fn argument_reference_unqualified_aliased() {
97 x(xescaped_thing)
98}
99
100fn x(_) {
101 Nil
102}