| Age | Commit message (Collapse) | Author | Lines |
|
And move declarative macro compilation to an earlier point in def collector, which is required for #118188.
|
|
|
|
|
|
|
|
Separate items that are exposed in the `stable_mir` crate to be used
by the compiler from items that we expect to be used by tool developers.
|
|
Fixes error count display is different when there's only one error left
Supersedes #114759
### What did I do?
I did the small change in `rustc_errors` by hand. Then I did the other changes in `/compiler` by hand, those were just find replace on `*.rs` in the workspace. The changes in run-make are find replace for `run-make` in the workspace.
All other changes are blessed using `x test TEST --bless`. I blessed the tests that were blessed in #114759.
### how to review this nightmare
ping bors with an `r+`. You should check that my logic is sound and maybe quickly scroll through the diff, but fully verifying it seems fairly hard to impossible. I did my best to do this correctly.
Thank you `@adrianEffe` for bringing this up and your initial implementation.
cc `@flip1995,` you said you want to do a subtree sync asap
cc `@RalfJung` maybe you want to do a quick subtree sync afterwards as well for Miri
r? `@WaffleLapkin`
|
|
This file was getting too big and causing a lot of merge conflicts. All
these changes shouldn't be visible to users since this module is private.
|
|
We have to ignore some tests in stage1.
|
|
|
|
Because bootstrap lib is already large and complicated, this should
make the "bumping change-id" process easier.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
This fixes the problem of not being able to see bootstrap config
changes unless the change-id in config.toml changes.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bump `unicase` crate version.
This bumps `unicase` crate to align with Unicode 15.
Closes #101840.
|
|
Binder<TraitRef>
|
|
recur if contain infer vars
|
|
|
|
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
|
|
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
|
|
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
|
|
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
|
|
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
|
|
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
|
|
Fixes #118242
|
|
Rollup of 7 pull requests
Successful merges:
- #118187 (Recompile LLVM when it changes in the git sources)
- #118210 (intercrate ambiguity causes: ignore candidates which don't apply)
- #118215 (Add common trait for crate definitions)
- #118238 (memcpy assumptions: update GCC link)
- #118243 (EvalCtxt::commit_if_ok don't inherit nested goals)
- #118245 (Add `Span` to `TraitBoundModifier`)
- #118246 (Remove a hack for effects)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
christophbeberweil:7125-single-element-loop-over-range, r=llogiq
suggest alternatives to iterate an array of ranges
works towards #7125
changelog: [`single_element_loop`]: suggest better syntax when iterating over an array of a single range
`@thinkerdreamer` and myself worked on this issue during a workshop by `@llogiq` at the RustLab 2023 conference. It is our first contribution to clippy.
When iterating over an array of only one element, _which is a range_, our change suggests to replace the array with the contained range itself. Additionally, a hint is printed stating that the user probably intended to iterate over the range and not the array. If the single element in the array is not a range, the previous suggestion in the form of `let {pat_snip} = {prefix}{arg_snip};{block_str}`is used.
This change lints the array with the single range directly, so any prefixes or suffixes are covered as well.
|
|
|
|
|
|
|
|
Replace `option.map(cond) == Some(true)` with `option.is_some_and(cond)`
Extracted from https://github.com/rust-lang/rust/pull/118253.
|
|
|
|
|
|
|
|
|
|
|
|
Remove a hack for effects
Fallback was implemented in #115727, which addresses the inference errors mentioned in the comments.
|
|
Add `Span` to `TraitBoundModifier`
This improves diagnostics for the message "`~const` is not allowed here", and also fixes the span that we use when desugaring `~const Tr` into `Tr<host>` in effects desugaring.
|
|
EvalCtxt::commit_if_ok don't inherit nested goals
we use it to check whether an alias is rigid, so we want to avoid considering an alias rigid simply because the inference constraints from normalizing it caused another nested goal fail
r? `@compiler-errors`
|
|
memcpy assumptions: update GCC link
GCC now has this documented on an official website, not just in the bugtracker.
|
|
Add common trait for crate definitions
In stable mir, we specialize DefId, however some functionality is the same for every definition, such as def paths, and getting their crate. Use a trait to implement those.
|
|
r=compiler-errors
intercrate ambiguity causes: ignore candidates which don't apply
r? `@compiler-errors`
|
|
Recompile LLVM when it changes in the git sources
Utilize a smart hash for 'llvm-finished-building' to enable recompilation of LLVM with each change in the git sources.
Each change generates a unique hash value in 'llvm-finished-building', which ensures LLVM compilations only triggered with further changes.
Resolves #111893
cc `@rust-lang/wg-llvm`
|
|
feat: make `let_binding_suggestion` more reasonable
This is my first PR for rustc, which trying to fix https://github.com/rust-lang/rust/issues/117894, I am not familiar with some internal api so maybe some modification here isn't the way to go, appreciated for any review suggestion.
|