Skip to content

Support rs::Movable<rs_std::Result<T, E>> in elf_bridge.cc's MapResult - #201

Merged
copybara-service[bot] merged 1 commit into
mainfrom
test_1004390464
Oct 23, 2026
Merged

copybara-service[bot] merged 1 commit into
mainfrom
test_1004390464

Conversation

@copybara-service

Copy link
Copy Markdown

Support rs::Movable<rs_std::Result<T, E>> in elf_bridge.cc's MapResult

With Crubit's movable_return_values feature, cc_bindings_from_rs returns rs_std::Result<T, E> by value wrapped in ::rs::Movable<rs_std::Result<T, E>>. Because C++ template argument deduction on MapResult(rs_std::Result<T, E>&&) does not consider user-defined conversion operators on ::rs::Movable, add a forwarding overload that unwraps Wrapper<rs_std::Result<T, E>>&& into rs_std::Result<T, E> before delegating to MapResult.

…Result`

With Crubit's `movable_return_values` feature, `cc_bindings_from_rs` returns `rs_std::Result<T, E>` by value wrapped in `::rs::Movable<rs_std::Result<T, E>>`. Because C++ template argument deduction on `MapResult(rs_std::Result<T, E>&&)` does not consider user-defined conversion operators on `::rs::Movable`, add a forwarding overload that unwraps `Wrapper<rs_std::Result<T, E>>&&` into `rs_std::Result<T, E>` before delegating to `MapResult`.

PiperOrigin-RevId: 1005781644
@copybara-service
copybara-service Bot merged commit 9fda495 into main Oct 23, 2026
1 check passed
@copybara-service
copybara-service Bot deleted the test_1004390464 branch October 23, 2026 19:29
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.

1 participant