<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/102954>102954</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] Add `__is_intangible` type trait
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          hekota
      </td>
    </tr>
</table>

<pre>
    HLSL has a set of intangible types, which are described in in the [draft HLSL Specification ([Basic.types])](https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf).

> There are special implementation-defined types such as handle types, which fall into a category of standard intangible types. Intangible types are types that have no defined object representation or value representation, as such the size is unknown at compile time.

> A class type T is an intangible class type if it contains base classes or members of intangible class type, standard intangible type, or arrays of such types. Standard intangible types and intangible class types are collectively called intangible types([9](https://microsoft.github.io/hlsl-specs/specs/hlsl.html#Intangible)).

It would be good to have a builtin type trait `__is_intangible` that would determine whether a type is intangible or not.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyslMFu4zYQhp-GugwiyJTktQ46JE2NLrC37D0YkSOTXYoUyJEN9-kLSk6Txs2tgCEZHPHnN_8MB1OyJ0_Ui_ZJtM8FLmxC7A39CozFEPS1_-PHyw8wmAAhEUMYwXpGf7KDI-DrTEnI3-BirDKAkUBTUtEOpMH6_GNDINonHXFkWMVeZlJ2tArZBg9CHkT79ITJqnKTa5-F7NbnwTDPSdSPQh6FPE5WxZDCyOXJslmG0gYhj8Yl95BmUknI49s7L5azHoXsSlE9i-rx9qx_h5-GIq2s-WuLDuw0O5rI84r0oGm0nvSWHaQlZ5bAoNf3KY_oXHYkAIJCplOI12xSYvQao75zq4Tvn1ZWlO0fG2QweCbwAd4wwvAnKYZIc6T0BgkhwhndQp_WMxneoLP1yf5FYBMs_pcPFw_IoMI023y4nejOnEdQDlNaeeBn3on-Yw4fonYEm9U8o_UJBky3MKVMN9E0UEyfOuZ9fyb9yqUcCxEwRryuCls-m38vX1kL6PV_n7V5rIJzpNieyV1BoXN0r7G14__SfoYnJ2T9Xu7c1p_68TvDJSxOw0BwCkEDh63-CMNiHecLlL3miJZB7KvXV5te36HFvtqaZlPRxBQn6wkuhthQBLzVKn3MNETwgctC97Xu6g4L6nffZN0curZtCtOPh1G1o2yx2mNH1Q4rXauuUWp_qJsWx8L2spJNddjJXVe1bVNqJZs9KTXob3U1Si2aiia0rnTuPJUhngqb0kL9rpJd2xQOB3JpnTpSerrAGhVS5iEU-7zpYVhOSTSVs4nTuwxbduu4yqNEtM_wqPVXvvxjXLFE1_-7mLcSqjAJeczqt9fDHEO-bkIeV6ZczRv0uZd_BwAA__9_ocWQ">