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>
@Naios
When trying to initialize
fu2::function_view<float(float)>
with an object of typefu2::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 fromconst T
not being castable tovoid*
insideaddress_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 typefu2::function<float(float) const>
Your Environment