
Hi all, I got the impression that the ETI bug has made its way into VC71 (I just got my entire encoded type full of integers, and worked it around in the usual way -- by providing meaningless specialization for it). Is this true? Are the conditions under which it shows up somehow formalized? TIA for any info on the subject. Regards, Arkadiy

Arkadiy Vertleyb writes:
I got the impression that the ETI bug has made its way into VC71 (I just got my entire encoded type full of integers, and worked it around in the usual way -- by providing meaningless specialization for it).
Is this true?
Not to my best knowledge. There is always a chance that you've came across some corner case that nobody hit before, though.
Are the conditions under which it shows up somehow formalized?
Only to the extent that is documented here -- http://www.boost.org/libs/mpl/doc/tutorial/eti.html I'd suggest you to post a query to MSVC-specific newsgroup, as Microsoft compiler engineers are obviously in a better position to answer your question. HTH, -- Aleksey Gurtovoy MetaCommunications Engineering

"Aleksey Gurtovoy" <agurtovoy@meta-comm.com> wrote
Arkadiy Vertleyb writes:
I got the impression that the ETI bug has made its way into VC71 ...
I'd suggest you to post a query to MSVC-specific newsgroup, as Microsoft compiler engineers are obviously in a better position to answer your question.
What would be a good MSVC-specific newsgroup? BTW, here is a minimal example that demonstrates it: template<int n> struct Y { typedef int type; }; template<> struct Y<4> {}; template<class T> T foo(); template <class T> struct X { typedef Y<sizeof(foo<T>())>::type type; }; int main() { return 0; } Regards, Arkadiy

Arkadiy Vertleyb writes:
"Aleksey Gurtovoy" <agurtovoy@meta-comm.com> wrote
Arkadiy Vertleyb writes:
I got the impression that the ETI bug has made its way into VC71 ...
I'd suggest you to post a query to MSVC-specific newsgroup, as Microsoft compiler engineers are obviously in a better position to answer your question.
What would be a good MSVC-specific newsgroup?
Either "microsoft.public.dotnet.languages.vc" or "microsoft.public.vc.language". Both are available through Google Groups.
BTW, here is a minimal example that demonstrates it:
template<int n> struct Y { typedef int type; };
template<> struct Y<4> {};
template<class T> T foo();
template <class T> struct X { typedef Y<sizeof(foo<T>())>::type type;
^^ typename
};
int main() { return 0; }
Interesting. Looks like you are right and the bug is not completely gone in 7.1. -- Aleksey Gurtovoy MetaCommunications Engineering
participants (3)
-
Aleksey Gurtovoy
-
Arkadiy Vertleyb
-
Bronek Kozicki