RFC Coding Guidelines: Formatting Class Member Declarations | Haiku Project

I expressed a similar view before. The following example borrowed from Class declaration - cppreference.com illustrates the downside of keeping the current table alignment style:

struct S
{
    template<class CharT>
    struct NestedS
    {
                                                                            std::string         s;
                                                static  volatile            unsigned long long  i;
                                                                    virtual void                f0(int) = 0;
        [[nodiscard]]                                                       bool                bar();
                        template<typename T>                                void                g(T&& n);
    } d5, *d6;
                                                                                    // Column 100 --
                                                                                    //             |
                                                                                    //             V
                    template<class CharT>                                                   NestedS(std::basic_string<CharT>)
                                                                                                -> NestedS<CharT>;
                                                                                            S(std::size_t R, std::size_t C)
                                                                                                : d0(C), d1(R * C) {}
    explicit S(int) {} // How to align this?
                                                                                            ~S();
                                            static  volatile            unsigned long long  d0;
                                                                        int                 d1;
                                                                        int                 a[10] = {1, 2};
                                            static  const               int                 d2 = 1;
                                                                virtual void                f1(int) = 0;
                                                                        std::string         d3;
                                                                        std::string*        d4;
                                                                        std::string         f2(int);
    [[nodiscard]]                                                       bool                foo();
                    template<typename T>                                void                f(T&& n);

    using namespace clang;
    enum class [[enum_extensibility(open)]] Direction : unsigned char { NORTH, SOUTH, EAST, WEST };
        // How is the above supposed to be aligned?

    // Align or not align?
    typedef NestedS value_type, *pointer_type;
};