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

Rollup of 3 pull requests #118823

Merged
merged 7 commits into from
Dec 11, 2023
Merged

Rollup of 3 pull requests #118823

merged 7 commits into from
Dec 11, 2023

Commits on Dec 10, 2023

  1. Configuration menu
    Copy the full SHA
    f481596 View commit details
    Browse the repository at this point in the history
  2. Remove an allocation in min_stack

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    af8dfde View commit details
    Browse the repository at this point in the history
  3. rustdoc-search: do not treat associated type names as types

    Before: http://notriddle.com/rustdoc-html-demo-6/tor-before/tor_config/
    
    After: http://notriddle.com/rustdoc-html-demo-6/tor-after/tor_config/
    
    Profile: http://notriddle.com/rustdoc-html-demo-6/tor-profile/
    
    As a bit of background information: in type-based queries, a type
    name that does not exist gets treated as a generic type variable.
    
    This causes a counterintuitive behavior in the `tor_config` crate,
    which has a trait with an associated type variable called `T`.
    
    This isn't a searchable concrete type, but its name still gets stored
    in the typeNameIdMap, as a convenient way to intern its name.
    notriddle committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    92b84f8 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2023

  1. Configuration menu
    Copy the full SHA
    7162cb9 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#118802 - ehuss:remove-edition-preview, r=Ta…

    …KO8Ki
    
    Remove edition umbrella features.
    
    In the 2018 edition, there was an "umbrella" feature `#[feature(rust_2018_preview)]` which was used to enable several other features at once. This umbrella mechanism was not used in the 2021 edition and likely will not be used in 2024 either. During 2018 users reported that setting the feature was awkward, especially since they already needed to opt-in via the edition mechanism.
    
    This PR removes this mechanism because I believe it will not be used (and will clean up and simplify the code). I believe that there are better ways to handle features and editions. In short:
    
    - For highly experimental features, that may or may not be involved in an edition, they can implement regular feature gates like `tcx.features().my_feature`.
    - For experimental features that *might* be involved in an edition, they should implement gates with `tcx.features().my_feature && span.at_least_rust_20xx()`. This requires the user to still specify `#![feature(my_feature)]`, to avoid disrupting testing of other edition features which are ready and have been accepted within the edition.
    - For experimental features that have graduated to definitely be part of an edition, they should implement gates with `tcx.features().my_feature || span.at_least_rust_20xx()`, or just remove the feature check altogether and just check `span.at_least_rust_20xx()`.
    - For relatively simple changes, they can skip the whole feature gating thing and just check `span.at_least_rust_20xx()`, and rely on the instability of the edition itself (which requires `-Zunstable-options`) to gate it.
    
    I am working on documenting all of this in the rustc-dev-guide.
    GuillaumeGomez authored Dec 11, 2023
    Configuration menu
    Copy the full SHA
    54d6bde View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#118807 - SUPERCILEX:allo, r=the8472

    Remove an allocation in min_stack
    GuillaumeGomez authored Dec 11, 2023
    Configuration menu
    Copy the full SHA
    f712d73 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#118812 - notriddle:notriddle/assoc-name-int…

    …ern, r=GuillaumeGomez
    
    rustdoc-search: do not treat associated type names as types
    
    [Before](http://notriddle.com/rustdoc-html-demo-6/tor-before/tor_config/list_builder/trait.DirectDefaultEmptyListBuilderAccessors.html?search=DirectDefaultEmptyListBuilderAccessors%3CT%3DT%3E%20-%3E%20Vec%3CT%3E#associatedtype.T)
    
    [After](http://notriddle.com/rustdoc-html-demo-6/tor-after/tor_config/list_builder/trait.DirectDefaultEmptyListBuilderAccessors.html?search=DirectDefaultEmptyListBuilderAccessors%3CT%3DT%3E%20-%3E%20Vec%3CT%3E#associatedtype.T)
    
    [Profile](http://notriddle.com/rustdoc-html-demo-6/tor-profile/index.html)
    
    As a bit of background information: in type-based queries, a type name that does not exist gets treated as a generic type variable.
    
    This causes a counterintuitive behavior in the `tor_config` crate, which has a trait with an associated type variable called `T`.
    
    This isn't a searchable concrete type, but its name still gets stored in the typeNameIdMap, as a convenient way to intern its name.
    
    (The second commit is a mostly unrelated bugfix.)
    GuillaumeGomez authored Dec 11, 2023
    Configuration menu
    Copy the full SHA
    c89672e View commit details
    Browse the repository at this point in the history