diff options
| author | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-31 01:18:45 +0000 |
|---|---|---|
| committer | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-31 01:18:45 +0000 |
| commit | b61350d63260e9b9cf77cf2a2ce7145a9913f3a7 (patch) | |
| tree | 816e6ed8c1b3f49733b90336eebb52a79ef17319 | |
| parent | 856c9fe56b412779e045ef86a767b93d5c7f563b (diff) | |
Fix for concurrency test failure
| -rw-r--r-- | src/codegen/codegen_utils.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/codegen/codegen_utils.c b/src/codegen/codegen_utils.c index 8d9cb28..39d1861 100644 --- a/src/codegen/codegen_utils.c +++ b/src/codegen/codegen_utils.c @@ -64,6 +64,18 @@ void emit_c_decl(FILE *out, const char *type_str, const char *name) } else if (generic && (!bracket || generic < bracket)) { + // Special case: Async<T> should NOT be mangled to Async_T + // because it compiles to the opaque struct 'Async' (defined in codegen_decl) + if (strncmp(type_str, "Async<", 6) == 0) + { + fprintf(out, "Async %s", name); + if (bracket) + { + fprintf(out, "%s", bracket); + } + return; + } + char *gt = strchr(generic, '>'); if (gt) { |
