Skip to content

Commit bdad1fe

Browse files
authored
Merge pull request #323 from atilaneves/fix-module-name-reflection
Fix dmd bug
2 parents f06b64e + df2090c commit bdad1fe

File tree

3 files changed

+29
-7
lines changed

3 files changed

+29
-7
lines changed

subpackages/runner/source/unit_threaded/runner/reflection.d

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,6 @@ private TestData[] moduleUnitTests_(alias module_)() {
263263

264264
void addUnitTestsRecursively(alias composite)() pure nothrow {
265265

266-
import std.traits: moduleName;
267-
268266
if (composite.mangleof in visitedMembers)
269267
return;
270268

@@ -281,9 +279,9 @@ private TestData[] moduleUnitTests_(alias module_)() {
281279
__traits(compiles, __traits(getMember, composite, member)) &&
282280
__traits(compiles, __traits(allMembers, __traits(getMember, composite, member))) &&
283281
__traits(compiles, recurse!(__traits(getMember, composite, member))) &&
284-
moduleName!composite == moduleName!(__traits(getMember, composite, member))
285-
286-
) {
282+
__traits(isSame, composite, __traits(parent, __traits(getMember, composite, member)))
283+
)
284+
{
287285
recurse!(__traits(getMember, composite, member));
288286
}
289287
}

tests/unit_threaded/ut/issues.d

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,6 @@ else {
425425
import std.algorithm: find, canFind;
426426
import std.array: front;
427427

428-
enum testModule = "unit_threaded.ut.modules.issue321_helper";
429-
430428
const testData = allTestData!(
431429
"unit_threaded.ut.modules.issue321",
432430
"unit_threaded.ut.modules.issue321_helper",
@@ -437,3 +435,18 @@ else {
437435
tests.length.should == 1;
438436
}
439437
}
438+
439+
440+
version(unitThreadedLight) {}
441+
else {
442+
@("moduleName")
443+
@system unittest {
444+
445+
import unit_threaded.runner.factory: createTestCases;
446+
import std.algorithm: find, canFind;
447+
import std.array: front;
448+
449+
// the test is that this actually compiles
450+
const testData = allTestData!("unit_threaded.ut.modules.module_name");
451+
}
452+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module unit_threaded.ut.modules.module_name;
2+
3+
template Type()
4+
{
5+
struct Type()
6+
{
7+
}
8+
}
9+
10+
alias Partial = Type!();
11+
alias Full = Partial!();

0 commit comments

Comments
 (0)