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

    <tr>
        <th>Summary</th>
        <td>
            [libc] Add deduction guide and LIBC_INLINE to `cpp::expected` and `cpp::unexpected`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            libc
      </td>
    </tr>

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

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

<pre>
    `cpp::expected` inside libc's support library needs to be updated:
- functions inside a header library should be marked with `LIBC_INLINE`
- proper deduction guide should be added so that we can avoid extra type parameters such that `<Error>` in `cpp::unexpected<Error>(Error::Invalid)`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0Uktv5CwQ_DX40soIY-OMDz5MHiONFOXy3b7Lqk332Ox6DOKRx79f4TylVU4gqCqorsIY7bQyD0LfCH1XYU6zC8N_Zg6O7Dpx-H_O1ejodRCdNN6L5iCaA794NolJdBLsGi0xLHY0Ql1HiNl7F1I5CBheYWWmCMnByJA9YaE1ByHvhDxcwTmvJlm3xg8dhJmROHzy4-zyQoV9wfCHCZ5tmkF08uF0c_vr9PhwerwXnfwQ9MF5DkBMeROGKRfZLxUkYoLoIM2Y4JnB4Ar45CwBv6SAkF49g8eAF04ciiEzv4HLM83tfQguiOb-zTx8n0tePyfzDaf279sCOa1PuFgSqhed3FU0NNQ3PVY81Ne11rpttK7moTejbuV51BIb2hOOmkbUel-T7PozqsoOSqpW6loppVWjd-bc6_qaeI-mG2UjRSv5gnbZLcvTZefCVNkYMw993cu2WnDkJW6xKzU5R3C2ISbYMEIpoW6FUm-hqtKMMBSdqzFPUbRysTHFL-Vk07J1aCPoOzgQ_RMBrgTfMiuV-KlTBfrDXDtZ5bAMc0o-lkt1FOo42TTncWfcRahj-dX7cuWD-80mCXXcjEWhjpv_vwEAAP__XiP0cg">