You are correct, it does not. You will have to mark the method as a friend in derived.

On Sun, Jul 19, 2020, 05:33 Magnus Fromreide <> wrote:

I read P0847R4 and got curious about an edge case.


struct Base
        int i = 0;

        template <class Self>
        auto& f(this Self&& self)
                return forward<Self>(self).i;

struct Derived: private Base
        using Base::f;

Now, as I am reading the proposal the call


should be ill-formed as it tries to access Derived.i but that is private in
this context, or does the proposal change the access rules somehow?