| Home | Libraries | People | FAQ | More

### Spirit V3.0.4 (Boost V1.70.0)

- 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 use of deprecated `boost/detail/iterator.hpp` header. GH#432
- Removed sequence into plain parsing. Now it triggers a compile time error instead of silently parsing the the sequence and taking the last value as a result. GH#439
- Fixed `parse_rule` instantiation with `BOOST_SPIRIT_INSTANTIATE` when:
  - A rule has no attribute. GH#455
  - An actual attribute is not of type a rule was declared with. GH#456 GH#457
- A huge thanks goes out to Xeverous for reporting a regression in GH#453.
- Fixed unneeded attribute synthesization and no-transformation attribute reference pass-through in rules. GH#444 GH#449 GH#452
- 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 removed due to bugs GH#449 and to simplify attribute transformation. GH#460
- If you were using it to workaround bugs in attribute transformation - they should not be needed anymore as of this release.
- 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
- Container attribute elements were copyied, but not moved. GH#472
- Special handling of references in `transform_attribute` was removed. GH#480