On Monday, 15 July 2019 at 14:15:41 UTC, Stefan Koch wrote:
On Monday, 15 July 2019 at 13:40:29 UTC, Ben Ogles wrote:
I have written a simple function that can call another function over integral types with random arguments:

[...]

You cannot. meta-programming and compile-time evaluation are supposed to be deterministic,
and hence cannot take random values.

Sorry, I wasn't clear. The code I wrote does not actually _produce_ the random values at compile time. It is just a template that evaluates to a function call where each argument is given as `gen_rand_integral()`. So if I call

call_with_rand!(add)();

It will expand to


add(gen_rand_integral!(int)(), gen_rand_integral!(int)());

But I want a way to expand this to

add(gen_rand_integral!(int)(), user_defined_generator!(int)());

Reply via email to