Currently, the full name of recursive_wrapper<T> is recursive_wrapper<T, std::allocator<T>> . This makes the variant's name extremely long in parser combinator applications because of the allocator type. This is a huge QoL problem and we should make the recursive_wrapper<T> a distinct type that has no allocator parameter.
This is quite non-trivial task because recursive_wrapper has many special handlings in rvariant, and rvariant's specification must be modified carefully to adapt the new interface.

Currently, the full name of
recursive_wrapper<T>isrecursive_wrapper<T, std::allocator<T>>. This makes the variant's name extremely long in parser combinator applications because of the allocator type. This is a huge QoL problem and we should make therecursive_wrapper<T>a distinct type that has no allocator parameter.This is quite non-trivial task because
recursive_wrapperhas many special handlings inrvariant, andrvariant's specification must be modified carefully to adapt the new interface.