commit 8706f4e075419a6df0ae09b513ddb3e03c41d327
parent 7b404e65ccff32c43e4f2b8fb268b52c1f04f3c2
Author: serge-sans-paille <sguelton@mozilla.com>
Date: Wed, 22 Oct 2025 08:58:29 +0000
Bug 1990021 - Add MOZ_LIFETIME_BOUND annotations to nsTStringRepr r=nika
Differential Revision: https://phabricator.services.mozilla.com/D267669
Diffstat:
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/xpcom/string/nsTStringRepr.h b/xpcom/string/nsTStringRepr.h
@@ -147,29 +147,35 @@ class nsTStringRepr {
typedef nsTStringLengthStorage<T> LengthStorage;
// Reading iterators.
- constexpr const_char_iterator BeginReading() const { return mData; }
- constexpr const_char_iterator EndReading() const { return mData + mLength; }
+ constexpr const_char_iterator BeginReading() const MOZ_LIFETIME_BOUND {
+ return mData;
+ }
+ constexpr const_char_iterator EndReading() const MOZ_LIFETIME_BOUND {
+ return mData + mLength;
+ }
// Deprecated reading iterators.
- const_iterator& BeginReading(const_iterator& aIter) const {
+ const_iterator& BeginReading(const_iterator& aIter) const MOZ_LIFETIME_BOUND {
aIter.mStart = mData;
aIter.mEnd = mData + mLength;
aIter.mPosition = aIter.mStart;
return aIter;
}
- const_iterator& EndReading(const_iterator& aIter) const {
+ const_iterator& EndReading(const_iterator& aIter) const MOZ_LIFETIME_BOUND {
aIter.mStart = mData;
aIter.mEnd = mData + mLength;
aIter.mPosition = aIter.mEnd;
return aIter;
}
- const_char_iterator& BeginReading(const_char_iterator& aIter) const {
+ const_char_iterator& BeginReading(const_char_iterator& aIter) const
+ MOZ_LIFETIME_BOUND {
return aIter = mData;
}
- const_char_iterator& EndReading(const_char_iterator& aIter) const {
+ const_char_iterator& EndReading(const_char_iterator& aIter) const
+ MOZ_LIFETIME_BOUND {
return aIter = mData + mLength;
}
@@ -186,13 +192,17 @@ class nsTStringRepr {
#endif
// Returns pointer to string data (not necessarily null-terminated)
- constexpr typename raw_type<T, int>::type Data() const { return mData; }
+ constexpr typename raw_type<T, int>::type Data() const MOZ_LIFETIME_BOUND {
+ return mData;
+ }
constexpr size_type Length() const { return static_cast<size_type>(mLength); }
- constexpr string_view View() const { return string_view(Data(), Length()); }
+ constexpr string_view View() const MOZ_LIFETIME_BOUND {
+ return string_view(Data(), Length());
+ }
- constexpr operator string_view() const { return View(); }
+ constexpr operator string_view() const MOZ_LIFETIME_BOUND { return View(); }
constexpr DataFlags GetDataFlags() const { return mDataFlags; }