boostorg / boostorg/hof

Build Errors Examples Using LLVM/Clang on Windows

Open
#206 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
509
Forks
94
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.