[roll] Roll fuchsia [fuchsia-async] Remove WeakScopeRef, Join::detach()

As the documentation explains, the type is unnecessary because it can't
be used to create cycles that didn't already exist. A ScopeRef can be
held by a user's task code, but each Task already holds a ScopeRef, so
it would just be redundant.

WeakScopeRef does prevent cycles in the internal ownership graph.

Testing this also exposed a flaw in the Join API. The intention was to
allow cancelling or detaching after polling the Join future, but Join is
not Unpin, so those methods must accept `Pin<&mut Self>` to be useful.
Admittedly this is a clunky API to use. I fixed cancel() but removed
detach() since implementing it would require putting the inner scope
in an Option and for the rare cases that would ever need it, mem::drop()
is a way out.

Original-Bug: 339724492
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1152733
Original-Revision: fe0477726529afe531f46ad709390d1bc7f035b7
GitOrigin-RevId: d0bb73591d0ab2a669bfd60bc9d3e57f99a1964f
Change-Id: I6825192a0a6bc199ef9bc58fa8d5090a8c6bfd11
1 file changed
tree: 6e549122a2a325288e0a49c65dc8b386f867ad8a
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.