mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 21:21:48 +03:00
45 lines
1.4 KiB
D
45 lines
1.4 KiB
D
int v1, v2;
|
|
|
|
/*
|
|
TEST_OUTPUT:
|
|
---
|
|
fail_compilation/fail13203.d(15): Error: alias `fail13203.FA1!1.T` conflicts with alias `fail13203.FA1!1.T` at fail_compilation/fail13203.d(14)
|
|
fail_compilation/fail13203.d(22): Error: template instance `fail13203.FA1!1` error instantiating
|
|
fail_compilation/fail13203.d(20): Error: alias `fail13203.FA2!1.T` conflicts with alias `fail13203.FA2!1.T` at fail_compilation/fail13203.d(19)
|
|
fail_compilation/fail13203.d(23): Error: template instance `fail13203.FA2!1` error instantiating
|
|
---
|
|
*/
|
|
template FA1(int b)
|
|
{
|
|
alias T = int;
|
|
static if (b) alias T = uint;
|
|
}
|
|
template FA2(int b)
|
|
{
|
|
alias T = v1;
|
|
static if (b) alias T = v2;
|
|
}
|
|
alias A1 = FA1!1; // type is not overloadable
|
|
alias A2 = FA2!1; // variable symbol is not overloadable
|
|
|
|
/*
|
|
TEST_OUTPUT:
|
|
---
|
|
fail_compilation/fail13203.d(36): Error: alias `fail13203.FB1!1.T` conflicts with alias `fail13203.FB1!1.T` at fail_compilation/fail13203.d(37)
|
|
fail_compilation/fail13203.d(44): Error: template instance `fail13203.FB1!1` error instantiating
|
|
fail_compilation/fail13203.d(41): Error: alias `fail13203.FB2!1.T` conflicts with alias `fail13203.FB2!1.T` at fail_compilation/fail13203.d(42)
|
|
fail_compilation/fail13203.d(45): Error: template instance `fail13203.FB2!1` error instantiating
|
|
---
|
|
*/
|
|
template FB1(int b)
|
|
{
|
|
static if (b) alias T = uint;
|
|
alias T = int;
|
|
}
|
|
template FB2(int b)
|
|
{
|
|
static if (b) alias T = v2;
|
|
alias T = v1;
|
|
}
|
|
alias B1 = FB1!1;
|
|
alias B2 = FB2!1;
|