Skip to content

Conversation

peterfpeterson
Copy link
Member

@peterfpeterson peterfpeterson commented Dec 27, 2024

As part of the modernization work laid out in #37875, this migrates more of the reflectometry interface from boost::optional to std::optional.

The things being intentionally skipped use the following classes as optional:

  • string which is involved in the boost::optional<boost::optional<string>> and breaks tests
  • double which prompts changes in the sip bindings
  • Item
  • LookupCriteriaError
  • LookupRow
  • ProcessingInstructions
  • Row
  • RowLocation
  • Subtree

To test:

This is a refactor so all tests should pass, but poking around with the ISIS reflectometry GUI is a good idea.

This does not require release notes.


Reviewer

Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.

Code Review

  • Is the code of an acceptable quality?
  • Does the code conform to the coding standards?
  • Are the unit tests small and test the class in isolation?
  • If there is GUI work does it follow the GUI standards?
  • If there are changes in the release notes then do they describe the changes appropriately?
  • Do the release notes conform to the release notes guide?

Functional Tests

  • Do changes function as described? Add comments below that describe the tests performed?
  • Do the changes handle unexpected situations, e.g. bad input?
  • Has the relevant (user and developer) documentation been added/updated?

Does everything look good? Mark the review as Approve. A member of @mantidproject/gatekeepers will take care of it.

Gatekeeper

If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.

@peterfpeterson peterfpeterson force-pushed the 37875_boost_optional branch 2 times, most recently from 821ec70 to f121bc3 Compare December 30, 2024 13:30
@peterfpeterson peterfpeterson added Reflectometry Issues and pull requests related to reflectometry Maintenance Unassigned issues to be addressed in the next maintenance period. labels Dec 30, 2024
@peterfpeterson peterfpeterson added this to the Release 6.12 milestone Dec 30, 2024
@peterfpeterson peterfpeterson force-pushed the 37875_boost_optional branch 6 times, most recently from a11db32 to 640da16 Compare January 6, 2025 15:14
@rbauststfc rbauststfc modified the milestones: Release 6.12, Release 6.13 Jan 6, 2025
@rbauststfc rbauststfc self-assigned this Jan 7, 2025
@peterfpeterson peterfpeterson marked this pull request as ready for review January 7, 2025 13:36
@peterfpeterson peterfpeterson force-pushed the 37875_boost_optional branch 2 times, most recently from 6aaba92 to 2b2d1a2 Compare January 10, 2025 12:43
Copy link
Contributor

@rbauststfc rbauststfc left a comment

Choose a reason for hiding this comment

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

Thanks very much for picking this one up for us! I've not done any functional testing yet, but the code changes are looking good to me and I can't see anything obvious that should be a problem (particularly given that all the tests are passing).

There was just one small thing I had a question about before I start testing the GUI.

@rbauststfc
Copy link
Contributor

Sorry for the delay on the functional testing. I've tested as many of the GUI features as I can, including reducing data manually and using the auto-processing feature, and it's all looking good to me. I can't check live data properly because we're out of cycle, but I've clicked the button to start it up and it displays the message we would expect to see at the moment. I'm sure there won't be any issues with it given the nature of these changes, and we'll still have a chance to test it after this has gone into main.

Thanks again for picking this up for us @peterfpeterson! I will hold off clicking approve until after code freeze to make sure it isn't merged in too early.

@MialLewis, just tagging you in this so that you're aware of it and the wider issue that it's linked to, as there will be more work needed on this in future.

@github-actions github-actions bot added the Has Conflicts Used by the bot to label pull requests that have conflicts label Jan 16, 2025
Copy link

👋 Hi, @peterfpeterson,

Conflicts have been detected against the base branch. Please rebase your branch against the base branch.

@peterfpeterson peterfpeterson force-pushed the 37875_boost_optional branch 3 times, most recently from 6306a59 to 0db8c77 Compare January 17, 2025 15:09
@github-actions github-actions bot removed the Has Conflicts Used by the bot to label pull requests that have conflicts label Jan 17, 2025
@SilkeSchomann SilkeSchomann self-assigned this Jan 20, 2025
@SilkeSchomann SilkeSchomann merged commit 29a826d into mantidproject:main Jan 20, 2025
10 checks passed
@peterfpeterson peterfpeterson deleted the 37875_boost_optional branch January 21, 2025 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Maintenance Unassigned issues to be addressed in the next maintenance period. Reflectometry Issues and pull requests related to reflectometry
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants