D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 8125 - TypeInstance dedunction problem
Summary: TypeInstance dedunction problem
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: All All
: P2 normal
Assignee: No Owner
URL:
Keywords: pull, rejects-valid
Depends on:
Blocks:
 
Reported: 2012-05-20 09:27 UTC by Kenji Hara
Modified: 2012-05-20 14:32 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Kenji Hara 2012-05-20 09:27:23 UTC
Following code should compile.

void foo(){}

struct X(alias a) {}

//template Y(T : A!f, alias A, alias f) {}  //OK
template Y(T : A!foo, alias A) {}           //NG

void main()
{
    alias Y!(X!foo) y;
    // Error: template instance Y!(X!(foo)) Y!(X!(foo)) 
    // does not match template declaration Y(T : A!(foo),alias A)
}
Comment 2 github-bugzilla 2012-05-20 12:48:14 UTC
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/630f7cbab6ea58606cef726939e2ee4cf652e217
fix Issue 8125 - TypeInstance dedunction problem

https://github.com/D-Programming-Language/dmd/commit/ed68238cd1e5a7aec454840ee11e04580f974855
Merge pull request #958 from 9rnsr/fix_tided

Issue 1780 & 3608 & 8125 - Fix TypeInstance deduction problems