- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The following code:
[cpp]
template<typename ...Args> class X {};
template<typename ...Args> using Alias = X<Args...>;
template<typename ...Args>
Alias<Args...> func ()
{
return Alias<Args...>();
}
int main ()
{
auto x = func();
}
[/cpp]
generates this error:
test.cpp(12): error: template instantiation resulted in unexpected function type of "Alias<> ()" (
the meaning of a name may have changed since the template declaration -- the type of the template is
"Alias<Args...> ()")
auto x = func();
^
detected during instantiation of "func" at line 11
when compiled with: icl /c /Qstd=c++11 test.cpp
It compiles fine in other compilers such as VS2013.
I'm using ICL version 14.0.1.139.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes this does look like a bug. I have recorded this in our internal bug tracking database as DPD200250256.
Thank you for bringing it to our attention and for the nice small reproducer!
Judy

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page