|
Boost : |
From: David Walthall (walthall_at_[hidden])
Date: 2008-08-07 15:04:59
I have a patch that fixes an INTERNAL COMPILER ERROR on the release
branch of fusion for daw-msvc71 (which did not show up for the other
msvc 7.1 runner).
[If it matters, this is licensed under the Boost license.]
Basically, putting the return type as a typedef fixes the issue. I
realize that there are several other places in the file with similar
typedefs, but this was the minimal change to get the two failing
examples to compile.
C:\boost_testing\boost\boost\fusion\container\deque\detail>svn diff
Index: keyed_element.hpp
===================================================================
--- keyed_element.hpp (revision 47983)
+++ keyed_element.hpp (working copy)
@@ -40,6 +40,9 @@
typedef Rest base;
typedef fusion_sequence_tag tag;
using Rest::get;
+ private:
+ typedef typename add_reference<Value>::type ValueRefType;
+ public:
template<typename It>
static keyed_element
@@ -64,7 +67,7 @@
return value_;
}
- typename add_reference<Value>::type get(Key)
+ ValueRefType get(Key)
{
return value_;
}
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk