-
Notifications
You must be signed in to change notification settings - Fork 12.4k
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 11 pull requests #81390
Rollup of 11 pull requests #81390
Commits on Jan 10, 2021
-
Print failure message on all tests that should panic, but don't
This already happens with should_panic tests without an expected message. This commit fixes should_panic tests with an expected message to have the same behavior.
Configuration menu - View commit details
-
Copy full SHA for b43aa96 - Browse repository at this point
Copy the full SHA b43aa96View commit details -
Add
unwrap_unchecked()
methods forOption
andResult
In particular: - `unwrap_unchecked()` for `Option`. - `unwrap_unchecked()` and `unwrap_err_unchecked()` for `Result`. These complement other `*_unchecked()` methods in `core` etc. Currently there are a couple of places it may be used inside rustc (`LinkedList`, `BTree`). It is also easy to find other repositories with similar functionality. Fixes #48278. Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Configuration menu - View commit details
-
Copy full SHA for 679f6f3 - Browse repository at this point
Copy the full SHA 679f6f3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 76299b3 - Browse repository at this point
Copy the full SHA 76299b3View commit details
Commits on Jan 12, 2021
-
rustc: Stabilize
-Zrun-dsymutil
as-Csplit-debuginfo
This commit adds a new stable codegen option to rustc, `-Csplit-debuginfo`. The old `-Zrun-dsymutil` flag is deleted and now subsumed by this stable flag. Additionally `-Zsplit-dwarf` is also subsumed by this flag but still requires `-Zunstable-options` to actually activate. The `-Csplit-debuginfo` flag takes one of three values: * `off` - This indicates that split-debuginfo from the final artifact is not desired. This is not supported on Windows and is the default on Unix platforms except macOS. On macOS this means that `dsymutil` is not executed. * `packed` - This means that debuginfo is desired in one location separate from the main executable. This is the default on Windows (`*.pdb`) and macOS (`*.dSYM`). On other Unix platforms this subsumes `-Zsplit-dwarf=single` and produces a `*.dwp` file. * `unpacked` - This means that debuginfo will be roughly equivalent to object files, meaning that it's throughout the build directory rather than in one location (often the fastest for local development). This is not the default on any platform and is not supported on Windows. Each target can indicate its own default preference for how debuginfo is handled. Almost all platforms default to `off` except for Windows and macOS which default to `packed` for historical reasons. Some equivalencies for previous unstable flags with the new flags are: * `-Zrun-dsymutil=yes` -> `-Csplit-debuginfo=packed` * `-Zrun-dsymutil=no` -> `-Csplit-debuginfo=unpacked` * `-Zsplit-dwarf=single` -> `-Csplit-debuginfo=packed` * `-Zsplit-dwarf=split` -> `-Csplit-debuginfo=unpacked` Note that `-Csplit-debuginfo` still requires `-Zunstable-options` for non-macOS platforms since split-dwarf support was *just* implemented in rustc. There's some more rationale listed on #79361, but the main gist of the motivation for this commit is that `dsymutil` can take quite a long time to execute in debug builds and provides little benefit. This means that incremental compile times appear that much worse on macOS because the compiler is constantly running `dsymutil` over every single binary it produces during `cargo build` (even build scripts!). Ideally rustc would switch to not running `dsymutil` by default, but that's a problem left to get tackled another day. Closes #79361
Configuration menu - View commit details
-
Copy full SHA for f97c7a5 - Browse repository at this point
Copy the full SHA f97c7a5View commit details
Commits on Jan 18, 2021
-
Reset LateContext enclosing body in nested items
Prevents LateContext::maybe_typeck_results() from returning data in a nested item without a body. Consequently, LateContext::qpath_res is less likely to ICE when called in a nested item. Would have prevented rust-lang/rust-clippy#4545, presumably.
Configuration menu - View commit details
-
Copy full SHA for 63a1eee - Browse repository at this point
Copy the full SHA 63a1eeeView commit details -
Query for TypeckResults in LateContext::qpath_res
Actually fulfills the documented guarantees.
Configuration menu - View commit details
-
Copy full SHA for 21fb586 - Browse repository at this point
Copy the full SHA 21fb586View commit details -
Configuration menu - View commit details
-
Copy full SHA for def0e9b - Browse repository at this point
Copy the full SHA def0e9bView commit details -
Move test to
src/test/ui/consts/
Apparently `tidy` has a hard limit of 2830 tests in the `src/test/ui/issues/` directory, and this test hit that limit. `src/test/ui/consts/` is probably a better location anyway.
Configuration menu - View commit details
-
Copy full SHA for a7b7a43 - Browse repository at this point
Copy the full SHA a7b7a43View commit details -
Configuration menu - View commit details
-
Copy full SHA for eaba3da - Browse repository at this point
Copy the full SHA eaba3daView commit details
Commits on Jan 22, 2021
-
Make more traits of the From/Into family diagnostic items
Following traits are now diagnostic items: - `From` (unchanged) - `Into` - `TryFrom` - `TryInto` This also adds symbols for those items: - `into_trait` - `try_from_trait` - `try_into_trait`
Configuration menu - View commit details
-
Copy full SHA for e25959b - Browse repository at this point
Copy the full SHA e25959bView commit details
Commits on Jan 23, 2021
-
Use UFCS instead of method calls in
derive(Debug)
. See issue 81211 ……for discussion.
Configuration menu - View commit details
-
Copy full SHA for 3a4786d - Browse repository at this point
Copy the full SHA 3a4786dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 78e57d3 - Browse repository at this point
Copy the full SHA 78e57d3View commit details -
Test exploring the interactions between all of the different kinds of…
… method collisions I could imagine. The different impls are all guarded by cfg-flags, and the revisions could be used to cover the full power-set of combinations. (I only included 20 of the possible 32 cases here; the null-set is not interesting, and the remaining 11 all yielded ambiguous method resolution errors which did not mix well with this testing strategy; I'm not trying to check UI for the resolution diagnostics; I'm trying to create checkpoint of current resolution semantics when compilation succeeds.)
Configuration menu - View commit details
-
Copy full SHA for d78f0a1 - Browse repository at this point
Copy the full SHA d78f0a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for aa8fdad - Browse repository at this point
Copy the full SHA aa8fdadView commit details
Commits on Jan 24, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 6d4e03a - Browse repository at this point
Copy the full SHA 6d4e03aView commit details
Commits on Jan 25, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 2be1993 - Browse repository at this point
Copy the full SHA 2be1993View commit details -
Point to span of upvar making closure FnMut
Add expected error Add comment Tweak comment wording Fix after rebase to updated master Fix after rebase to updated master Distinguish mutation in normal and move closures Tweak error message Fix error message for nested closures Refactor code showing mutated upvar in closure Remove debug assert B
Configuration menu - View commit details
-
Copy full SHA for 26b4baf - Browse repository at this point
Copy the full SHA 26b4bafView commit details -
Configuration menu - View commit details
-
Copy full SHA for 088c89d - Browse repository at this point
Copy the full SHA 088c89dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 042facb - Browse repository at this point
Copy the full SHA 042facbView commit details -
Link the reference about undefined behavior
Suggested-by: Mara Bos <m-ou.se@m-ou.se> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Configuration menu - View commit details
-
Copy full SHA for 0140dac - Browse repository at this point
Copy the full SHA 0140dacView commit details -
Configuration menu - View commit details
-
Copy full SHA for 01250fc - Browse repository at this point
Copy the full SHA 01250fcView commit details -
Blessed change to output of flaky test.
See issue 81296. I hope to have a PR up fixing *that* soon after this one.
Configuration menu - View commit details
-
Copy full SHA for 24149d7 - Browse repository at this point
Copy the full SHA 24149d7View commit details -
Rollup merge of #79570 - alexcrichton:split-debuginfo, r=bjorn3
rustc: Stabilize `-Zrun-dsymutil` as `-Csplit-debuginfo` This commit adds a new stable codegen option to rustc, `-Csplit-debuginfo`. The old `-Zrun-dsymutil` flag is deleted and now subsumed by this stable flag. Additionally `-Zsplit-dwarf` is also subsumed by this flag but still requires `-Zunstable-options` to actually activate. The `-Csplit-debuginfo` flag takes one of three values: * `off` - This indicates that split-debuginfo from the final artifact is not desired. This is not supported on Windows and is the default on Unix platforms except macOS. On macOS this means that `dsymutil` is not executed. * `packed` - This means that debuginfo is desired in one location separate from the main executable. This is the default on Windows (`*.pdb`) and macOS (`*.dSYM`). On other Unix platforms this subsumes `-Zsplit-dwarf=single` and produces a `*.dwp` file. * `unpacked` - This means that debuginfo will be roughly equivalent to object files, meaning that it's throughout the build directory rather than in one location (often the fastest for local development). This is not the default on any platform and is not supported on Windows. Each target can indicate its own default preference for how debuginfo is handled. Almost all platforms default to `off` except for Windows and macOS which default to `packed` for historical reasons. Some equivalencies for previous unstable flags with the new flags are: * `-Zrun-dsymutil=yes` -> `-Csplit-debuginfo=packed` * `-Zrun-dsymutil=no` -> `-Csplit-debuginfo=unpacked` * `-Zsplit-dwarf=single` -> `-Csplit-debuginfo=packed` * `-Zsplit-dwarf=split` -> `-Csplit-debuginfo=unpacked` Note that `-Csplit-debuginfo` still requires `-Zunstable-options` for non-macOS platforms since split-dwarf support was *just* implemented in rustc. There's some more rationale listed on #79361, but the main gist of the motivation for this commit is that `dsymutil` can take quite a long time to execute in debug builds and provides little benefit. This means that incremental compile times appear that much worse on macOS because the compiler is constantly running `dsymutil` over every single binary it produces during `cargo build` (even build scripts!). Ideally rustc would switch to not running `dsymutil` by default, but that's a problem left to get tackled another day. Closes #79361
Configuration menu - View commit details
-
Copy full SHA for 02291a1 - Browse repository at this point
Copy the full SHA 02291a1View commit details -
Rollup merge of #80868 - johanngan:should-panic-msg-with-expected, r=…
…m-ou-se Print failure message on all tests that should panic, but don't Fixes #80861. Tests with the `#[should_panic]` attribute should always print a failure message if no panic occurs, regardless of whether or not an `expected` panic message is specified.
Configuration menu - View commit details
-
Copy full SHA for 16983d9 - Browse repository at this point
Copy the full SHA 16983d9View commit details -
Rollup merge of #80876 - ojeda:option-result-unwrap_unchecked, r=m-ou-se
Add `unwrap_unchecked()` methods for `Option` and `Result` In particular: - `unwrap_unchecked()` for `Option`. - `unwrap_unchecked()` and `unwrap_err_unchecked()` for `Result`. These complement other `*_unchecked()` methods in `core` etc. Currently there are a couple of places it may be used inside rustc (`LinkedList`, `BTree`). It is also easy to find other repositories with similar functionality. Fixes #48278.
Configuration menu - View commit details
-
Copy full SHA for fb253d8 - Browse repository at this point
Copy the full SHA fb253d8View commit details -
Rollup merge of #80900 - camelid:readpointerasbytes-ice, r=oli-obk
Fix ICE with `ReadPointerAsBytes` validation error Fixes #79690. r? ``@oli-obk``
Configuration menu - View commit details
-
Copy full SHA for 590e7a1 - Browse repository at this point
Copy the full SHA 590e7a1View commit details -
Rollup merge of #81158 - 1000teslas:issue-80313-fix, r=Aaron1011
Point to span of upvar making closure FnMut For #80313.
Configuration menu - View commit details
-
Copy full SHA for 018ac7c - Browse repository at this point
Copy the full SHA 018ac7cView commit details -
Rollup merge of #81176 - camsteffen:qpath-res, r=oli-obk
Improve safety of `LateContext::qpath_res` This is my first rustc code change, inspired by hacking on clippy! The first change is to clear cached `TypeckResults` from `LateContext` when visiting a nested item. I took a hint from [here](https://github.com/rust-lang/rust/blob/5e91c4ecc09312d8b63d250a432b0f3ef83f1df7/compiler/rustc_privacy/src/lib.rs#L1300). Clippy has a `qpath_res` util function to avoid a possible ICE in `LateContext::qpath_res`. But the docs of `LateContext::qpath_res` promise no ICE. So this updates the `LateContext` method to keep its promises, and removes the util function. Related: rust-lang/rust-clippy#4545 CC `@eddyb` since you've done related work CC `@flip1995` FYI
Configuration menu - View commit details
-
Copy full SHA for 8e8891f - Browse repository at this point
Copy the full SHA 8e8891fView commit details -
Rollup merge of #81195 - estebank:suggest-bound-on-trait-with-params,…
… r=oli-obk Account for generics when suggesting bound Fix #81175.
Configuration menu - View commit details
-
Copy full SHA for daaebcc - Browse repository at this point
Copy the full SHA daaebccView commit details -
Rollup merge of #81277 - flip1995:from_diag_items, r=matthewjasper
Make more traits of the From/Into family diagnostic items Following traits are now diagnostic items: - `From` (unchanged) - `Into` - `TryFrom` - `TryInto` This also adds symbols for those items: - `into_trait` - `try_from_trait` - `try_into_trait` Related: rust-lang/rust-clippy#6620 (comment)
Configuration menu - View commit details
-
Copy full SHA for b3f474b - Browse repository at this point
Copy the full SHA b3f474bView commit details -
Rollup merge of #81294 - pnkfelix:issue-81211-use-ufcs-in-derive-debu…
…g, r=oli-obk Use ufcs in derive(Debug) Cc #81211. (Arguably this *is* the fix for it.)
Configuration menu - View commit details
-
Copy full SHA for dd8d7a1 - Browse repository at this point
Copy the full SHA dd8d7a1View commit details -
Rollup merge of #81299 - GuillaumeGomez:fix-eslint-detected-bugs, r=N…
…emo157 Fix some bugs reported by eslint Simply went into `src/librustdoc/html/static/` and ran `eslint *.js` in case you want to reproduce. :) r? ``@Nemo157``
Configuration menu - View commit details
-
Copy full SHA for 2600baf - Browse repository at this point
Copy the full SHA 2600bafView commit details -
Rollup merge of #81327 - RalfJung:codegen-no-const-fail, r=oli-obk
codegen: assume constants cannot fail to evaluate #80579 landed, so we can finally remove this old hack from codegen and instead assume that consts never fail to evaluate. :) r? ``@oli-obk``
Configuration menu - View commit details
-
Copy full SHA for 0de16e1 - Browse repository at this point
Copy the full SHA 0de16e1View commit details