Skip to content

Preserve sequence elements in Unicode string attributes - #334

Closed
Boulea7 wants to merge 1 commit into
boostorg:developfrom
Boulea7:ln-cx/boost-parser-u32-sequence-327
Closed

Boulea7 wants to merge 1 commit into
boostorg:developfrom
Boulea7:ln-cx/boost-parser-u32-sequence-327

Conversation

@Boulea7

@Boulea7 Boulea7 commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Parsing U"ab" with char_ >> char_ into a std::u32string succeeds but leaves only U"b": each character uses scalar assignment and replaces the previous contents. Extend the existing std::string exception to std::u32string and std::u8string so these elements are appended, including UTF-32-to-UTF-8 transcoding.

The regression covers narrow and UTF-32 input, non-BMP code points, and UTF-8 output. Direct builds of github_issues.cpp pass with GCC 12 (C++17/20) and Clang 14/19 (C++20); GCC checks for sequence attributes, parser attributes, and merging also pass. These local checks use Boost 1.74 support headers.

CI is incomplete. GitHub Actions awaits maintainer approval; all five workflows have zero jobs. Drone finished with 21 successful, 10 failed and four terminated stages. Its Clang 14/C++20 compile_all_t failure reproduces identically on unmodified develop at 293f5e1; other stages report related all_t/ranges diagnostics (see #323). The Xcode 14.0 runner exits with an unaccepted Xcode license. The Xcode 15.0.1 failure and terminated stages have not been fully diagnosed.

Fixes #327.

@tzlaine

tzlaine commented Oct 18, 2026

Copy link
Copy Markdown
Collaborator

Thanks! I had to resolve a merge conflict, and did it locally and then pushed that. So I'm closing this PR without a merge.

@tzlaine tzlaine closed this Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sequence parser overwrites std::u32string

2 participants