From 0e53e96c4e311aad427481bcf301ca89e744b153 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Fri, 20 Jul 2018 00:50:51 +0200 Subject: [PATCH] fix #510 - mixin template and alias --- dsymbol | 2 +- dub.json | 4 ++-- libdparse | 2 +- tests/tc_named_mixin/expected1.txt | 9 +++++++++ tests/tc_named_mixin/expected2.txt | 8 ++++++++ tests/tc_named_mixin/file1.d | 15 +++++++++++++++ tests/tc_named_mixin/file2.d | 20 ++++++++++++++++++++ tests/tc_named_mixin/run.sh | 8 ++++++++ 8 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 tests/tc_named_mixin/expected1.txt create mode 100644 tests/tc_named_mixin/expected2.txt create mode 100644 tests/tc_named_mixin/file1.d create mode 100644 tests/tc_named_mixin/file2.d create mode 100755 tests/tc_named_mixin/run.sh diff --git a/dsymbol b/dsymbol index 3f7eaa1b..c30ce051 160000 --- a/dsymbol +++ b/dsymbol @@ -1 +1 @@ -Subproject commit 3f7eaa1b1e6dd0c5e14d500d0b3d4ba1e1e41138 +Subproject commit c30ce051314c73f37c56f55898512bc35522d8e6 diff --git a/dub.json b/dub.json index c3a99a46..db7dc893 100644 --- a/dub.json +++ b/dub.json @@ -7,8 +7,8 @@ ], "license": "GPL-3.0", "dependencies": { - "dsymbol": "~>0.3.10", - "libdparse": "~>0.8.7", + "dsymbol": "~>0.3.12", + "libdparse": "~>0.8.8", "msgpack-d": "~>1.0.0-beta.3", "stdx-allocator": "~>2.77.2" }, diff --git a/libdparse b/libdparse index 086cf060..5980238f 160000 --- a/libdparse +++ b/libdparse @@ -1 +1 @@ -Subproject commit 086cf06051bb1f33c94891ba6c39a57f164ee296 +Subproject commit 5980238fff40e5623b03e04c05648a73d5b64c54 diff --git a/tests/tc_named_mixin/expected1.txt b/tests/tc_named_mixin/expected1.txt new file mode 100644 index 00000000..74f9fc9b --- /dev/null +++ b/tests/tc_named_mixin/expected1.txt @@ -0,0 +1,9 @@ +identifiers +alignof k +init k +mainCharacter l +mangleof k +sideCharacter l +sizeof k +stringof k +tupleof k diff --git a/tests/tc_named_mixin/expected2.txt b/tests/tc_named_mixin/expected2.txt new file mode 100644 index 00000000..a0343572 --- /dev/null +++ b/tests/tc_named_mixin/expected2.txt @@ -0,0 +1,8 @@ +identifiers +a v +alignof k +init k +mangleof k +sizeof k +stringof k +tupleof k diff --git a/tests/tc_named_mixin/file1.d b/tests/tc_named_mixin/file1.d new file mode 100644 index 00000000..e1512bc7 --- /dev/null +++ b/tests/tc_named_mixin/file1.d @@ -0,0 +1,15 @@ +module tc_named_mixin; + +template person(){} + +struct nametester +{ + mixin person mainCharacter; + mixin person sideCharacter; +} + +void main() +{ + nametester n; + n. +} diff --git a/tests/tc_named_mixin/file2.d b/tests/tc_named_mixin/file2.d new file mode 100644 index 00000000..e5c86650 --- /dev/null +++ b/tests/tc_named_mixin/file2.d @@ -0,0 +1,20 @@ +module file2; + +struct Foo +{ + template Deep() + { + int a; + } +} + +struct Bar +{ + mixin Foo.Deep d; +} + +void main() +{ + Bar bar; + bar.d. +} diff --git a/tests/tc_named_mixin/run.sh b/tests/tc_named_mixin/run.sh new file mode 100755 index 00000000..b353b255 --- /dev/null +++ b/tests/tc_named_mixin/run.sh @@ -0,0 +1,8 @@ +set -e +set -u + +../../bin/dcd-client $1 file1.d -c171 > actual1.txt +diff actual1.txt expected1.txt + +../../bin/dcd-client $1 file2.d -c153 > actual2.txt +diff actual2.txt expected2.txt