Skip to content

fix: remove 6 stale or deprecated dependencies#526

Open
Becheler wants to merge 7 commits into
boostorg:developfrom
Becheler:fix/dependency-reduction
Open

fix: remove 6 stale or deprecated dependencies#526
Becheler wants to merge 7 commits into
boostorg:developfrom
Becheler:fix/dependency-reduction

Conversation

@Becheler

@Becheler Becheler commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Reducing boost dependencies with C++ modernization. It's pure hygiene, not user-facing, breaks no API.

Before submitting

  • This PR targets the develop branch.
  • I searched for an existing PR or issue covering the same change.
  • My contribution is licensed under the Boost Software License 1.0.

Type of change

  • Bug fix
  • New feature or API addition
  • Refactor (no behavior change)
  • Documentation
  • Build, CI, or tooling
  • Other (specify below)

Does this PR introduce a breaking change?

  • Yes (describe migration impact below)
  • No

What this PR does

A few commits of hygiene:

  1. Remove Boost.Conversion. It was used only in DFS for implicit_cast, when copy-initialization (Vertex u = expr;) requires an implicit conversion exercising the exact same constraint boost::implicit_cast enforces.
  2. Remove stale boost.bind dependency (not use anywhere)
  3. Remove stale boost.typeof dependency (included but not used)
  4. Remove boost.move dependency
  5. Remove boost.foreach dependency
  6. Remove boost.numeric_conversion dependency

Motivation

Users complained they need to drag the entire Boost ecosystem to use Boost.Graph. Meanwhile, many dependencies were pulled in older C++ versions for utilities that C++14 now provides.

Testing

Checklist

  • Existing tests pass (b2 in the test/ directory).
  • New behavior is covered by a test, or this is a docs / build / refactor change.
  • Documentation was updated if user-facing behavior changed.
  • No new compiler warnings on the platforms I built against.

@Becheler Becheler self-assigned this Jul 15, 2026
@Becheler Becheler added the technical debt Code that works but needs refactoring, cleanup, or modernization. Not user-facing. label Jul 15, 2026
@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

Boost dependency footprint vs develop (auto-generated).
PR run 29431837644 vs develop run 29397385834 (369326a022).

Header-inclusion weights (graph files pulling each direct dependency in):

Dependency develop PR Δ
foreach 3 0 -3
conversion 1 0 -1
move 1 0 -1
numeric~conversion 1 0 -1
typeof 1 0 -1

Transitive Boost modules: 70 → 69 (-1)

  • removed: foreach

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

Compiler-warning counts vs develop (auto-generated).
PR run 29431838713 vs develop run 29397386211 (369326a022).

Job Baseline After Delta
macos (clang, 14) 4 4 0
macos (clang, 17) 4 4 0
macos (clang, 20) 4 4 0
ubuntu (clang-19, 14) 4 4 0
ubuntu (clang-19, 17) 4 4 0
ubuntu (clang-19, 20) 4 4 0
ubuntu (clang-19, 23) 4 4 0
ubuntu (gcc-14, 14) 10 10 0
ubuntu (gcc-14, 17) 10 10 0
ubuntu (gcc-14, 20) 10 10 0
ubuntu (gcc-14, 23) 10 10 0
windows_msvc_14_3 (msvc-14.3) 971 971 0

@Becheler Becheler force-pushed the fix/dependency-reduction branch from 5402bce to 4c1dad0 Compare July 15, 2026 08:26
@Becheler Becheler force-pushed the fix/dependency-reduction branch from 88742ec to 3fc6574 Compare July 15, 2026 09:34
@Becheler Becheler marked this pull request as ready for review July 15, 2026 10:19
@Becheler Becheler requested a review from jeremy-murphy as a code owner July 15, 2026 10:19

@jeremy-murphy jeremy-murphy left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome. Just need to remove the dependences from the CMake configuration too.

@Becheler Becheler requested a review from jeremy-murphy July 15, 2026 16:36
@Becheler Becheler changed the title fix: remove dep to boost.conversion as implicit_cast was redundant fix: remove 6 stale or deprecated dependencies Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

technical debt Code that works but needs refactoring, cleanup, or modernization. Not user-facing.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants