| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
The iterators are now "fused" with `Option` so we don't need separate
state to track which part is already exhausted, and we may also get
niche layout for `None`. We don't use the real `Fuse` adapter because
its specialization for `FusedIterator` unconditionally descends into the
iterator, and that could be expensive to keep revisiting stuff like
nested chains. It also hurts compiler performance to add more iterator
layers to `Chain`.
|
|
Speed up path searching with `find_library_crate`.
By doing prefix and suffix checking on a `String` copy of each relevant
`PathBuf`, rather than the `PathBuf` itself.
|
|
ty/walk: iterate `GenericArg`s instead of `Ty`s.
Before this PR, `Ty::walk` only iterated over `Ty`s, but that's becoming an increasing problem with `const` generics, as `ty::Const`s in `Substs` are missed by it.
By working with `GenericArg` instead, we can handle both `Ty`s and `ty::Const`s, but also `ty::Region`s, which used to require ad-hoc mechanisms such as `push_regions`.
I've also removed `TraitRef::input_types`, as it's both long obsolete, and easy to misuse.
|
|
By doing prefix and suffix checking on a `String` copy of each relevant
`PathBuf`, rather than the `PathBuf` itself.
|
|
Move sanitize-inline-always test to sanitize directory
|
|
clean up E0506 explanation
r? @Dylan-DPC
|
|
expose suggestions::InferCtxtExt for clippy
This is very useful to do good async/await diagnostic reporting, for example for https://github.com/rust-lang/rust-clippy/pull/5423.
|
|
Clean up E0501 explanation
r? @Dylan-DPC
|
|
Add io::Write::write_all_vectored
Similar to io::Write::write_all but uses io::Write::write_vectored
instead.
Updates #70436
/cc @cramertj @sfackler
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r=LukasKalbertodt
Detailed panic messages for Vec functions
pass indexes to insert, remove, drain, and split_off panic messages
closes #70524
|
|
|
|
Co-Authored-By: varkor <github@varkor.com>
|
|
|
|
cleanup `lower_item_id`
r? @oli-obk
|
|
|
|
Miri terminator handling: only do progress sanity check for 'Call' terminator
This will still catch mistakes in bad intrinsic/foreign-item shims, which is the main source of errors here.
Fixes https://github.com/rust-lang/rust/issues/70723
r? @oli-obk
|
|
Also adds some more tests with different length IoSlices.
|
|
|
|
Use smaller span for suggestion restricting lifetime
|
|
def_collector, visit_fn: account for no body
Fixes #70736
r? @petrochenkov
|
|
Prefer sysroot from rustc in same directory as rust-gdb
If there isn't a rustc in the same directory, then fall back to searching
the path.
|
|
danielframpton:aarch64-windows-panic-unwind-default, r=alexcrichton
Make panic unwind the default for aarch64-*-windows-msvc targets
With the llvm fixes from rust-lang/llvm-project#45 (included as a submodule change) we can enable unwinding by default for these targets.
Fixes #65313
There are still a small number of test failures for which we can open individual issues.
r? @alexcrichton
|
|
Tweak output of type params and constraints in the wrong order
r? @Centril @varkor
|
|
Using a single label for constraints and generic arguments.
|
|
|
|
|
|
|
|
r=Mark-Simulacrum
Remove marker comments in libstd/lib.rs macro imports
These comments were probably moved around when rustfmt was introduced. They don't correctly denote what they were intended for, so I propose we remove them instead. Thanks!
|
|
Simplify dtor registration for HermitCore by using a list of destructors
The implementation is similar to the macOS version and doesn't depend on additional OS support
|
|
"cannot resolve" → "cannot satisfy"
CC #66523
r? @Centril
|
|
Stop importing the float modules in documentation
Follow up to #69860. I realized I had not searched for and fixed this for the float values. So with this PR they also use the associated constants instead of the module level constants.
For the documentation where it also was using the `consts` submodule I opted to change it to import that directly. This becomes more in line with how other docs that use the `consts` submodule looks. And it also makes it so there are not two `f32` or `f64` things in the current namespace (both the module and the primitive type) and then hopefully confusing documentation readers less.
r? @dtolnay
|
|
Match options directly in the Fuse implementation
Rather than using `as_ref()`, `as_mut()`, and `?`, we can use `match` directly to save a lot of generated code. This was mentioned as a possibility in https://github.com/rust-lang/rust/pull/70366#issuecomment-603462546, and I found that it had a very large impact on #70332 using `Fuse` within `Chain`. Let's evaluate this change on its own first.
|
|
Do not lose or reorder user-provided linker arguments
Linker arguments are potentially order-dependent, so the order in which `-C link-arg` and `-C link-args` options are passed to `rustc` should be preserved when they are passed further to the linker.
Also, multiple `-C link-args` options are now appended to each other rather than overwrite each other.
In other words, `-C link-arg=a -C link-args="b c" -C link-args="d e" -C link-arg=f` is now passed as `"a" "b" "c" "d" "e" "f"` and not as `"d" "e" "a" "f"`.
Addresses https://github.com/rust-lang/rust/pull/70505#issuecomment-606780163.
|
|
move OS constants to platform crate
to reduce platform specific constants move O_RDONLY etc. and the definition of thread priorities to hermit-abi
|
|
These labels were probably moved around when rustfmt was introduced.
|
|
Rollup of 5 pull requests
Successful merges:
- #67797 (Query-ify Instance::resolve)
- #70777 (Don't import integer and float modules, use assoc consts)
- #70795 (Keep track of position when deleting from a BTreeMap)
- #70812 (Do not use "nil" to refer to `()`)
- #70815 (Enable layout debugging for `impl Trait` type aliases)
Failed merges:
r? @ghost
|
|
|
|
|
|
|
|
|