diff --git a/dsymbol/src/dsymbol/conversion/second.d b/dsymbol/src/dsymbol/conversion/second.d index 96c2f2b..394faa8 100644 --- a/dsymbol/src/dsymbol/conversion/second.d +++ b/dsymbol/src/dsymbol/conversion/second.d @@ -519,6 +519,7 @@ do if (lastSuffix !is null) { assert(suffix !is null); + typeSwap(currentSymbol); suffix.type = currentSymbol; suffix.ownType = false; symbol.type = lastSuffix; diff --git a/tests/tc_templates_resolve/expected_extra_1.txt b/tests/tc_templates_resolve/expected_extra_1.txt new file mode 100644 index 0000000..3a23887 --- /dev/null +++ b/tests/tc_templates_resolve/expected_extra_1.txt @@ -0,0 +1,2 @@ +identifiers +read_test f void read_test() stdin 38 void diff --git a/tests/tc_templates_resolve/file4.d b/tests/tc_templates_resolve/file4.d new file mode 100644 index 0000000..2a9ab33 --- /dev/null +++ b/tests/tc_templates_resolve/file4.d @@ -0,0 +1,12 @@ +struct ReaderTest(bool LE) +{ + void read_test(){} +} +alias ReaderTestBE = ReaderTest!true; +struct Test +{ + void read(ReaderTestBE* reader) + { + reader.re + } +} diff --git a/tests/tc_templates_resolve/run.sh b/tests/tc_templates_resolve/run.sh index 15b4c03..afb5f9f 100755 --- a/tests/tc_templates_resolve/run.sh +++ b/tests/tc_templates_resolve/run.sh @@ -12,6 +12,10 @@ function check () { } +#echo "extra" +check file4 165 actual_extra_1 expected_extra_1 + + #echo "test1" check file1 280 actual_1_1 expected_1_1