This is an automated email from the ASF dual-hosted git repository.
thisisnic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/main by this push:
new 135357ce38 GH-47277: [C++] r-binary-packages nightly failures due to
incompatibility with old compiler (#47299)
135357ce38 is described below
commit 135357ce3824d1a8e1aba5a19d897b0c02b22ab7
Author: Nic Crane <[email protected]>
AuthorDate: Sun Aug 10 13:29:37 2025 +0100
GH-47277: [C++] r-binary-packages nightly failures due to incompatibility
with old compiler (#47299)
### Rationale for this change
The `r-binary-packages` job (specifically [C++ Binary Linux OpenSSL
1.0](https://github.com/ursacomputing/crossbow/actions/runs/16314662786/job/46077638701#logs)
and 1.1) has been failing since 15th July with this error:
```
/arrow/cpp/src/parquet/encryption/encryption.h:175:62: error: use of
deleted function 'arrow::util::SecureString::SecureString()'
: column_path_(std::move(path)), encrypted_(encrypted) {}
^
In file included from /arrow/cpp/src/parquet/encryption/encryption.h:26,
from /arrow/cpp/src/parquet/properties.h:30,
from /arrow/cpp/src/parquet/arrow/path_internal.cc:109:
```
### What changes are included in this PR?
Remove the unconditional `noexcept` from `SecureString`’s default
constructor so its exception specification now matches `std::string`’s on all
libstdc++ versions.
### Are these changes tested?
No but I'll run the failing CI job
### Are there any user-facing changes?
No
* GitHub Issue: #47277
Authored-by: Nic Crane <[email protected]>
Signed-off-by: Nic Crane <[email protected]>
---
cpp/src/arrow/util/secure_string.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpp/src/arrow/util/secure_string.h
b/cpp/src/arrow/util/secure_string.h
index 843f6cd0a9..30088c78d4 100644
--- a/cpp/src/arrow/util/secure_string.h
+++ b/cpp/src/arrow/util/secure_string.h
@@ -36,7 +36,7 @@ namespace arrow::util {
*/
class ARROW_EXPORT SecureString {
public:
- SecureString() noexcept = default;
+ SecureString() = default;
SecureString(SecureString&&) noexcept;
SecureString(const SecureString&) = default;
explicit SecureString(std::string&&) noexcept;