Revert "[LifetimeSafety] Merge lifetimebound attribute on implicit 'this' across method redeclarations (#172146)"
This caused assertion failures, see comment on the PR:
clang/lib/Sema/TypeLocBuilder.cpp:89:
TypeLoc clang::TypeLocBuilder::pushImpl(QualType, size_t, unsigned int):
Assertion `TLast == LastTy && "mismatch between last type and new type's inner type"' failed.
> Followup on https://github.com/llvm/llvm-project/pull/107627
> Fixes https://github.com/llvm/llvm-project/issues/62072
> Fixes https://github.com/llvm/llvm-project/issues/172013
> Fixes https://github.com/llvm/llvm-project/issues/175391
>
> This PR adds support for merging the `lifetimebound` attribute on the implicit `this` parameter when merging method declarations. Previously, if a method was declared with `lifetimebound` on its function type (which represents the implicit `this` parameter), this attribute would not be propagated to the method definition, causing lifetime safety warnings to be missed.
>
> The implementation adds helper functions to extract the `lifetimebound` attribute from a function type and to merge this attribute from an old method declaration to a new one when appropriate.
This reverts commit ef90ba684d012790c86ac1b5e7c6b325abe78803.