| Home | Libraries | People | FAQ | More

### Spirit V2.5.8

##### What's changed from V2.5.7 (Boost V1.69.0) to V2.5.8 (Boost V1.70.0)

- Removed use of deprecated `boost/detail/iterator.hpp` header GH#432
- Macro name collisions and namespace conflicts with Boost.Endian were fixed. GH#349 GH#482

##### Bug Fixes in Qi

- Added static asserts for rule skipper type problems. GH#427
- The `check_overflow` trait default implementation now relies on `std::numeric_limits<T>::is_bounded` instead of `boost::integer_traits<T>::is_integral` GH#429
- Integer parsers should now handle user defined types. GH#429
- Note: The `check_overflow` trait default implementation now relies on `std::numeric_limits<T>::is_bounded` instead of `boost::integer_traits<T>::is_integral`.
- Removed broken 1.0#INF parser. It was poorly documented and never worked. GH#415 GH#458 TRAC#8699
- The undocumented `make_attribute` trait was merged into `transform_attribute` trait. GH#471
- The `pre_transform`, `post_transform`, and `fail_transform` utility functions were removed in favor of directly using `pre`/`post`/`fail` of the transform trait. GH#467
- The integer value parser now respects `std::numeric_limits<T>::digits10` value. GH#469
- Fixed underflow check for a `(Min % Base) == 0` corner case. GH#469
- Fixed an output value on overflow of IgnoreOverflowDigits=true integer parser. GH#470
- Special handling of references in `transform_attribute` was removed. GH#480

##### Bug Fixes in Lex

- Fixed UB in default constructor of lexer with user specified token type. GH#420

##### Bug Fixes in utree

- Fixed UB in tag getter due to left shift of negative value. GH#423
- Fixed double-conversion (`spirit::string -> std::string -> spirit::string`). GH#462