-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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 12 pull requests #63120
Rollup of 12 pull requests #63120
Conversation
The `align_offset` method returns an `usize`, so using `add` makes more sense than using `offset`, which takes an `isize`.
They were resolved with modern hygiene, making this just a strange way to shadow lifetimes.
Declarations were already modernized, resulting in cases where a macro couldn't resolve it's own identifier.
Fixes rust-lang#52632 Existential types (soon to be 'impl trait' aliases) can either be delcared at a top-level crate/module scope, or within another item such as an fn. Previously, we were handling the second case incorrectly when recursively searching for defining usages - we would check children of the item, but not the item itself. This lead to us missing closures that consituted a defining use of the existential type, as their opaque type instantiations are stored in the TypeckTables of their parent function. This commit ensures that we explicitly visit the defining item itself, not just its children.
Co-Authored-By: Mazdak Farrokhzad <[email protected]>
I'm relatively certain that SWIG was only needed for LLDB which is no longer built, and I'm hoping we can remove the xz install to remove the reliance on `brew` for our build (which is another point of failure for flaky networks).
In testing 4-core machines on Azure the `realpath_works_tricky` test in the standard library is failing with "The directory name is invalid". In attempting to debug this test I was able to reproduce the failure locally on my machine, and after inspecing the test it I believe is exploiting Unix-specific behavior that seems to only sometimes work on Windows. Specifically the test basically executes: mkdir -p a/b mkdir -p a/d touch a/f ln -s a/b/c ../d/e ln -s a/d/e ../f and then asserts that `canonicalize("a/b/c")` and `canonicalize("a/d/e")` are equivalent to `a/f`. On Windows however the first symlink is a "directory symlink" and the second is a file symlink. In both cases, though, they're pointing to files. This means that for whatever reason locally and on the 4-core environment the call to `canonicalize` is failing. On Azure today it seems to be passing, and I'm not entirely sure why. I'm sort of presuming that there's some sort of internals going on here where there's some global Windows setting which makes symlinks behavior more unix-like and ignore the directory hint. In any case this should keep the test working and also fixes the test locally for me.
Remove mentions of removed `offset_to` method from `align_offset` docs The `offset_to` method was deleted in rust-lang#52814. The replacement for the removed method is `wrapping_offset_from`. However, neither method takes an `usize` as argument, so I don't think that it makes sense to mention them.
…ead, r=estebank Syntax: Recover on `for ( $pat in $expr ) $block` Fixes rust-lang#62724 by adding some recovery: ``` error: unexpected closing `)` --> $DIR/recover-for-loop-parens-around-head.rs:10:23 | LL | for ( elem in vec ) { | --------------^ | | | opening `(` | help: remove parenthesis in `for` loop: `elem in vec` ``` The last 2 commits are drive-by cleanups. r? @estebank
…hton Impl Debug for Chars Closes rust-lang#62947, making `Debug` more consistent with the struct's output and purpose Let me know any feedback!
…ewjasper Make `#![feature(bind_by_move_pattern_guards)]` sound without `#[feature(nll)]` Implements rust-lang#15287 (comment). Fixes rust-lang#31287 Fixes rust-lang#27282 r? @matthewjasper
…petrochenkov Make generic parameters always use modern hygiene * E0263 (lifetime parameter declared twice in the same scope) now compares modernized identifiers. * Const parameters are now resolved with modern hygiene. Closes rust-lang#58307 Closes rust-lang#60746 Closes rust-lang#61574 Closes rust-lang#62433
Add very simple edition check to tidy. Fixes rust-lang#58099.
…r=cramertj Properly check the defining scope of existential types Fixes rust-lang#52632 Existential types (soon to be 'impl trait' aliases) can either be delcared at a top-level crate/module scope, or within another item such as an fn. Previously, we were handling the second case incorrectly when recursively searching for defining usages - we would check children of the item, but not the item itself. This lead to us missing closures that consituted a defining use of the existential type, as their opaque type instantiations are stored in the TypeckTables of their parent function. This commit ensures that we explicitly visit the defining item itself, not just its children.
… r=varkor Add tests for some `existential_type` ICEs Fix rust-lang#53678 Fix rust-lang#60407 Fix rust-lang#60564 rust-lang#54899 will need some minimization before it can be added. r? @varkor
vxworks: Remove Linux-specific comments. It looks like the VxWorks fork inadvertently left in some Linux-specific workaround comments in `libstd`, these can be removed. Came up when looking into rust-lang#62516 CC: @BaoshanPang
…troalbini ci: Skip installing SWIG/xz on OSX I'm relatively certain that SWIG was only needed for LLDB which is no longer built, and I'm hoping we can remove the xz install to remove the reliance on `brew` for our build (which is another point of failure for flaky networks).
…ievink Add links to None in Option doc r? @jonas-schievink
…t, r=sfackler std: Fix a failing `fs` test on Windows In testing 4-core machines on Azure the `realpath_works_tricky` test in the standard library is failing with "The directory name is invalid". In attempting to debug this test I was able to reproduce the failure locally on my machine, and after inspecing the test it I believe is exploiting Unix-specific behavior that seems to only sometimes work on Windows. Specifically the test basically executes: mkdir -p a/b mkdir -p a/d touch a/f ln -s a/b/c ../d/e ln -s a/d/e ../f and then asserts that `canonicalize("a/b/c")` and `canonicalize("a/d/e")` are equivalent to `a/f`. On Windows however the first symlink is a "directory symlink" and the second is a file symlink. In both cases, though, they're pointing to files. This means that for whatever reason locally and on the 4-core environment the call to `canonicalize` is failing. On Azure today it seems to be passing, and I'm not entirely sure why. I'm sort of presuming that there's some sort of internals going on here where there's some global Windows setting which makes symlinks behavior more unix-like and ignore the directory hint. In any case this should keep the test working and also fixes the test locally for me. It's also worth pointing out that this test was made Windows compatible in rust-lang#31360, a pretty ancient PR at this point.
@bors r+ p=12 rollup=never |
📌 Commit b093fa9 has been approved by |
@bors p=200 |
⌛ Testing commit b093fa9 with merge 6d72deb1bfbbf51f95ff52c5b7f93a13675fffd7... |
💔 Test failed - checks-azure |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Successful merges:
offset_to
method fromalign_offset
docs #61965 (Remove mentions of removedoffset_to
method fromalign_offset
docs)for ( $pat in $expr ) $block
#62928 (Syntax: Recover onfor ( $pat in $expr ) $block
)#![feature(bind_by_move_pattern_guards)]
sound without#[feature(nll)]
#63059 (Make#![feature(bind_by_move_pattern_guards)]
sound without#[feature(nll)]
)existential_type
ICEs #63096 (Add tests for someexistential_type
ICEs)fs
test on Windows #63109 (std: Fix a failingfs
test on Windows)Failed merges:
r? @ghost