Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4658: (boost::format("%u") % (unsigned char)2).str(); error result
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-10-18 13:12:54
#4658: (boost::format("%u") % (unsigned char)2).str(); error result
---------------------------+--------------------------------
Reporter: anonymous | Owner: James E. King, III
Type: Bugs | Status: closed
Milestone: | Component: format
Version: Boost 1.44.0 | Severity: Problem
Resolution: wontfix | Keywords:
---------------------------+--------------------------------
Changes (by James E. King, III):
* status: assigned => closed
* resolution: => wontfix
* milestone: Boost 1.44.0 =>
Comment:
Resolving this as wontfix because it is working as designed. The argument
type modifiers are ignored completely by Boost.Format for type safety
reasons as defined in the documentation for the library.
A workaround is to cast the value to an integer before adding it with
operator %.
I'm thinking about changing this behavior in future releases, and allowing
full ISO C99 compatibility, possibly by simply leveraging snprintf when a
C style format specification with a conversion specifier is used.
Anything that happens in this area would be fully backwards compatible
through preprocessor macros. We'll see.
-- Ticket URL: <https://svn.boost.org/trac10/boost/ticket/4658#comment:3> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-10-18 13:19:20 UTC