[roll] Roll fuchsia [bt][sapphire-rpc-macro] Drop server-only lifetimes

An #[rpc] impl block may borrow state that only the server uses, e.g.
impl<'a> Service for Handler<'a>. Such lifetimes used to leak into the
generated request, response, RPC and client types, so every client had
to name a lifetime it has nothing to do with.

The generated types now keep only the impl lifetimes that an endpoint
signature, a type or const parameter bound, or a where clause
mentions. The generated route_request function is also made public so
a server loop defined outside the impl's module can dispatch requests.

Test: fx test sapphire_rpc_macro_test
Original-Original-Bug: 552502495
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1854656
Original-Original-Revision: 49c306b6df51ba743937b7c12bca7600020a1053
GitOrigin-RevId: 2d0a90bf9b77088d52cf5f8c3a28823f057d5519
Change-Id: I14478dda0f3c15c9d08fa5009ced535860aa6914
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1855278
Cr-Commit-Position: refs/heads/main@{#203696}
1 file changed
tree: c70d15dd02a60103a303dc9652e7283b6a3e30e3
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
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.