LUMIERA.clone/src/lib/meta
Ichthyostega 738d9e5b67 clean-up: simplify function-closure -- investigate BindToArgument
...because swapping in the new standards-based implementation
leads to compile failures on tests to cover out-of-bounds cases.

Under the (wrong) assumption, that some mistake must be hidden in
the Splice-metafunction, I first provided a complete test coverage;
while the actual problem was right below my nose, and quite obvious...

The old implementation, being based on a case distinction over the argument count,
simply was not able even to notice excess arguments; other the new implementation,
based on variadics and `std::apply`, which is fully generic and thus
passes excess arguments to `std::bind` when a position beyond the actual
argument list is specified to be closed.

The old behaviour was to silently ignore such an out-of-bounds spec,
and this can be reinstated by explicitly capping the prepared tuple
of binders and actual arguments passed to `std::bind`

Another question of course is, if being tolerant here is a good idea.


And beyond that, function-closure.hpp is still terrifyingly complex,
unorganised and use-case driven, to start with....
2025-06-05 18:00:05 +02:00
..
duck-detector.hpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
function-closure.hpp clean-up: simplify function-closure -- investigate BindToArgument 2025-06-05 18:00:05 +02:00
function-erasure.hpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
function.hpp clean-up: prepare for variadic Type-Sequences (see #987) 2025-06-02 03:24:44 +02:00
generator-combinations.hpp clean-up: the big anti-bang -- NullType becomes Nil 2025-06-02 17:46:40 +02:00
generator.hpp clean-up: the big anti-bang -- NullType becomes Nil 2025-06-02 17:46:40 +02:00
maybe-compare.hpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
no-instance.hpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
size-trait.hpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
trait-special.hpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
trait.hpp Library: solve forwarding of child-expansion 2024-11-26 03:01:28 +01:00
tuple-closure.hpp Invocation: NodeBuilder now handles all cases of partial-closure 2025-02-18 20:42:25 +01:00
tuple-helper.hpp clean-up: define variadic type-sequences independently 2025-06-04 03:21:18 +02:00
tuple-record-init.hpp clean-up: complement and modernise basic type-lists 2025-06-02 19:07:05 +02:00
typelist-manip.hpp clean-up: simplify function-closure -- investigate BindToArgument 2025-06-05 18:00:05 +02:00
typelist-util.hpp clean-up: complement and modernise basic type-lists 2025-06-02 19:07:05 +02:00
typelist.hpp clean-up: define variadic type-sequences independently 2025-06-04 03:21:18 +02:00
typeseq-util.hpp clean-up: define variadic type-sequences independently 2025-06-04 03:21:18 +02:00
util.hpp clean-up: complement and modernise basic type-lists 2025-06-02 19:07:05 +02:00
value-type-binding.hpp Library: further test and documentation of tuple-zipping 2024-11-26 17:35:05 +01:00
variadic-helper.hpp clean-up: validate use of variadic seq with tuples and generators 2025-06-03 16:14:13 +02:00
variadic-rebind.hpp clean-up: the big anti-bang -- NullType becomes Nil 2025-06-02 17:46:40 +02:00
virtual-copy-support.hpp Upgrade: address warnings -- shaddowing overloaded-virtual 2025-04-15 22:42:34 +02:00