Boost logo

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