Remove lifetime of `__this` from `generic_params`.

The public API of constructors (e.g. the generated Default::default,
From::from, and/or Clone::clone) does *not* include the `__this`
parameter from the thunk/C++ layer.  But... before this CL, the
`generic_params` would still (unnecessarily) contain the lifetime
associated with `__this` resulting in generated bindings that look like
this:

    // The 'a below is unnecessary:
    fn default<'a>() -> Self {

The bindings above are already covered by the
`test_impl_default_explicitly_defaulted_constructor` test case.
(It just needed `#pragma clang lifetime_elision`).

After this CL, `generic_params` are trimmed as needed.

PiperOrigin-RevId: 422925859
1 file changed
tree: c52c0fe312f21345848eb38f726a871af8720b75
  1. lifetime_annotations/
  2. rs_bindings_from_cc/
  3. CODE_OF_CONDUCT
  4. CONTRIBUTING
  5. LICENSE
  6. README.md
README.md

Crubit: C++/Rust Bidirectional Interop Tool

Extremely experimental interop tooling for C++ and Rust.

Please don‘t use, this is an experiment and we don’t yet know where will it take us. There will be breaking changes without warning. Unfortunately, we can't take contributions at this point.