Comments (5)
Perhaps the intent is to use the boost traits instead, but in that case the ::boost::
namespace must be explicitly specified, since it's in a macro context and can't assume that it's being used inside the boost
namespace.
Most of the clang-specific macro definitions in this area appear to have the same problem, although oddly these particular ones appear to do it both ways for some reason.
from type_traits.
Although while the above is definitely a bug in its own right, possibly of note is that the location that actually flagged the error to me was this:
Which does happen to be in the boost
namespace. Which suggests that there's an additional problem of a missing #include
dependency. Though it looks like ad32684 fixed that particular issue.
from type_traits.
This should have been fixed in ad32684#diff-6f32db8e7667635f00953149c5f40853.
Can you please update to 1.70 and report back?
from type_traits.
Did you see my last comment? I acknowledged that.
The macros still have public names (even if perhaps they are not intended for public use -- in which case perhaps they should be renamed), and in their current form they are implemented inconsistently and won't work if used outside of the boost
namespace.
from type_traits.
The macros are not intended for use anywhere except inside the type traits library.
Yes, they are documented: but that's so that folks can implement them for compilers about which we currently know nothing. Which is to say they are a customisation point for type_traits, but NOT user usable.
If you wish to submit a PR to fix the perceived issue that's fine, but unless you have a use case where Boost-1.70 fails, I see no need to chase after this myself.
from type_traits.
Related Issues (20)
- `-Wconversion` warning in `type_traits/is_complete.hpp` HOT 1
- `-Wundef` warnings in `is_mem_fun_pointer_impl.hpp` HOT 1
- Boost\libs\type_traits failed to build due to error C2338 on MSVC HOT 2
- -Wconversion warning with is_signed for enums HOT 1
- __has_trivial_assign etc. deprecated under clang 15 HOT 1
- boost::is_integral<char8_t>::value is false HOT 1
- type_traits: Deprecation warnings with clang 15 HOT 1
- more classification/traits
- is_floating_point does not contain any C++23 types HOT 1
- add/rename remove_cv_ref to (C++20 compatible) remove_cvref HOT 1
- add is_integer HOT 3
- add is_character HOT 1
- add is_number HOT 3
- add remove_cvptr HOT 1
- add is_bool HOT 3
- add is_quotrem_order HOT 2
- add is_logic HOT 2
- add is_function_pointer
- add dependent_false HOT 2
- boost::has_left_shift does not work with containers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from type_traits.