tree ee484941a4772386f361ecd490a37f494a2aa796
parent cab75384af8b5638822475b2dd9020b7e879f1f5
author Andy Kaylor <akaylor@nvidia.com> 1745000701 -0700
committer GitHub <noreply@github.com> 1745000701 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoApj9CRC1aQ7uu5UhlAAA/TcQAGKLyhSqjYBD6kgt+TmQizYk
 dyp+6pStNct4TeFeA7hYD3fHs6dKwq+/0CZyqEX5C+A6XTaJGLZBjg25BNC9o4Hp
 4sXxzQOIY8z9H9CbuPyJPGs86UyW/nVPDRi7o71zrlKw5Os2QbTf8hRvagN0jAFx
 rnvAN70/m6we2YtOYFVDf3fyfBf49IrR9r6hnQWQpBzzQjJZEEdjQZkX+sB4recX
 MKvfmlvVUjgivE9F+uthukLmsvwP8eojkno/TX1UXWHCToWD2uaYp2JJN6enufPQ
 nzPotNnbS+hXNE2UFJALetX8SABMWHWSFrjicClGQQ/55c3xAr9J3IBxIEBG/U+n
 28h8bEhDJ96vheUjmpw+bPAPcGGLjR4s6QAMqWzIUxA7c20iDRr4mjrMuwb12C2Q
 hNzCJs82R/qsH21md0WDI26bhUaLO6UPTBDPapQM2tPvekRIjHgXYsEiPXAsryck
 vaaV9u4jQqqVmY2UctJ+DejhNtLwjSYLhjFwXvXqUzk+wg6+I22HYIrmBdk0Xrrh
 2WZ4lsEvQKJLezn1DmubwIO738b2Yp7kk4DAl2s8qQPwlHWRcetQvMq90+C0r5Rx
 /JLt1RqpjOzq0VLPTxLsZTzjscCoVBqvWEKbWztoUIBiJD5blhmvEILBzMvzkwQH
 N8PvwevIQoAZEzQ7Hh6d
 =BLtz
 -----END PGP SIGNATURE-----
 

[CIR] Upstream limited support for nested structures (#136331)

Previously when we checked to see if it was safe to create CIR for a
structure type, we were conservatively saying no if any structure was in
the process of being converted. That prevented handling nested
structures, even when it would have actually been safe to handle them.
Handling structures which recursively reference structures currently
being processed requires deferring the handling of the recursively
referenced structure, and that still isn't implemented after this
change.

This change adds the less conservative check that allows handling of
non-recursive nested structures.