SIGN IN SIGN UP

gpui2: Type-erase futures. (#3266)

Project2's LLVM IR size is ~33-44% bigger than project1 due to the fact
that in gpui2 we call async_task::spawn(_local) with impl Future instead
of dyn Future, which leads to quite a few more instantiations of
RawTask.

LLVM-IR size for project2:
|  build_type  |  main   |  this branch  | project1 |
|  debug       | 2617795 |    2022814    | 1817866  |
|  release     | 4439033 |    3715086    | 3314489  |

Note that this PR is in line with what was done in GPUI1 (we've also
boxed futures there).
Release Notes:

- N/A
A
Antonio Scandurra committed
e4bc03217de247507cffbcc9faaac230580d1f51
Committed by GitHub <noreply@github.com> on 11/8/2023, 1:21:40 PM