Skip to content

Conversation

Oct0bass
Copy link

@Oct0bass Oct0bass commented Aug 4, 2025

If you want to submit an unfinished piece of work in order to get comments and discuss, please mark the pull request as a draft and ping the repository maintainer.

Please address only one topic or issue per pull request! Many small PRs are much easier to review and merge than one large PR.

Before merging, all changes and new functionality should be marked in the CHANGELOG file, but feel free to just leave your CHANGELOG notes in the PR description, to avoid merge conflicts with other requests modifying that file. The maintainer will add these CHANGELOG notes for you if you do so.

Before considering your pull request ready for review and merging make sure that all of the following are completed (please keep the clecklist as part of your PR):

  • The code is properly formatted and commented.
  • Substantial new functionality is documented within the docs.
  • All new functionality is tested.
  • All of the automated tests on github pass.
  • We recently started enforcing formatting checks. If formatting issues are reported in the new code you have written, please correct them. There will be plenty of old code that is flagged as we are slowly transitioning to enforced formatting. Please do not worry about or address older formatting issues -- keep your PR just focused on your planned contribution.

If possible, keep your git history not too wild (rebase and squash commits, keep commits small and semantically separated) so that review is easier.

Fix #491 by checking bounds in _apply! and _apply_inv!, using the new throw messages added in #519.

Copy link

codecov bot commented Aug 4, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (master@31ab0ad). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #571   +/-   ##
=========================================
  Coverage          ?   84.72%           
=========================================
  Files             ?      106           
  Lines             ?     6421           
  Branches          ?        0           
=========================================
  Hits              ?     5440           
  Misses            ?      981           
  Partials          ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

Copy link
Member

@Krastanov Krastanov left a comment

Choose a reason for hiding this comment

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

Thank you for this submission, improving on this can be quite valuable!

I think this probably would also need appropriate use of Base.@propagate_inbounds for @inbounds to work correctly.

And tests for throws/no-throws with/without @inbounds to make sure this is actually working.

I will mark it as a draft for now, but if you get back to it feel free to mark it again as ready for review. Thanks again!

@Krastanov Krastanov marked this pull request as draft August 27, 2025 21:39
@Krastanov Krastanov changed the title Fix #491 bounds checking in apply! Aug 27, 2025
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.

raise "out of bounds" error for operations that act on qubits beyond what exists in a tableau
2 participants