02:07
Yorlik has joined #ste||ar
02:10
hkaiser has quit [Quit: bye]
05:11
bita_ has quit [Ping timeout: 246 seconds]
11:11
oleg[m] has quit [Quit: Idle for 30+ days]
12:56
hkaiser has joined #ste||ar
13:44
diehlpk__ has joined #ste||ar
13:52
diehlpk__ has quit [Ping timeout: 260 seconds]
14:33
hkaiser has quit [Quit: bye]
18:33
hkaiser has joined #ste||ar
18:41
nikunj97 has joined #ste||ar
19:49
nikunj97 has quit [Quit: Leaving]
20:34
nikunj97 has joined #ste||ar
20:34
Nikunj__ has joined #ste||ar
20:38
nikunj97 has quit [Ping timeout: 240 seconds]
20:38
bita_ has joined #ste||ar
21:20
K-ballo has quit [Quit: K-ballo]
21:22
K-ballo has joined #ste||ar
21:24
Nikunj__ is now known as nikunj97
21:26
<
nikunj97 >
K-ballo, is this "template parameters not deducible in partial specialization" related to incorrect template specialization (i.e. compiler not able to see this as different specialization compared to others) or type deduction error?
21:26
<
nikunj97 >
hkaiser ^^
21:26
<
K-ballo >
sounds like you have a template parameter that's not deducible...
21:26
<
K-ballo >
template <typename X, typename T> struct foo<T> {}; // and X?
21:26
<
nikunj97 >
I see, I think I know why its coming then
21:27
<
K-ballo >
the compiler should be pointing to the bogus specialization already, no?
21:27
<
nikunj97 >
yes, it is
21:27
<
nikunj97 >
I wanted to make sure if it was actually due to type deduction and not template specialization
21:28
<
nikunj97 >
it is coming from here:
21:28
<
nikunj97 >
template <typename Pred, typename Func, typename... Args>
21:28
<
nikunj97 >
struct get_param_pack<
21:28
<
nikunj97 >
std::enable_if_t<std::__is_invocable<Func, Args...>::value >
21:28
<
nikunj97 >
std::enable_if_t<!std::__is_invocable<Pred, Args...>::value>,
21:28
<
nikunj97 >
Func(Args...),
21:29
<
nikunj97 >
sorry for the __is_invocable, my build of hpx is keeping me from using is_invocable at the moment :P
21:33
<
nikunj97 >
K-ballo, this worked:
21:33
<
nikunj97 >
template <typename Pred, typename Func, typename... Args>
21:33
<
nikunj97 >
struct get_param_pack<
21:33
<
nikunj97 >
Func(Args...),
21:33
<
nikunj97 >
Pred(std::result_of<Func(Args...)>),
21:33
<
nikunj97 >
std::enable_if_t<std::__is_invocable<Func, Args...>::value>
21:33
<
nikunj97 >
I don't understand why it won't take the previous version though
21:34
<
K-ballo >
which one was the non deducible param?
21:35
<
nikunj97 >
the first one
21:35
<
nikunj97 >
yes, Pred came out to be the non deducible parameter
21:35
<
K-ballo >
how were you expecting the compiler to deduce it from `std::__is_invocable<Pred, Args...>::value`?
21:35
<
nikunj97 >
the function is not invocable
21:36
<
K-ballo >
no, that's not the question
21:36
<
nikunj97 >
that's why I though std::enable_if_t<!std::is_invocable<Pred, Args...>::value> may provide an extra specialization
21:36
<
K-ballo >
presumably this is used like get_param_pack<X, Y, Z...>, how is Pred going to be deduced as X?
21:37
<
nikunj97 >
ohh yes, wait. It can't.
21:37
<
nikunj97 >
you're right, it is not deducible
21:38
<
K-ballo >
result_of was deprecated btw, in favor of invoke_result
21:38
<
nikunj97 >
ohh right, in C++17 right?
21:38
<
K-ballo >
alongside is_invocable, yes
21:38
<
K-ballo >
invoke_result<Func, Args...> = result_of<Func&&(Args&&...)>
21:39
<
nikunj97 >
nice, thanks!
21:40
<
K-ballo >
this is not going back into HPX, right?
21:40
<
nikunj97 >
not now, in future though
21:40
<
nikunj97 >
am I getting something wrong?
21:40
<
K-ballo >
consider using hpx's invoke_result/is_invocable, rather than waiting for hpx to drop c++14 support
21:41
<
nikunj97 >
ohh yes, I'll switch them when I integrate them with HPX
21:41
<
nikunj97 >
that's what I did last time as well
22:54
Yorlik_ has joined #ste||ar
22:54
Yorlik has quit [Ping timeout: 240 seconds]
23:00
<
nikunj97 >
hkaiser, yt?
23:07
<
hkaiser >
nikunj97: here
23:07
<
nikunj97 >
hkaiser, can we work for sfinae functions for now please and think about converting them to template specialization later?
23:08
<
nikunj97 >
s/work for/work with
23:08
<
hkaiser >
the conversion is trivial
23:08
<
nikunj97 >
thanks. I've been biting over my head for some reason for days now.
23:08
<
hkaiser >
I can help with that
23:08
<
nikunj97 >
ok, I need to know how it is converted then. Because I'm getting something completely wrong.
23:09
<
nikunj97 >
Wait, let me add a PR with clean SFINAE functions first with working code, and let us take it from there.
23:09
<
hkaiser >
yes, good move