<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">