Clang 19 has become more strict about assigning to const variables,
resulting in an error similar to:
/wrkdirs/usr/ports/security/olm/work/olm-6d767aaf29bdf15571c2ef4d3f8f9e953de03733/include/olm/list.hh:106:13: error: cannot assign to variable 'other_pos' with const-qualified type 'T *const'
106 | ++other_pos;
| ^ ~~~~~~~~~
/wrkdirs/usr/ports/security/olm/work/olm-6d767aaf29bdf15571c2ef4d3f8f9e953de03733/include/olm/list.hh:102:19: note: variable 'other_pos' declared const here
102 | T * const other_pos = other._data;
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In this case, it looks like a typo: "T * const" means that the pointer
itself is const, thus it cannot be incremented. Instead, this should be
"T const *" (spelled alternatively as "const T *"), which means that the
object pointed to is const, not the pointer itself.
PR: 281496
Approved by: maintainer timeout (2 weeks)
MFH: 2024Q3
12 lines
375 B
C++
12 lines
375 B
C++
--- include/olm/list.hh.orig 2022-10-07 15:00:05 UTC
|
|
+++ include/olm/list.hh
|
|
@@ -99,7 +99,7 @@ class List { (public)
|
|
return *this;
|
|
}
|
|
T * this_pos = _data;
|
|
- T * const other_pos = other._data;
|
|
+ T const * other_pos = other._data;
|
|
while (other_pos != other._end) {
|
|
*this_pos = *other;
|
|
++this_pos;
|