-
Notifications
You must be signed in to change notification settings - Fork 58
Closed
Description
In the code for macro overloaded_binary_func here the trait bound is present:
where A: HasAfEnum + ImplicitPromote<B>,
B: HasAfEnum + ImplicitPromote<A>,
<A as ImplicitPromote<B>>::Output: HasAfEnumThe macro then is used for comparison operators:
overloaded_binary_func!("Perform `less than` comparison operation", lt, lt_helper, af_lt);
overloaded_binary_func!("Perform `greater than` comparison operation", gt, gt_helper, af_gt);
overloaded_binary_func!("Perform `less than equals` comparison operation", le, le_helper, af_le);
overloaded_binary_func!("Perform `greater than equals` comparison operation", ge, ge_helper, af_ge);
overloaded_binary_func!("Perform `equals` comparison operation", eq, eq_helper, af_eq);This results in the output array erroneously no longer being Array<u8> or Array<bool> (in Rust versions where bool is guaranteed to be 8 bits), and instead being the same an the input types in most scenarios. Another macro needs to be made here that specifically does comparison operations.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels