contract A{
    function f() public pure{

    }
}
contract B{
    A public a;
}
contract C{
    B public b;
}
contract D{
    C c;
    function f() public view{
        c.b.a.f();
    }
}
// ----
// TypeError 6005: (170-175): Member "a" not found or not visible after argument-dependent lookup in function () view external returns (contract B). Did you intend to call the function?
