Какое правило позволяет `this->` обращаться к членам зависимых базовых классов?

Как мы знаем, приведенный ниже код некорректен, потому что членx находится в зависимом базовом классе. Тем не менее, изменениеx вthis->x в указанной строке исправит ошибку.

template <typename T>
struct B {
    int x;
};
template <typename T>
struct C : B<T> {
    void f() {
        int y = x; // Error!
    }
};
int main() {
    C<int> c;
    c.f();
}

Я хотел бы объяснить, как это поведение указано в стандарте. Согласно [temp.dep] / 3:

В определении класса или шаблона класса, если базовый класс зависит отШаблон-параметр,&nbsp;область действия базового класса не проверяется при поиске безоговорочного имени ни в точке определения шаблона или члена класса, ни во время создания шаблона или члена класса.

Это, кажется, объясняет, почему с помощьюx&nbsp;один не удается. Имяx&nbsp;ищется в точке определения, а область действия базового класса не рассматривается. Однако, что если мы используемthis->x? Теперь имяx&nbsp;зависит, и его поиск откладывается до момента его создания. Но процитированный параграф, кажется, подразумевает, чтоx&nbsp;не должен быть найдендаже во время создания экземпляра,&nbsp;с момента поискаx&nbsp;вthis->x&nbsp;являетсяеще неквалифицированный&nbsp;уважать.

Очевидно, реализации не ведут себя таким образом, и общепризнанно, что область действия базового классаявляется&nbsp;искали, как только шаблон создан.

Я неправильно истолковал цитируемый абзац?Есть ли абзац, в котором указано «правильное» поведение?