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

Restore original implementation of Vec::retain #67300

Merged
merged 1 commit into from
Dec 15, 2019

Commits on Dec 14, 2019

  1. Restore original implementation of Vec::retain

    This PR reverts rust-lang#48065, which aimed to optimize `Vec::retain` by
    making use of `Vec::drain_filter`. Unfortunately at that time,
    `drain_filter` was unsound.
    
    The soundness hole in `Vec::drain_filter` was fixed in rust-lang#61224 by
    guaranteeing that cleanup logic runs via a nested `Drop`, even in
    the event of a panic. Implementing this nested drop affects codegen
    (apparently?) and results in slower code.
    
    Fixes rust-lang#65970
    aloucks committed Dec 14, 2019
    Configuration menu
    Copy the full SHA
    7ea6c46 View commit details
    Browse the repository at this point in the history