Skip to content

stdcoroutine-4: Remove Boost.Coroutine dependency and old Coro API#6429

Draft
pratikmankawde wants to merge 6 commits intopratik/std-coro/migrate-test-codefrom
pratik/std-coro/cleanup-boost-coroutine
Draft

stdcoroutine-4: Remove Boost.Coroutine dependency and old Coro API#6429
pratikmankawde wants to merge 6 commits intopratik/std-coro/migrate-test-codefrom
pratik/std-coro/cleanup-boost-coroutine

Conversation

@pratikmankawde
Copy link
Collaborator

@pratikmankawde pratikmankawde commented Feb 25, 2026

High Level Overview of Change

Delete the old Boost.Coroutine-based Coro class, postCoro() API, and the entire Coro.ipp implementation file. Remove Boost.Coroutine and Boost.Context from all build dependencies (CMake, Conan).

Context of Change

This is Milestone 4 (final) of the Boost.Coroutine → C++20 coroutines migration:

  • Milestone 1 (pratik/std-coro/add-coroutine-primitives): Added CoroTask<T>, CoroTaskRunner, JobQueueAwaiter, postCoroTask()
  • Milestone 2 (pratik/std-coro/migrate-entry-points): Migrated all production entry points
  • Milestone 3 (pratik/std-coro/migrate-test-code): Migrated all test code
  • Milestone 4 (this PR): Delete old code and build dependencies

After this change, zero references to postCoro, JobQueue::Coro, Coro.ipp, or Boost.Coroutine remain in the codebase (only the migration plan doc references them).

Type of Change

  • Refactor (non-breaking change that only restructures code)
  • Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)

API Impact

  • libxrpl change (any change that may affect libxrpl or dependents of libxrpl)

Before / After

Build dependencies removed:

  • Boost::coroutine from cmake/deps/Boost.cmake (COMPONENTS and target_link_libraries)
  • Boost::context from cmake/XrplConfig.cmake (was only needed by Boost.Coroutine)
  • BOOST_COROUTINES_NO_DEPRECATION_WARNING from cmake/XrplInterface.cmake
  • boost::coroutine from conanfile.py

Code removed:

  • include/xrpl/core/Coro.ipp (122 lines, entire file deleted)
  • class Coro, Coro_create_t, postCoro() from JobQueue.h (~180 lines including comments)

@pratikmankawde pratikmankawde added the DraftRunCI Normally CI does not run on draft PRs. This opts in. label Feb 25, 2026
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 66886c9 to 85c2744 Compare February 25, 2026 22:28
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from 3760e01 to e23abb3 Compare February 25, 2026 22:28
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 85c2744 to 537322d Compare February 25, 2026 22:39
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from e23abb3 to 07ed0de Compare February 25, 2026 22:41
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 537322d to 3126a1d Compare February 25, 2026 22:45
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from 07ed0de to 5a6c8b9 Compare February 25, 2026 22:45
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 3126a1d to f2c02be Compare February 25, 2026 22:51
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from 5a6c8b9 to 5545df2 Compare February 25, 2026 22:51
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from f2c02be to e807a3a Compare February 25, 2026 23:11
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from 5545df2 to a0868da Compare February 25, 2026 23:12
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from e807a3a to e6d78aa Compare February 26, 2026 12:13
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from a0868da to 6181882 Compare February 26, 2026 12:13
@pratikmankawde pratikmankawde added the StdCoroutineSwitch Boost to Std Coroutine Switch label Feb 26, 2026
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from e6d78aa to 5a0e822 Compare February 26, 2026 12:39
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from 6181882 to 7ae27a0 Compare February 26, 2026 12:39
@pratikmankawde pratikmankawde changed the title Remove Boost.Coroutine dependency and old Coro API stdcoroutine-4: Remove Boost.Coroutine dependency and old Coro API Feb 26, 2026
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 5a0e822 to 9445ed1 Compare February 26, 2026 13:19
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from 2d4720e to cf05b8f Compare February 26, 2026 13:19
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 9445ed1 to deb4613 Compare February 26, 2026 14:13
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from cf05b8f to d50f1f1 Compare February 26, 2026 14:13
@pratikmankawde pratikmankawde marked this pull request as ready for review February 26, 2026 18:06
@pratikmankawde pratikmankawde marked this pull request as draft February 26, 2026 18:07
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from deb4613 to 61a87db Compare February 27, 2026 17:10
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from d50f1f1 to a26f00a Compare February 27, 2026 17:10
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 61a87db to 3e37424 Compare February 27, 2026 17:21
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from a26f00a to de8f8a5 Compare February 27, 2026 17:21
@codecov
Copy link

codecov bot commented Feb 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.8%. Comparing base (91daa1f) to head (f4ed00e).

Additional details and impacted files

Impacted file tree graph

@@                        Coverage Diff                        @@
##           pratik/std-coro/migrate-test-code   #6429   +/-   ##
=================================================================
  Coverage                               79.8%   79.8%           
=================================================================
  Files                                    850     850           
  Lines                                  67854   67854           
  Branches                                7562    7558    -4     
=================================================================
+ Hits                                   54135   54144    +9     
+ Misses                                 13719   13710    -9     
Files with missing lines Coverage Δ
include/xrpl/core/JobQueue.h 90.9% <ø> (ø)

... and 3 files with indirect coverage changes

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 3e37424 to 00cf265 Compare February 27, 2026 18:39
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from de8f8a5 to 98ba7fc Compare February 27, 2026 18:39
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 00cf265 to e12ae19 Compare February 27, 2026 20:16
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch 2 times, most recently from bb62d9c to f7a0922 Compare February 27, 2026 23:18
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 199ed94 to 70f96cd Compare February 28, 2026 10:47
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from f7a0922 to 01d1b84 Compare February 28, 2026 10:48
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 70f96cd to ed9cf56 Compare February 28, 2026 11:38
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from 01d1b84 to c7752fe Compare February 28, 2026 11:39
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from ed9cf56 to 91daa1f Compare February 28, 2026 12:50
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from c7752fe to f4ed00e Compare February 28, 2026 12:50
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/migrate-test-code branch from 91daa1f to ddaa264 Compare February 28, 2026 13:47
pratikmankawde and others added 6 commits February 28, 2026 13:47
Delete the old Boost.Coroutine-based Coro class and all supporting
infrastructure, now that all callers have been migrated to the C++20
CoroTaskRunner API:

- Delete include/xrpl/core/Coro.ipp (entire file)
- Remove class Coro, Coro_create_t, postCoro() from JobQueue.h
- Remove the large comment block explaining old Coro lifecycle
- Remove boost::coroutine from cmake COMPONENTS and link targets
- Remove Boost::context from cmake find_dependency (was only needed
  by Boost.Coroutine)
- Remove BOOST_COROUTINES_NO_DEPRECATION_WARNING compile definition
- Remove boost::coroutine from conanfile.py requirements

This completes the Boost.Coroutine → C++20 coroutines migration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@pratikmankawde pratikmankawde force-pushed the pratik/std-coro/cleanup-boost-coroutine branch from f4ed00e to 5666d64 Compare February 28, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DraftRunCI Normally CI does not run on draft PRs. This opts in. StdCoroutineSwitch Boost to Std Coroutine Switch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant