Skip to content

Build Errors Examples Using LLVM/Clang on Windows #206

Open
@adam-hartshorne

Description

@adam-hartshorne

The following two bits of code compile ok with MSVC, but using LLVM/Clang produces the following errors.

Using the code in print.cpp

BOOST_HOF_STATIC_FUNCTION(simple_print) = fix(first_of(
    BOOST_HOF_LIFT(print_with_cout),
    BOOST_HOF_LIFT(print_with_range),
    BOOST_HOF_LIFT(print_with_tuple)
));

produces the following error

1>./boost_hof_functions.h(45): error : templates cannot be declared inside of a local class
1>C:\boost_1_68_0\boost/hof/lift.hpp(90):  note: expanded from macro 'BOOST_HOF_LIFT'
1>C:\boost_1_68_0\boost/hof/lift.hpp(105):  note: expanded from macro 'BOOST_HOF_LIFT_CLASS'

And

BOOST_HOF_STATIC_LAMBDA_FUNCTION(print) = boost::hof::proj(simple_print);

produces

>./boost_hof_functions.h(51): error : non-const lvalue reference to type 'reveal_adaptor<...>' cannot bind to a temporary of type 'reveal_adaptor<...>'
1>C:\boost_1_68_0\boost/hof/lambda.hpp(241):  note: expanded from macro 'BOOST_HOF_STATIC_LAMBDA_FUNCTION']

There are nearly identical errors with functions from in.cpp.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions