Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UB fixes #86

Merged
merged 4 commits into from Dec 25, 2022
Merged

UB fixes #86

merged 4 commits into from Dec 25, 2022

Commits on Dec 25, 2022

  1. Re-enable stacked borrows in CI

    Also improve performance of some tests in Miri
    clubby789 authored and vorner committed Dec 25, 2022
    Configuration menu
    Copy the full SHA
    4793409 View commit details
    Browse the repository at this point in the history
  2. Avoid stacked-borrows violations

    Turn into a pointer without re-borrowing.
    clubby789 authored and vorner committed Dec 25, 2022
    Configuration menu
    Copy the full SHA
    eaeae27 View commit details
    Browse the repository at this point in the history
  3. Future-proof as_ptr impls

    Introduce a bit of future proof code to properly "close the brackets"
    around some operations (todays there are no-ops).
    
    Provide a bit of documentation for it, explaining the gymnastics there.
    vorner committed Dec 25, 2022
    Configuration menu
    Copy the full SHA
    fd04e20 View commit details
    Browse the repository at this point in the history
  4. Store the debt list as pointers, not refs

    The idea is that the whole list (tail of the list) is synchronized by
    the access of the head. Nevertheless, we fill in the next pointer before
    that and having a reference is formally considered a read of the
    destination. Even though we _use_ the reference only after the
    synchronization point, we have it before and MIRI considers it a data
    race.
    
    Using a pointer is fine, as dereferencing is manual and considered read
    only at that point.
    vorner committed Dec 25, 2022
    Configuration menu
    Copy the full SHA
    97a65cd View commit details
    Browse the repository at this point in the history