blob: 8be02e7493716cd1214b12e591f71f2f9771eff2 [file] [log] [blame]
// { dg-additional-options -fmodules-ts }
import inter;
namespace details
{
struct X
{
int m;
X (int m) : m(m)
{
}
operator int () const
{
return m;
}
};
}
namespace hidden
{
struct Y
{
int m;
Y (int m) : m(m)
{
}
operator int () const
{
return m;
}
};
}
int main ()
{
details::X x(2);
hidden::Y y(2);
// details::fn@worker is visible from TPL@inter
if (TPL (x) != 2) // instantiate TPL<details::X>(T&)
return 1;
// hidden::fn@inter is visible from TPL@inter
if (TPL (y) != -2) // instantiate TPL<hidden::Y>(T&)
return 2;
return 0;
}