<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/112856>112856</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++] Questionable extension `packaged_task::result_type`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
question,
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
frederick-vs-ja
</td>
</tr>
</table>
<pre>
libc++ provides `packaged_task::result_type` as an extension:
https://github.com/llvm/llvm-project/blob/7eaf92b3e4db5e3be9e9ee137866090d66dd08fb/libcxx/include/future#L325
https://github.com/llvm/llvm-project/blob/7eaf92b3e4db5e3be9e9ee137866090d66dd08fb/libcxx/include/future#L1603
https://github.com/llvm/llvm-project/blob/7eaf92b3e4db5e3be9e9ee137866090d66dd08fb/libcxx/include/future#L1697
However, the extension doens't seem conforming - as it can change behavior in SFINAE or cause ambiguity in name lookup.
It seems that the extension was added by @HowardHinnant when `packaged_task` was initially implemented. Should we
- just remove it, or
- deprecated and then remove it, or
- keep it as-is (possibly with more comments)?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVMGO4zYM_Rr5QiSQ6diODz7MbGrMAkWBYj9gQVm0rYksuZKcTP6-cHYWE7Qo0L3NxQYkinzke3wUoxkdcyvKZ1GeMlrT5EM7BNYcTH_eXeLulTLl9a21RvUCnwU-wxL8xWiOICq5UH-mkfX3RPEsiidRPAWOq03f021hUUmgCOSA3xK7aLzbYuRJyPfvlNIStzPsBHajSdOq9r2fBXbWXn7-dkvwr9wngZ2yXgnsaqahQVXwQauSC8UNN8x5UR-rSjZSV5XW8jhsoRvytzeBnXG9XTUL7IY1rYEFFr8XWH4OIHkli8-CpKkfKXrxV75wEPgF0sQfTIL27KLAOkFknqH3bvBhNm6E3ca6SdCTg34iNzIonuhifADj4Fv39Y-n38AH6GmNDDQrM64m3bZLRzOD9f68LvtHGF9_lImQJkr_QHLdRKY1a1A3EAf54q8U9ItxjlyC68Tu31qt5P2ZcSYZsvYGZl4sz-wS6z18m_xqNVz5R_EdvK4xQeDZXxhM2obhw887zUvgnhJrIKc3bO6_Qs_MyzYZijsTQeBx8TEaZW9wNWmC2QeG3s8bjCiwEUWX6bbQTdFQxm1eY4MHlHmeTW1JpGQpc2wky0bXioqKtNJFTjnVSmemRYmHXOZH2UiZ5_sCB2IsZT_UA9XlURwkz2TsfhPU3ocxMzGu3OY5Hssqs6TYxrs5IP61ckzb_iIK_CIQPwxhOypPWWjvulTrGMVBWhNT_EicTLJ3n3l4Vp7gz_espOwjn__HWLI12PaXd-XeYBTYvfd4afHvAAAA__9dS50b">