Opened 13 years ago

Closed 13 years ago

#3553 closed Bugs (fixed)

Changeset 57125 broke Proto

Reported by: Christopher Schmidt Owned by: Eric Niebler
Milestone: Boost 1.42.0 Component: proto
Version: Boost Development Trunk Severity: Regression
Keywords: Cc: Christopher Schmidt

Description

Changeset 57125, a fix for Ticket #2355 of the Fusion library, broke the Proto library. Here is a fix for Proto.

Attachments (1)

proto.diff (1.8 KB ) - added by Christopher Schmidt 13 years ago.

Download all attachments as: .zip

Change History (9)

by Christopher Schmidt, 13 years ago

Attachment: proto.diff added

comment:1 by Christopher Schmidt, 13 years ago

Component: Noneproto
Owner: set to Eric Niebler

comment:2 by Eric Niebler, 13 years ago

Why is the patch testing for BOOST_VERSION < 103500?

comment:3 by anonymous, 13 years ago

If BOOST_VERSION < 103500, the spirit fusion library is used, which uses the old interface. See fold.hpp and toy_spirit2.cpp

comment:4 by Eric Niebler, 13 years ago

But the argument order for fusion::fold's binary function won't be changing until the next version of Boost, right? Have you testing this patch with Boost 1.40?

comment:5 by anonymous, 13 years ago

But the argument order for fusion::fold's binary function won't be changing until the next version of Boost, right?

No, I just committed this patch to the trunk and I will commit it to the 1.42 release branch. This patch should not affect 1.41.

Have you testing this patch with Boost 1.40?

I did test this patch with the HEAD of the trunk. I assumed if a proto snapshot is that up-to-date that it contains this patch, there will also be an up-to-date snapshot of Fusion available, or (due to whatever reasons) Boost < 1.35 will be used. Is this assumption incorrect?

I think its ok to apply the patch so the trunk is not broken. Once BOOST_VERSION is set to 104200, I will create another patch to change the

#if BOOST_VERSION < 103500

in the functors to

#if BOOST_VERSION < 104200

Is that OK for you?

I am sorry for any inconvenience caused.

comment:6 by Christopher Schmidt, 13 years ago

Oh, I did not log in. The last two "anonymous" posts are mine.

comment:7 by Eric Niebler, 13 years ago

The goal with the version checks is so that newer versions of Proto can work with older versions of Boost. That's arguably not that important now that Proto is an official part of Boost and has been for a while. Please make the change without any version checks. I'll go through and remove all other such version checks. That code is untested and likely broken anyway.

Thanks.

comment:8 by Eric Niebler, 13 years ago

Resolution: fixed
Status: newclosed

(In [57159]) accomodate recent change to fusion::fold, remove old support for Doxygen and pre-1.35 Fusion, fixes #3553

Note: See TracTickets for help on using tickets.