Skip to content

reformulated SFINAE clauses checking key_type completeness#351

Merged
joaquintides merged 5 commits into
developfrom
fix/sfinae-incomplete
May 24, 2026
Merged

reformulated SFINAE clauses checking key_type completeness#351
joaquintides merged 5 commits into
developfrom
fix/sfinae-incomplete

Conversation

@joaquintides
Copy link
Copy Markdown
Member

emplace(K&& k, V&& v) overloads were SFINAE-protected for key_type move constructibility, additionally supplemented with a check for key_type completeness to make incomplete_tests pass. SFINAEing on type completeness for an incomplete type T and completing T later on is IFNDR, and GCC 16 detects this and emits a sfinae-incomplete warning.

Solved by transforming key_type move constructibility check into a dependent construct.

@joaquintides joaquintides requested a review from pdimov May 23, 2026 15:42
@joaquintides joaquintides changed the title replaced SFINAE clauses checking key_type completeness reformulated SFINAE clauses checking key_type completeness May 23, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.23%. Comparing base (7a59597) to head (2da4abc).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##           develop     #351   +/-   ##
========================================
  Coverage    98.23%   98.23%           
========================================
  Files          161      161           
  Lines        22247    22247           
========================================
  Hits         21855    21855           
  Misses         392      392           
Files with missing lines Coverage Δ
...de/boost/unordered/detail/foa/concurrent_table.hpp 99.47% <ø> (ø)
include/boost/unordered/detail/foa/core.hpp 99.54% <ø> (ø)
include/boost/unordered/detail/foa/table.hpp 100.00% <ø> (ø)
include/boost/unordered/detail/implementation.hpp 99.23% <ø> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7a59597...2da4abc. Read the comment docs.

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

@joaquintides joaquintides merged commit a67213f into develop May 24, 2026
265 of 270 checks passed
@joaquintides joaquintides deleted the fix/sfinae-incomplete branch May 24, 2026 10:18
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