class C { struct NS { struct NNS { int i; }; }; }; void main() : SV_Target0 { C::NS::NNS a; a.i = 2; } // fxc: this program fails with: "nested-structs.azsl(3,12-13): error X3000: syntax error: unexpected token 'NS'" // dxc: accepted and results in: /* !0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"} !1 = !{i32 1, i32 2} !2 = !{i32 1, i32 3} !3 = !{!"ps", i32 6, i32 2} !4 = !{i32 0, %"struct.C::NS::NNS" undef, !5} !5 = !{i32 4, !6} !6 = !{i32 6, !"i", i32 3, i32 0, i32 7, i32 4} !7 = !{i32 1, void ()* @main, !8} !8 = !{!9} !9 = !{i32 1, !10, !11} !10 = !{i32 4, !"SV_Target0"} !11 = !{} !12 = !{void ()* @main, !"main", null, null, null} */