diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2023-12-30 23:39:37 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2023-12-30 23:39:37 +0100 |
| commit | 263915832993dd12beee10e204f9ebcc6c786ed2 (patch) | |
| tree | 862e51208a99c35746e574a76564a4532b3a4a49 /CompilerDriver/cc2/regression-tests/mixed-string-interpolation.cpp2 | |
Meta: initial commit of WestCo optimized toolchain.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'CompilerDriver/cc2/regression-tests/mixed-string-interpolation.cpp2')
| -rw-r--r-- | CompilerDriver/cc2/regression-tests/mixed-string-interpolation.cpp2 | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/CompilerDriver/cc2/regression-tests/mixed-string-interpolation.cpp2 b/CompilerDriver/cc2/regression-tests/mixed-string-interpolation.cpp2 new file mode 100644 index 0000000..ad7797f --- /dev/null +++ b/CompilerDriver/cc2/regression-tests/mixed-string-interpolation.cpp2 @@ -0,0 +1,53 @@ +#include <iostream> +#include <string_view> +#include <utility> +#include <tuple> + +struct custom_struct_with_no_stringize_customization { } custom; + +main: () -> int = { + a := 2; + b: std::optional<int> = (); + std::cout << "a = (a)$, b = (b)$\n"; + + b = 42; + std::cout << "a^2 + b = (a * a + b.value())$\n"; + + sv: std::string_view = "my string_view"; + std::cout << "sv = (sv)$\n"; + + osv: std::optional<std::string_view> = (); + std::cout << "osv = (osv)$\n"; + osv = "string literal bound to optional string_view"; + std::cout << "osv = (osv)$\n"; + + var: std::variant<std::monostate, std::string, double> = (); + std::cout << "var = (var)$\n"; + var = "abracadabra"; + std::cout << "var = (var)$\n"; + var = 2.71828; + std::cout << "var = (var)$\n"; + + mypair: std::pair<int, double> = (12, 3.4); + std::cout << "mypair = (mypair)$\n"; + + tup1: std::tuple<int> = (12); + tup2: std::tuple<int, double> = (12, 3.4); + tup3: std::tuple<int, double, std::string> = (12, 3.4, "456"); + std::cout << "tup1 = (tup1)$\n"; + std::cout << "tup2 = (tup2)$\n"; + std::cout << "tup3 = (tup3)$\n"; + + p: std::pair<std::string_view, std::optional<std::string>> = ("first", std::nullopt); + std::cout << "p = (p)$\n"; + + t: std::tuple<double, std::optional<std::pair<std::string_view, int>>, std::optional<std::tuple<int, int, int>>> = (3.14, std::nullopt, std::nullopt); + std::cout << "t = (t)$\n"; + + vv: std::variant<int, std::string, std::pair<int, double> > = (); + std::cout << "vv = (vv)$\n"; + vv = std::make_pair(1,2.3); + std::cout << "vv = (vv)$\n"; + + std::cout << "custom = (custom)$\n"; +} |
