Opened 6 years ago

Closed 5 years ago

#12733 closed Bugs (fixed)

construct no longer supports automatic conversion from char* to std::string

Reported by: Braden McDaniel <braden@…> Owned by: Thomas Heller
Milestone: Boost 1.67.0 Component: phoenix
Version: Boost 1.63.0 Severity: Regression
Keywords: Cc:

Description

Given:

foo {
  explicit foo(const std::string &);
};

...this use of boost::phoenix::construct now fails in Boost 1.63.0 (using Apple Clang 8.0):

boost::phoenix::construct<foo>("str");

The issue can be worked around by explicitly constructing a std::string:

boost::phoenix::construct<foo>(std::string{"str"});

...however, the automatic conversion from char* worked in Boost 1.62.0.

Change History (2)

comment:1 by Nikita Kniazev <nok.raven@…>, 5 years ago

This is problem in C++11 interface.

Should be fixed in https://github.com/boostorg/phoenix/pull/58

comment:2 by Kohei Takahashi, 5 years ago

Milestone: To Be DeterminedBoost 1.67.0
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.