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

    <tr>
        <th>Summary</th>
        <td>
            [LifetimeSafety] Add gradual typing: support unknown loans
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:temporal-safety
      </td>
    </tr>

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

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

<pre>
    Opaque Loans: To support gradual rollout and handle functions without annotations, the analysis will use a fallback mechanism. When a function's lifetime behavior is unknown, the analysis will assign an OPAQUE loan to its output. This prevents false negatives while acknowledging uncertainty. Passing a variable with a known origin to an opaque function that takes a mutable reference will kill the known loans and add an OPAQUE one to its origin.


</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxskkGPmzwQhn-NuYwWEROHcOCQ79vmtNJu1a16HvAAboxN7XG2-fcVkKY99AISxu87z-jBGM3giBqh_hPqOcPEow9Nij9rlbVe35rXGX8kghePLoryBO8eYppnHxiGgDqhheCt9YkBnYYRnbYEfXIdG-8ifBget0PnGddvQv4PPBKgQ3uLZvnHWkiRAKFHa1vsLjBRN6Izccrh20huObpnCllFsKYnNhNBSyNejQ9gIiR3cf7D_Tt_QwV08Pp2-vz1E1iPDtiD4Qg-8Zw4h_fRRJgDXclxXIaJBI4GZHOlCB-jsQTYLS2W9GDcAMl1FBiN41sOb0uJGwDhisFga2nlB4R1MPDBDGYtRQd-2-xvLOARGRgvFAFhSrxeD9RTINfRBnFZHgvblrcgxHXvqPVfaN7Rg2ytzEVxEsUp002p67LGjJpdpfaqOhwrlY1Nh6ordVvUqmz3leqqfXeo67rslS57KvrMNLKQqjgW1W4vK6VypYrigFodKjz0x91R7Aua0Njc2uuU-zBkJsZEzU5JtTtmFluycdVMys6iG0R5YppmH9A-ReyJb0LKxcHQLBFPbRqi2BfWRI5_QtmwXW19uQvwZbuqnuGk9UNJvs1mrXjIendjW1mWgm1G5nlRWsizkOfB8JjavPOTkOel7v56moP_Th0LeV6BopDnO9O1kb8CAAD__7fbH10">