Skip to content

Missing Boost header in camp/detail/raw_type.hpp #1

Description

@fmauger

The "boost::enable_if" struct is used in file "camp/detail/rawtype.hpp" but there is no proper Boost include. This causes an error while compiling my project with GCC 9.3 (and Boost 1.71) which includes "camp/detail/typeid.hpp"
then "camp/detail/objecttraits.hpp" then "camp/detail/rawtype.hpp".
I wonder why this has not been detected before. Maybe there is some change in the way GCC process templates...
Formerly I was using gcc4.9 and gcc7 with Boost 1.69 and it was ok.

Having a look on some Camp headers, the "#include <boost/utility/enable_if.hpp>" header is often (if not always) included after dependee Camp headers so that, depending on the way we use/include Camp stuff, this issue is not detected if the client code has its own enable_if include somewhere.
I will suggest to include first dependee Boost headers before Camp ones as a general rule... unless someone has a strong argument against this approach.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions