-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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 13 pull requests #123966
Rollup of 13 pull requests #123966
Commits on Apr 12, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0c60779 - Browse repository at this point
Copy the full SHA 0c60779View commit details -
Configuration menu - View commit details
-
Copy full SHA for 24653a5 - Browse repository at this point
Copy the full SHA 24653a5View commit details
Commits on Apr 13, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e4f4e58 - Browse repository at this point
Copy the full SHA e4f4e58View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4226dc2 - Browse repository at this point
Copy the full SHA 4226dc2View commit details -
Configuration menu - View commit details
-
Copy full SHA for cec9f7f - Browse repository at this point
Copy the full SHA cec9f7fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 992c505 - Browse repository at this point
Copy the full SHA 992c505View commit details
Commits on Apr 14, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ec3ac1d - Browse repository at this point
Copy the full SHA ec3ac1dView commit details -
Configuration menu - View commit details
-
Copy full SHA for be7fb2e - Browse repository at this point
Copy the full SHA be7fb2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e5cf30c - Browse repository at this point
Copy the full SHA e5cf30cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b09c177 - Browse repository at this point
Copy the full SHA b09c177View commit details -
Configuration menu - View commit details
-
Copy full SHA for 398da59 - Browse repository at this point
Copy the full SHA 398da59View commit details -
Merge
{With,Graph}{Successors,Predecessors}
into `{Successors,Prede……cessors}` Now with GAT!
Configuration menu - View commit details
-
Copy full SHA for 0d5fc9b - Browse repository at this point
Copy the full SHA 0d5fc9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f514493 - Browse repository at this point
Copy the full SHA f514493View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3124fa9 - Browse repository at this point
Copy the full SHA 3124fa9View commit details -
Make
depth_first_search
into a standalone functionDoes not necessarily change much, but we never overwrite it, so I see no reason for it to be in the `Successors` trait. (+we already have a similar `is_cyclic`)
Configuration menu - View commit details
-
Copy full SHA for e8d2221 - Browse repository at this point
Copy the full SHA e8d2221View commit details -
Configuration menu - View commit details
-
Copy full SHA for 80dc3d1 - Browse repository at this point
Copy the full SHA 80dc3d1View commit details
Commits on Apr 15, 2024
-
Fix UB in LLVM FFI when passing zero or >1 bundle
Rust passes a *const &OperandBundleDef to these APIs, usually from a Vec<&OperandBundleDef> or so. Previously we were dereferencing that pointer and passing it to the ArrayRef constructor with some length (N). This meant that if the length was 0, we were dereferencing a pointer to nowhere, and if the length was >1 then loading the *second* element somewhere in LLVM would've been reading past the end. Since Rust can't hold OperandBundleDef by-value we're forced to indirect through a vector that copies out the OperandBundleDefs from the by-reference list on the Rust side in order to match the LLVM expected API.
Configuration menu - View commit details
-
Copy full SHA for bf3decc - Browse repository at this point
Copy the full SHA bf3deccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 510720e - Browse repository at this point
Copy the full SHA 510720eView commit details -
Fail candidate assembly for erroneous types
Trait predicates for types which have errors may still evaluate to OK leading to downstream ICEs. Now we return a selection error for such types in candidate assembly and thereby prevent such issues
Configuration menu - View commit details
-
Copy full SHA for 4ee780a - Browse repository at this point
Copy the full SHA 4ee780aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 24dac6c - Browse repository at this point
Copy the full SHA 24dac6cView commit details -
Signed-off-by: mountcount <cuimoman@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 7d1ee8c - Browse repository at this point
Copy the full SHA 7d1ee8cView commit details -
Distribute LLVM bitcode linker as a preview component
Kjetil Kjeka committedApr 15, 2024 Configuration menu - View commit details
-
Copy full SHA for 235d45e - Browse repository at this point
Copy the full SHA 235d45eView commit details -
Use RPITIT for
Successors
andPredecessors
traitsNow with RPITIT instead of GAT!
Configuration menu - View commit details
-
Copy full SHA for 435db9b - Browse repository at this point
Copy the full SHA 435db9bView commit details -
Rollup merge of rust-lang#123423 - kjetilkjeka:llvm_bitcode_linker_co…
…mponent, r=Mark-Simulacrum Distribute LLVM bitcode linker as a preview component The self-contained LLVM bitcode linker was recently added in rust-lang#117458. It is currently only in use to link the Nvidia ptx assembly tests when running rustc tests (local or CI). In fact, the linker itself is currently only usable for the `nvptx64-nvidia-cuda` target, but more targets will be supported in the future. The reason a new linker was needed for the ptx format is that the [old one](https://github.com/denzp/rust-ptx-linker) has not been updated the last few years. It worked fine for a while, but as LLVM changed it broke and the nvptx tests was [disabled in rustc back in 2019](rust-lang@f8f9a28). It was ad-hoc patched and have been used in a sub-optimal state by the community until now. If this PR is merged, the LLVM bitcode linker will be distributed as a preview component that can be used as a replacement for the old ptx-linker for development in addition to rustc tests. In addition to installing the `llvm-bitcode-linker` component, also the `llvm-tools` component must be installed as the `llvm-bitcode-linker` works by calling llvm tools. Even though the LLVM bitcode linker is in its early stages it already now provides a lot of value over the old ptx-linker just by working and using up-to-date llvm tooling. By shipping it as a component it will be easier to gather user experience and improving it. `@petrochenkov` when installing as a component it will be installed in the self-contained folder and will not work with `-Clink-self-contained=no` (although for some reason I expect to be a bug `-Clink-self-contained=-linker` doesn't properly disable it). However, when building using `x.py build` it will be placed in the `lib/rustlib/<target>/bin` directory and will be available for internal tests even if `-Clink-self-contained=no` is passed. CC: `@Mark-Simulacrum` as I very briefly discussed it with you some months ago https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/.E2.9C.94.20How.20to.20ship.20a.20new.20tool.20.28embedded.20linker.29.20to.20users.3F
Configuration menu - View commit details
-
Copy full SHA for bf021ee - Browse repository at this point
Copy the full SHA bf021eeView commit details -
Rollup merge of rust-lang#123491 - gurry:123154-ice-unsized-struct-ev…
…al, r=oli-obk Fix ICE in `eval_body_using_ecx` Ensures `TypeckResults` is tainted by failing candidate assembly for types with error Fixes rust-lang#123154
Configuration menu - View commit details
-
Copy full SHA for 4b8ec04 - Browse repository at this point
Copy the full SHA 4b8ec04View commit details -
Rollup merge of rust-lang#123548 - RalfJung:what-is-time, r=joboet
libtest: also measure time in Miri A long time ago we disabled timekeeping of the default test harness in Miri, as otherwise it would fail to run without `-Zmiri-disable-isolation`. However, since then Miri gained a "fake clock" that lets it present some deterministic notion of time when isolation is enabled. So we could now let libtest do timekeeping again when running in Miri. That's nice as it can help detect tests that run too long. However it can also be confusing as the results with isolation can be quite different than the real time. `@rust-lang/miri` what do you think?
Configuration menu - View commit details
-
Copy full SHA for c2b4c89 - Browse repository at this point
Copy the full SHA c2b4c89View commit details -
Rollup merge of rust-lang#123666 - mountcount:master, r=lqd
Fix some typos in doc
Configuration menu - View commit details
-
Copy full SHA for 9cc6688 - Browse repository at this point
Copy the full SHA 9cc6688View commit details -
Rollup merge of rust-lang#123864 - oli-obk:define_opaque_types3, r=co…
…mpiler-errors Remove a HACK by instead inferring opaque types during expected/formal type checking I was wondering why I couldn't come up with a test that hits the code path of the argument check checking the types we inferred from the return type... Turns out we reject those attempts early during fudging. I have absolutely no information for you as to what kind of type inference changes this may incur, but I think we should just land this out of two reasons: * had I found the other place to use opaque type inference on before I added the hack, we'd be using that today and this PR would never have happened * if it is possible to hit this path, it requires some god awful recursive RPIT logic that I doubt anyone would have written without actively trying to write obscure code r? `@ghost`
Configuration menu - View commit details
-
Copy full SHA for 66ac226 - Browse repository at this point
Copy the full SHA 66ac226View commit details -
Rollup merge of rust-lang#123896 - JeanCASPAR:rustc_resolve-to-sessio…
…n-diagnostic, r=jieyouxu Migrate some diagnostics in `rustc_resolve` to session diagnostic Hello, I migrated some diagnostics in `rustc_resolve` to session diagnostic. r? `@davidtwco`
Configuration menu - View commit details
-
Copy full SHA for 4a050b3 - Browse repository at this point
Copy the full SHA 4a050b3View commit details -
Rollup merge of rust-lang#123919 - RalfJung:discriminant, r=compiler-…
…errors builtin-derive: tag → discriminant As far as I can tell, all of this operates on the discriminant, not the tag. After all, with something like `Option<&T>`, the "tag" of the `Some` variant is basically just the reference value, which is never what you want to compare when figuring out which variant the enum is in. See [here](https://rustc-dev-guide.rust-lang.org/appendix/glossary.html) for an explanation of the difference between tag and discriminant.
Configuration menu - View commit details
-
Copy full SHA for 5f726e5 - Browse repository at this point
Copy the full SHA 5f726e5View commit details -
Rollup merge of rust-lang#123922 - TDecking:base_n_magic_removal, r=j…
…ieyouxu Remove magic constants when using `base_n`. Some use cases of `base_n` use number literals instead of the predefined constants. The latter are more descriptive so it might be better to use those instead.
Configuration menu - View commit details
-
Copy full SHA for 81527a0 - Browse repository at this point
Copy the full SHA 81527a0View commit details -
Rollup merge of rust-lang#123931 - compiler-errors:variance-unnameabl…
…es, r=fmease Don't leak unnameable types in `-> _` recover Fixes rust-lang#123899
Configuration menu - View commit details
-
Copy full SHA for fdc9595 - Browse repository at this point
Copy the full SHA fdc9595View commit details -
Rollup merge of rust-lang#123933 - RalfJung:large-assignments, r=mich…
…aelwoerister move the LargeAssignments lint logic into its own file The collector is a file full of very subtle logic, so let's try to keep that separate from the logic that only serves to implement this lint.
Configuration menu - View commit details
-
Copy full SHA for dae5e77 - Browse repository at this point
Copy the full SHA dae5e77View commit details -
Rollup merge of rust-lang#123934 - WaffleLapkin:graph-mini-refactor, …
…r=fmease `rustc_data_structures::graph` mini refactor Who doesn't love to breathe dust from the ancient times?
Configuration menu - View commit details
-
Copy full SHA for 4593bc7 - Browse repository at this point
Copy the full SHA 4593bc7View commit details -
Rollup merge of rust-lang#123941 - Mark-Simulacrum:fix-llvm-ub, r=nikic
Fix UB in LLVM FFI when passing zero or >1 bundle Rust passes a `*const &OperandBundleDef` to these APIs, usually from a `Vec<&OperandBundleDef>` or so. Previously we were dereferencing that pointer and passing it to the ArrayRef constructor with some length (N). This meant that if the length was 0, we were dereferencing a pointer to nowhere (if the vector on the Rust side didn't actually get allocated or so), and if the length was >1 then loading the *second* element somewhere in LLVM would've been reading past the end. Since Rust can't hold OperandBundleDef by-value we're forced to indirect through a vector that copies out the OperandBundleDefs from the by-reference list on the Rust side in order to match the LLVM expected API.
Configuration menu - View commit details
-
Copy full SHA for 301f570 - Browse repository at this point
Copy the full SHA 301f570View commit details -
Rollup merge of rust-lang#123957 - RalfJung:create_dir_all_bare, r=jo…
…boet disable create_dir_all_bare test on all(miri, windows)
Configuration menu - View commit details
-
Copy full SHA for e6d7f93 - Browse repository at this point
Copy the full SHA e6d7f93View commit details