-
Notifications
You must be signed in to change notification settings - Fork 638
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
field.ipp: IWYU for <cstdint> #2676
Conversation
Previously, a file that included only boost/beast/http/fields.hpp would fail to compile on GCC 13.1.0 with the following error: In file included from /boost/boost/beast/http/field.hpp:411, from /boost/boost/beast/http/fields.hpp:16, from /repro/boost_repro.cpp:1: /boost/boost/beast/http/impl/field.ipp:30:10: error: 'uint32_t' in namespace 'std' does not name a type; did you mean 'wint_t'? 30 | std::uint32_t | ^~~~~~~~ | wint_t This was because boost/beast/http/impl/field.ipp relied on a transitive include that is no longer present in libstdc++ 13. This commit addresses the issue by adding a <cstdint> include to boost/beast/http/impl/field.ipp.
That should have been caught with this unit test: beast/test/beast/http/field.cpp Line 11 in b0996f0
|
My guess would be that the unit tests were never run with GCC 13. I don't see that compiler in the list of CI checks |
of COURSE... the ONE configuration that we don't test... is the one that has the error :) |
To be fair, GCC 13 only came out five days ago. |
Oh! I thought it was older.. thanks |
Just had the same problem with |
we need to add gcc13 to the matrix and fix all the errors |
Can confirm from local install (fedora 38) |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## develop #2676 +/- ##
===========================================
- Coverage 92.96% 92.94% -0.03%
===========================================
Files 177 177
Lines 13651 13658 +7
===========================================
+ Hits 12691 12694 +3
- Misses 960 964 +4
... and 3 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
Completed in #2682 |
Previously, a file that included only boost/beast/http/fields.hpp would fail to compile on GCC 13.1.0 with the following error:
This was because boost/beast/http/impl/field.ipp relied on a transitive include that is no longer present in libstdc++ 13.
This commit addresses the issue by adding a
<cstdint>
include to boost/beast/http/impl/field.ipp.