struct Nested { float y; Texture2D texNested; };
struct A { Nested n; float x; };
struct B { Nested n; Texture2D tex; };

Texture2D someTex;

float4 main(float4 vpos : VPOS) : COLOR0
{
    A a1, a2;
    B b;

    // Assignment of nested structs to nested structs
    a1.n = a2.n;
    b .n = a1.n;

    // Assignment of nested struct to standalone
    Nested n = b.n; 

    // Assignment to nestested struct members
    a2.n.texNested = someTex;
    a1.n.y = 1.0;

    return float4(0,0,0,0);
}
