$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r58412 - trunk/boost/proto
From: eric_at_[hidden]
Date: 2009-12-16 05:30:41
Author: eric_niebler
Date: 2009-12-16 05:30:40 EST (Wed, 16 Dec 2009)
New Revision: 58412
URL: http://svn.boost.org/trac/boost/changeset/58412
Log:
fix BOOST_PROTO_EXTENDS to work with elaborated types
Text files modified: 
   trunk/boost/proto/extends.hpp |     5 +++--                                   
   1 files changed, 3 insertions(+), 2 deletions(-)
Modified: trunk/boost/proto/extends.hpp
==============================================================================
--- trunk/boost/proto/extends.hpp	(original)
+++ trunk/boost/proto/extends.hpp	2009-12-16 05:30:40 EST (Wed, 16 Dec 2009)
@@ -147,7 +147,8 @@
     #define BOOST_PROTO_BASIC_EXTENDS_(Expr, Derived, Domain)                                       \
         Expr proto_expr_;                                                                           \
                                                                                                     \
-        typedef typename Expr::proto_base_expr proto_base_expr;                                     \
+        typedef Expr proto_base_expr_; /**< INTERNAL ONLY */                                        \
+        typedef typename proto_base_expr_::proto_base_expr proto_base_expr;                         \
         typedef Domain proto_domain;                                                                \
         typedef Derived proto_derived_expr;                                                         \
         typedef typename proto_base_expr::proto_tag proto_tag;                                      \
@@ -156,7 +157,7 @@
         typedef typename proto_base_expr::address_of_hack_type_ proto_address_of_hack_type_;        \
         typedef void proto_is_expr_; /**< INTERNAL ONLY */                                          \
         BOOST_STATIC_CONSTANT(long, proto_arity_c = proto_base_expr::proto_arity_c);                \
-        typedef boost::proto::tag::proto_expr fusion_tag;                                \
+        typedef boost::proto::tag::proto_expr fusion_tag;                                           \
         BOOST_PP_REPEAT(BOOST_PROTO_MAX_ARITY, BOOST_PROTO_EXTENDS_CHILD, ~)                        \
                                                                                                     \
         static proto_derived_expr const make(Expr const &e)                                         \