Skip to content

Conversation

@knoepfel
Copy link
Member

@knoepfel knoepfel commented Nov 5, 2025

This PR implements the behaviors expected of a handle as discussed here. The critical item is that a constructed handle object is always valid in Phlex—there is no need for default-constructed handles as a handle always provides access to one (and only one) data product.

@codecov
Copy link

codecov bot commented Nov 5, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@            Coverage Diff             @@
##             main      #96      +/-   ##
==========================================
+ Coverage   81.72%   81.91%   +0.19%     
==========================================
  Files         118      118              
  Lines        2079     2074       -5     
  Branches      336      336              
==========================================
  Hits         1699     1699              
+ Misses        246      243       -3     
+ Partials      134      132       -2     
Flag Coverage Δ
unittests 81.91% <100.00%> (+0.19%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
phlex/core/glue.hpp 98.27% <ø> (ø)
phlex/core/input_arguments.hpp 100.00% <ø> (ø)
phlex/core/message.hpp 94.44% <ø> (ø)
phlex/model/handle.hpp 100.00% <100.00%> (ø)
phlex/model/products.cpp 100.00% <100.00%> (ø)
phlex/model/products.hpp 90.00% <100.00%> (ø)

... and 2 files with indirect coverage changes


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 db46635...2a956fb. Read the comment docs.

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

@knoepfel knoepfel requested review from pcanal and wlav November 5, 2025 15:31
@knoepfel knoepfel force-pushed the handles-always-valid branch from fa6b302 to 0e7bc1e Compare November 6, 2025 22:28
@knoepfel knoepfel force-pushed the handles-always-valid branch 2 times, most recently from 51e36ed to a2ff1c6 Compare November 10, 2025 21:44
@knoepfel knoepfel force-pushed the handles-always-valid branch from a2ff1c6 to b513dd1 Compare November 11, 2025 15:26
@knoepfel knoepfel added this to the Prototype 0.1 milestone Nov 12, 2025
@knoepfel
Copy link
Member Author

@pcanal, do you have any more comments on this PR?

@knoepfel knoepfel self-assigned this Nov 12, 2025
@knoepfel knoepfel force-pushed the handles-always-valid branch 2 times, most recently from b9b19b0 to 74acc1a Compare November 12, 2025 21:36
@knoepfel knoepfel force-pushed the handles-always-valid branch from f46b07a to ce820b1 Compare November 13, 2025 14:37
@knoepfel
Copy link
Member Author

@pcanal, I believe I've addressed the issues you've raised. Is there anything else I should address before approving this PR?

Includes:

- Restricting handle template argument types and how they are selected
- Removing unnecessary constructors
- Explicit tests of handle comparisons
- Specifications of handle's special member functions
Copy link
Contributor

@pcanal pcanal left a comment

Choose a reason for hiding this comment

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

LGTM.

@knoepfel knoepfel merged commit 7106b4d into Framework-R-D:main Nov 13, 2025
22 checks passed
@knoepfel knoepfel deleted the handles-always-valid branch November 13, 2025 19:14
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.

2 participants