Skip to content

Commit a1e694c

Browse files
authored
Merge pull request #4792 from kinke/merge_stable
Merge upstream stable
2 parents 6c519ec + fbe4c6f commit a1e694c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+198
-103
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# LDC master
22

33
#### Big news
4-
- Frontend, druntime and Phobos are at version [2.110.0](https://dlang.org/changelog/2.110.0.html). (#4707, #4737, #4749, #4768, #4784)
4+
- Frontend, druntime and Phobos are at version [2.110.0](https://dlang.org/changelog/2.110.0.html). (#4707, #4737, #4749, #4768, #4784, #4792)
55
- Support for [LLVM 19](https://releases.llvm.org/19.1.0/docs/ReleaseNotes.html); LLVM for prebuilt packages bumped to v19.1.3 (incl. macOS arm64). (#4712, #4735, #4763, #4772)
66
- Android: NDK for prebuilt package bumped from r26d to r27c. (#4711, #4772)
77
- ldc2.conf: %%ldcconfigpath%% placeholder added - specifies the directory where current configuration file is located. (#4717)

dmd/expressionsem.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -5554,7 +5554,7 @@ private extern (C++) final class ExpressionSemanticVisitor : Visitor
55545554
{
55555555
if (exp.fd.ident == Id.empty)
55565556
{
5557-
const(char)[] s;
5557+
string s;
55585558
if (exp.fd.fes)
55595559
s = "__foreachbody";
55605560
else if (exp.fd.tok == TOK.reserved)
@@ -5588,7 +5588,7 @@ private extern (C++) final class ExpressionSemanticVisitor : Visitor
55885588
symtab = sds.symtab;
55895589
}
55905590
assert(symtab);
5591-
Identifier id = Identifier.generateId(s, symtab.length() + 1);
5591+
Identifier id = Identifier.generateIdWithLoc(s, exp.loc);
55925592
exp.fd.ident = id;
55935593
if (exp.td)
55945594
exp.td.ident = id;

dmd/frontend.h

+1
Original file line numberDiff line numberDiff line change
@@ -8692,6 +8692,7 @@ struct Id final
86928692
static Identifier* isRef;
86938693
static Identifier* isOut;
86948694
static Identifier* isLazy;
8695+
static Identifier* isCOMClass;
86958696
static Identifier* hasMember;
86968697
static Identifier* identifier;
86978698
static Identifier* fullyQualifiedName;

dmd/id.d

+1
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,7 @@ immutable Msgtable[] msgtable =
482482
{ "isRef" },
483483
{ "isOut" },
484484
{ "isLazy" },
485+
{ "isCOMClass" },
485486
{ "hasMember" },
486487
{ "identifier" },
487488
{ "fullyQualifiedName" },

dmd/traits.d

+20
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,26 @@ Expression semanticTraits(TraitsExp e, Scope* sc)
693693

694694
return isDeclX(d => (d.storage_class & STC.lazy_) != 0);
695695
}
696+
if (e.ident == Id.isCOMClass)
697+
{
698+
if (dim != 1)
699+
return dimError(1);
700+
701+
auto o = (*e.args)[0];
702+
auto s = getDsymbol(o);
703+
AggregateDeclaration agg;
704+
705+
if (!s || ((agg = s.isAggregateDeclaration()) is null))
706+
{
707+
error(e.loc, "argument to `__traits(isCOMClass, %s)` is not a declaration", o.toChars());
708+
return ErrorExp.get();
709+
}
710+
711+
if (ClassDeclaration cd = agg.isClassDeclaration())
712+
return cd.com ? True() : False();
713+
else
714+
return False();
715+
}
696716
if (e.ident == Id.identifier)
697717
{
698718
// Get identifier for symbol as a string literal

runtime/druntime/src/core/internal/array/arrayassign.d

+15-1
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ Tarr _d_arraysetassign(Tarr : T[], T)(return scope Tarr to, scope ref T value) @
347347
static if (__traits(isCopyable, T))
348348
copyEmplace(value, dst);
349349
else
350-
memcpy(cast(void*) &value, cast(void*) &dst, elemSize);
350+
memcpy(cast(void*) &dst, cast(void*) &value, elemSize);
351351
auto elem = cast(Unqual!T*) &tmp;
352352
destroy(*elem);
353353
}
@@ -395,6 +395,20 @@ Tarr _d_arraysetassign(Tarr : T[], T)(return scope Tarr to, scope ref T value) @
395395
assert(arr == [S(1234), S(1234), S(1234), S(1234)]);
396396
}
397397

398+
// disabled copy constructor
399+
@safe unittest
400+
{
401+
static struct S
402+
{
403+
int val;
404+
@disable this(ref S);
405+
}
406+
S[1] arr;
407+
S s = S(1234);
408+
_d_arraysetassign(arr[], s);
409+
assert(arr[0].val == 1234);
410+
}
411+
398412
// throwing and `nothrow`
399413
@safe nothrow unittest
400414
{

runtime/druntime/src/core/lifetime.d

+4-1
Original file line numberDiff line numberDiff line change
@@ -2739,8 +2739,11 @@ if (is(T == class))
27392739
auto init = __traits(initSymbol, T);
27402740
void* p;
27412741

2742-
static if (__traits(getLinkage, T) == "Windows")
2742+
static if (__traits(isCOMClass, T))
27432743
{
2744+
// If this is a COM class we allocate it using malloc.
2745+
// This allows the reference counting to outlive the reference known about by the GC.
2746+
27442747
p = pureMalloc(init.length);
27452748
if (!p)
27462749
onOutOfMemoryError();

tests/codegen/funcliteral_defaultarg_gh1634.d

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ int foo(int function() d = () { return 123; })
1414
// CHECK-LABEL: define{{.*}} @{{.*}}D3mod8call_fooFZi
1515
int call_foo()
1616
{
17-
// CHECK: call {{.*}}D3mod3fooFPFZiZi{{.*}}D3mod9__lambda5FNaNbNiNfZi
17+
// CHECK: call {{.*}}D3mod3fooFPFZiZi{{.*}}D3mod15__lambda_L9_C28FNaNbNiNfZi
1818
return foo();
1919
}
2020

2121
// The lambda is defined by the first call to foo with default arguments.
22-
// CHECK-LABEL: define{{.*}} @{{.*}}D3mod9__lambda5FNaNbNiNfZi
22+
// CHECK-LABEL: define{{.*}} @{{.*}}D3mod15__lambda_L9_C28FNaNbNiNfZi
2323
// CHECK: ret i32 123
2424

2525
// CHECK-LABEL: define{{.*}} @{{.*}}Dmain
2626
void main()
2727
{
28-
// CHECK: call {{.*}}D3mod3fooFPFZiZi{{.*}}D3mod9__lambda5FNaNbNiNfZi
28+
// CHECK: call {{.*}}D3mod3fooFPFZiZi{{.*}}D3mod15__lambda_L9_C28FNaNbNiNfZi
2929
assert(foo() == 123);
3030
}

tests/codegen/lambdas_gh3648.d

+8-8
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,21 @@ void foo()
2626
}
2727

2828
// the global variables should be defined as internal:
29-
// CHECK: _D14lambdas_gh36489__lambda5FZ10global_bari{{.*}} = internal thread_local global
30-
// CHECK: _D14lambdas_gh36489__lambda6FZ18global_bar_inlinedOi{{.*}} = internal global
31-
// CHECK: _D14lambdas_gh36483fooFZ__T9__lambda1TiZQnFiZ12lambda_templi{{.*}} = internal global
29+
// CHECK: _D14lambdas_gh364815__lambda_L5_C12FZ10global_bari{{.*}} = internal thread_local global
30+
// CHECK: _D14lambdas_gh364816__lambda_L10_C20FZ18global_bar_inlinedOi{{.*}} = internal global
31+
// CHECK: _D14lambdas_gh36483fooFZ__T15__lambda_L21_C5TiZQuFiZ12lambda_templi{{.*}} = internal global
3232

3333
// foo() should only call two lambdas:
3434
// CHECK: define {{.*}}_D14lambdas_gh36483fooFZv
35-
// CHECK-NEXT: call {{.*}}__lambda5
36-
// CHECK-NEXT: call {{.*}}__T9__lambda1
35+
// CHECK-NEXT: call {{.*}}__lambda_L5_C12
36+
// CHECK-NEXT: call {{.*}}__T15__lambda_L21_C5
3737
// CHECK-NEXT: ret void
3838

3939
// bar() should be defined as internal:
40-
// CHECK: define internal {{.*}}__lambda5
40+
// CHECK: define internal {{.*}}__lambda_L5_C12
4141

4242
// bar_inlined() should NOT have made it to the .ll:
43-
// CHECK-NOT: define {{.*}}__lambda6
43+
// CHECK-NOT: define {{.*}}__lambda_L10_C20
4444

4545
// the template lambda instance should be defined as internal:
46-
// CHECK: define internal {{.*}}__T9__lambda1
46+
// CHECK: define internal {{.*}}__T15__lambda_L21_C5

tests/codegen/lambdas_gh3648b.d

+5-5
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ void foo()
1111
}
1212

1313
// the global variables should be defined as internal:
14-
// CHECK: _D14lambdas_gh36489__lambda5FZ10global_bari{{.*}} = internal thread_local global
15-
// CHECK: _D14lambdas_gh36489__lambda6FZ18global_bar_inlinedOi{{.*}} = internal global
14+
// CHECK: _D14lambdas_gh364815__lambda_L5_C12FZ10global_bari{{.*}} = internal thread_local global
15+
// CHECK: _D14lambdas_gh364816__lambda_L10_C20FZ18global_bar_inlinedOi{{.*}} = internal global
1616

1717
// foo() should only call one lambda:
1818
// CHECK: define {{.*}}_D15lambdas_gh3648b3fooFZv
19-
// CHECK-NEXT: call {{.*}}__lambda5
19+
// CHECK-NEXT: call {{.*}}__lambda_L5_C12
2020
// CHECK-NEXT: ret void
2121

2222
// bar() should be defined as internal:
23-
// CHECK: define internal {{.*}}__lambda5
23+
// CHECK: define internal {{.*}}__lambda_L5_C12
2424

2525
// bar_inlined() should NOT have made it to the .ll:
26-
// CHECK-NOT: define {{.*}}__lambda6
26+
// CHECK-NOT: define {{.*}}__lambda_L10_C20

tests/dmd/fail_compilation/b19523.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ TEST_OUTPUT:
33
----
44
fail_compilation/b19523.d(13): Error: undefined identifier `SomeStruct`
55
fail_compilation/b19523.d(14): Error: function `foo` is not callable using argument types `(_error_)`
6-
fail_compilation/b19523.d(14): cannot pass argument `__lambda2` of type `_error_` to parameter `int delegate() arg`
6+
fail_compilation/b19523.d(14): cannot pass argument `__lambda_L14_C6` of type `_error_` to parameter `int delegate() arg`
77
fail_compilation/b19523.d(19): `b19523.foo(int delegate() arg)` declared here
88
----
99
*/

tests/dmd/fail_compilation/bug9631.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ TEST_OUTPUT:
6565
fail_compilation/bug9631.d(80): Error: function `f` is not callable using argument types `(int, S)`
6666
fail_compilation/bug9631.d(80): cannot pass argument `y` of type `bug9631.tem!().S` to parameter `bug9631.S s`
6767
fail_compilation/bug9631.d(79): `bug9631.arg.f(int i, S s)` declared here
68-
fail_compilation/bug9631.d(81): Error: function literal `__lambda4(S s)` is not callable using argument types `(S)`
68+
fail_compilation/bug9631.d(81): Error: function literal `__lambda_L81_C5(S s)` is not callable using argument types `(S)`
6969
fail_compilation/bug9631.d(81): cannot pass argument `x` of type `bug9631.S` to parameter `bug9631.tem!().S s`
7070
fail_compilation/bug9631.d(87): Error: constructor `bug9631.arg.A.this(S __param_0)` is not callable using argument types `(S)`
7171
fail_compilation/bug9631.d(87): cannot pass argument `S(0)` of type `bug9631.tem!().S` to parameter `bug9631.S __param_0`

tests/dmd/fail_compilation/constraints_defs.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ TEST_OUTPUT:
55
fail_compilation/constraints_defs.d(49): Error: template instance `constraints_defs.main.def!(int, 0, (a) => a)` does not match template declaration `def(T, int i = 5, alias R)()`
66
with `T = int,
77
i = 0,
8-
R = __lambda1`
8+
R = __lambda_L49_C18`
99
must satisfy the following constraint:
1010
` N!T`
1111
fail_compilation/constraints_defs.d(50): Error: template instance `imports.constraints.defa!int` does not match template declaration `defa(T, U = int)()`

tests/dmd/fail_compilation/constraints_tmpl.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ fail_compilation/constraints_tmpl.d(41): Error: template instance `imports.const
2222
` N!T
2323
N!U`
2424
fail_compilation/constraints_tmpl.d(43): Error: template instance `constraints_tmpl.main.lambda!((a) => a)` does not match template declaration `lambda(alias pred)()`
25-
with `pred = __lambda1`
25+
with `pred = __lambda_L43_C13`
2626
must satisfy the following constraint:
2727
` N!int`
2828
---

tests/dmd/fail_compilation/cppvar.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ fail_compilation/cppvar.d(21): Error: variable `cppvar.staticVar` cannot have `e
99
fail_compilation/cppvar.d(21): perhaps declare it as `__gshared` instead
1010
fail_compilation/cppvar.d(22): Error: variable `cppvar.sharedVar` cannot have `extern(C++)` linkage because it is `shared`
1111
fail_compilation/cppvar.d(22): perhaps declare it as `__gshared` instead
12-
fail_compilation/cppvar.d(30): Error: delegate `cppvar.__lambda7` cannot return type `bool[3]` because its linkage is `extern(C++)`
12+
fail_compilation/cppvar.d(30): Error: delegate `cppvar.__lambda_L30_C46` cannot return type `bool[3]` because its linkage is `extern(C++)`
1313
---
1414
*/
1515
#line 10

tests/dmd/fail_compilation/diag12829.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
TEST_OUTPUT:
33
---
44
fail_compilation/diag12829.d(15): Error: function `diag12829.test1` is `@nogc` yet allocates closure for `test1()` with the GC
5-
fail_compilation/diag12829.d(18): delegate `diag12829.test1.__lambda2` closes over variable `x`
5+
fail_compilation/diag12829.d(18): delegate `diag12829.test1.__lambda_L18_C33` closes over variable `x`
66
fail_compilation/diag12829.d(17): `x` declared here
77
fail_compilation/diag12829.d(22): function `diag12829.test1.bar` closes over variable `x`
88
fail_compilation/diag12829.d(17): `x` declared here

tests/dmd/fail_compilation/diag15411.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
/*
33
TEST_OUTPUT:
44
---
5-
fail_compilation/diag15411.d(17): Error: function `diag15411.test15411.__funcliteral2` cannot access variable `i` in frame of function `diag15411.test15411`
5+
fail_compilation/diag15411.d(17): Error: function `diag15411.test15411.__funcliteral_L17_C15` cannot access variable `i` in frame of function `diag15411.test15411`
66
fail_compilation/diag15411.d(16): `i` declared here
7-
fail_compilation/diag15411.d(18): Error: function `diag15411.test15411.__funcliteral4` cannot access variable `i` in frame of function `diag15411.test15411`
7+
fail_compilation/diag15411.d(18): Error: function `diag15411.test15411.__funcliteral_L18_C15` cannot access variable `i` in frame of function `diag15411.test15411`
88
fail_compilation/diag15411.d(16): `i` declared here
99
fail_compilation/diag15411.d(26): Error: `static` function `diag15411.testNestedFunction.myFunc2` cannot access function `myFunc1` in frame of function `diag15411.testNestedFunction`
1010
fail_compilation/diag15411.d(25): `myFunc1` declared here

tests/dmd/fail_compilation/diag20268.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
/*
44
TEST_OUTPUT:
55
---
6-
fail_compilation/diag20268.d(12): Error: template `__lambda4` is not callable using argument types `!()(int)`
7-
fail_compilation/diag20268.d(11): Candidate is: `__lambda4(__T1, __T2)(x, y)`
6+
fail_compilation/diag20268.d(12): Error: template `__lambda_L11_C1` is not callable using argument types `!()(int)`
7+
fail_compilation/diag20268.d(11): Candidate is: `__lambda_L11_C1(__T1, __T2)(x, y)`
88
---
99
*/
1010

tests/dmd/fail_compilation/diag9831.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
TEST_OUTPUT:
33
---
4-
fail_compilation/diag9831.d(13): Error: function `diag9831.main.__lambda3(__T1)(x)` cannot access variable `c` in frame of function `D main`
4+
fail_compilation/diag9831.d(13): Error: function `diag9831.main.__lambda_L13_C12(__T1)(x)` cannot access variable `c` in frame of function `D main`
55
fail_compilation/diag9831.d(11): `c` declared here
66
---
77
*/

tests/dmd/fail_compilation/diag_funclit.d

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
/**
22
TEST_OUTPUT:
33
---
4-
fail_compilation/diag_funclit.d(103): Error: function literal `__lambda1(x, y, z)` is not callable using argument types `()`
4+
fail_compilation/diag_funclit.d(103): Error: function literal `__lambda_L103_C5(x, y, z)` is not callable using argument types `()`
55
fail_compilation/diag_funclit.d(103): too few arguments, expected 3, got 0
6-
fail_compilation/diag_funclit.d(106): Error: function literal `__lambda2(x, y, z)` is not callable using argument types `(int, string, int, int)`
6+
fail_compilation/diag_funclit.d(106): Error: function literal `__lambda_L106_C5(x, y, z)` is not callable using argument types `(int, string, int, int)`
77
fail_compilation/diag_funclit.d(106): too many arguments, expected 3, got 4
8-
fail_compilation/diag_funclit.d(108): Error: function literal `__lambda3(x, y, string z = "Hello")` is not callable using argument types `(int, int, string, string)`
8+
fail_compilation/diag_funclit.d(108): Error: function literal `__lambda_L108_C5(x, y, string z = "Hello")` is not callable using argument types `(int, int, string, string)`
99
fail_compilation/diag_funclit.d(108): too many arguments, expected 3, got 4
10-
fail_compilation/diag_funclit.d(110): Error: function literal `__lambda4(x, y, string z = "Hello")` is not callable using argument types `(int)`
10+
fail_compilation/diag_funclit.d(110): Error: function literal `__lambda_L110_C5(x, y, string z = "Hello")` is not callable using argument types `(int)`
1111
fail_compilation/diag_funclit.d(110): too few arguments, expected 3, got 1
12-
fail_compilation/diag_funclit.d(112): Error: function literal `__lambda5(x, y, z)` is not callable using argument types `(int)`
12+
fail_compilation/diag_funclit.d(112): Error: function literal `__lambda_L112_C5(x, y, z)` is not callable using argument types `(int)`
1313
fail_compilation/diag_funclit.d(112): too few arguments, expected 3, got 1
14-
fail_compilation/diag_funclit.d(115): Error: function literal `__lambda6(x, y, ...)` is not callable using argument types `(int)`
14+
fail_compilation/diag_funclit.d(115): Error: function literal `__lambda_L115_C5(x, y, ...)` is not callable using argument types `(int)`
1515
fail_compilation/diag_funclit.d(115): too few arguments, expected 2, got 1
16-
fail_compilation/diag_funclit.d(117): Error: function literal `__lambda7(x, y, string z = "Hey", ...)` is not callable using argument types `(int)`
16+
fail_compilation/diag_funclit.d(117): Error: function literal `__lambda_L117_C5(x, y, string z = "Hey", ...)` is not callable using argument types `(int)`
1717
fail_compilation/diag_funclit.d(117): too few arguments, expected 3, got 1
1818
---
1919
*/

tests/dmd/fail_compilation/fail11125.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
TEST_OUTPUT:
33
---
44
fail_compilation/fail11125.d(26): Error: template instance `fail11125.filter!(function (int a) pure nothrow @nogc @safe => a + 1)` does not match template declaration `filter(alias predfun)`
5-
with `predfun = __lambda1`
5+
with `predfun = __lambda_L26_C13`
66
must satisfy the following constraint:
77
` is(ReturnType!predfun == bool)`
88
fail_compilation/fail11125.d(27): Error: template instance `fail11125.filter!(function (int a) pure nothrow @nogc @safe => a + 1)` does not match template declaration `filter(alias predfun)`
9-
with `predfun = __lambda2`
9+
with `predfun = __lambda_L27_C17`
1010
must satisfy the following constraint:
1111
` is(ReturnType!predfun == bool)`
1212
---

tests/dmd/fail_compilation/fail12236.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ fail_compilation/fail12236.d(16): while evaluating `pragma(msg, f1.mangle
66
fail_compilation/fail12236.d(21): Error: forward reference to inferred return type of function `f2`
77
fail_compilation/fail12236.d(21): while evaluating `pragma(msg, f2(T)(T).mangleof)`
88
fail_compilation/fail12236.d(27): Error: template instance `fail12236.f2!int` error instantiating
9-
fail_compilation/fail12236.d(31): Error: forward reference to inferred return type of function `__lambda1`
10-
fail_compilation/fail12236.d(31): while evaluating `pragma(msg, __lambda1(__T1)(a).mangleof)`
9+
fail_compilation/fail12236.d(31): Error: forward reference to inferred return type of function `__lambda_L29_C5`
10+
fail_compilation/fail12236.d(31): while evaluating `pragma(msg, __lambda_L29_C5(__T1)(a).mangleof)`
1111
---
1212
*/
1313

tests/dmd/fail_compilation/fail12378.d

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ fail_compilation/fail12378.d(18): Error: undefined identifier `ANYTHING`
55
fail_compilation/fail12378.d(18): Error: undefined identifier `GOES`
66
fail_compilation/fail12378.d(91): instantiated from here: `MapResultS!((x0) => ANYTHING - GOES, Result)`
77
fail_compilation/fail12378.d(17): instantiated from here: `mapS!(Result)`
8-
fail_compilation/fail12378.d(100): instantiated from here: `__lambda1!int`
8+
fail_compilation/fail12378.d(100): instantiated from here: `__lambda_L16_C19!int`
99
fail_compilation/fail12378.d(91): instantiated from here: `MapResultS!((y0) => iota(2).mapS!((x0) => ANYTHING - GOES), Result)`
1010
fail_compilation/fail12378.d(16): instantiated from here: `mapS!(Result)`
1111
---
@@ -27,7 +27,7 @@ fail_compilation/fail12378.d(40): Error: undefined identifier `ANYTHING`
2727
fail_compilation/fail12378.d(40): Error: undefined identifier `GOES`
2828
fail_compilation/fail12378.d(112): instantiated from here: `MapResultC!((x0) => ANYTHING - GOES, Result)`
2929
fail_compilation/fail12378.d(39): instantiated from here: `mapC!(Result)`
30-
fail_compilation/fail12378.d(123): instantiated from here: `__lambda1!int`
30+
fail_compilation/fail12378.d(123): instantiated from here: `__lambda_L38_C19!int`
3131
fail_compilation/fail12378.d(112): instantiated from here: `MapResultC!((y0) => iota(2).mapC!((x0) => ANYTHING - GOES), Result)`
3232
fail_compilation/fail12378.d(38): instantiated from here: `mapC!(Result)`
3333
---
@@ -49,7 +49,7 @@ fail_compilation/fail12378.d(64): Error: undefined identifier `ANYTHING`
4949
fail_compilation/fail12378.d(64): Error: undefined identifier `GOES`
5050
fail_compilation/fail12378.d(135): instantiated from here: `MapResultI!((x0) => ANYTHING - GOES, Result)`
5151
fail_compilation/fail12378.d(63): instantiated from here: `mapI!(Result)`
52-
fail_compilation/fail12378.d(143): instantiated from here: `__lambda1!int`
52+
fail_compilation/fail12378.d(143): instantiated from here: `__lambda_L62_C19!int`
5353
fail_compilation/fail12378.d(135): instantiated from here: `MapResultI!((y0) => iota(2).mapI!((x0) => ANYTHING - GOES), Result)`
5454
fail_compilation/fail12378.d(62): instantiated from here: `mapI!(Result)`
5555
---

tests/dmd/fail_compilation/fail12908.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
TEST_OUTPUT:
33
---
4-
fail_compilation/fail12908.d(14): Error: `pure` delegate `fail12908.main.__foreachbody1` cannot call impure function `fail12908.g`
4+
fail_compilation/fail12908.d(14): Error: `pure` delegate `fail12908.main.__foreachbody_L12_C5` cannot call impure function `fail12908.g`
55
---
66
*/
77

tests/dmd/fail_compilation/fail13120.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/*
22
TEST_OUTPUT:
33
---
4-
fail_compilation/fail13120.d(13): Error: `pure` delegate `fail13120.g1.__foreachbody2` cannot call impure function `fail13120.f1`
5-
fail_compilation/fail13120.d(13): Error: `@nogc` delegate `fail13120.g1.__foreachbody2` cannot call non-@nogc function `fail13120.f1`
4+
fail_compilation/fail13120.d(13): Error: `pure` delegate `fail13120.g1.__foreachbody_L12_C5` cannot call impure function `fail13120.f1`
5+
fail_compilation/fail13120.d(13): Error: `@nogc` delegate `fail13120.g1.__foreachbody_L12_C5` cannot call non-@nogc function `fail13120.f1`
66
---
77
*/
88
void f1() {}

0 commit comments

Comments
 (0)