|
Boost : |
From: Beman Dawes (bdawes_at_[hidden])
Date: 2008-08-08 07:58:42
David Walthall wrote:
> 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_;
> }
Unless the Fusion developers think this is critical for 1.36, I'd rather
hold it for the next release. I'd like to ship 1.36 tomorrow (Saturday),
and that doesn't leave enough time for sufficient testing.
--Beman
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk