Boost logo

Boost :

From: Eric Friedman (ebf_at_[hidden])
Date: 2003-11-10 20:24:34


For a while now the variant regression tests have turned with up errors
such as the following:

error C2653: 'Iterator' : is not a class or namespace name
         D:\boost6\main\boost\boost\mpl\aux_\deref_wknd.hpp(28) : see
declaration of 'Iterator'
         D:\boost6\main\boost\boost\variant\variant.hpp(124) : see
reference to class template instantiation
'boost::mpl::aux::deref_wknd<Iterator>' being compiled
         with
         [
Iterator=boost::detail::variant::max_value<Sequence,F>::max_it
         ]

Looking at deref_wknd.hpp, I noticed that the ETI workaround "fixes" the
bug by specializing on int. My understanding of MSVC7 though is that
sometimes the ETI bug is more complicated, passing a type convertible to
int instead of int itself.

So I don't know for sure that this is an ETI problem, but seeing as the
tests compile fine under MSVC6, my guess is that the error is the
MSVC7-specific version of the ETI bug.

Assuming I am right, I know msvc_eti_base is available to solve problems
like this. However, since I don't have VC7 to test, I don't want to make
the patch myself. ... Aleksey?

Thanks,
Eric


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk