Naios / function2

Improved and configurable drop-in replacement to std::function that supports move only types, multiple overloads and more
http://naios.github.io/function2
Boost Software License 1.0
539 stars 47 forks source link

Incomprehensible error message on clang #55

Open Mrkol opened 1 year ago

Mrkol commented 1 year ago

@Naios

When trying to initialize fu2::function_view<float(float)> with an object of type fu2::function<float(float) const>, clang 14 spews out an incomprehensible error message without a proper "instantiation stack". It is possible to infer what the problem is from const T not being castable to void* inside address_taker, but I think a proper concept or static assert based error message would be much preferred.


Commit Hash

2d3a878ef19dd5d2fb188898513610fac0a48621

Expected Behavior

Pretty error message, "cannot initialize a non-const callable function view with a const-only callable function".

Actual Behavior

Incomprehensible error message

Steps to Reproduce

Try to initialize a fu2::function_view<float(float)> with an object of type fu2::function<float(float) const>

Your Environment

Naios commented 1 year ago

Is this issue maybe a duplication of #21?