| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- #110058 (Remove `box_syntax` usage)
- #110059 (ignore_git → omit_git_hash)
- #110060 (Document that `&T` and `&mut T` are `Sync` if `T` is)
- #110074 (Make the "codegen" profile of `config.toml` download and build llvm from source.)
- #110086 (Add `max_line_length` to `.editorconfig`, matching rustfmt)
- #110096 (Tweak tuple indexing suggestion)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Tweak tuple indexing suggestion
Fixes #110091
|
|
Add `max_line_length` to `.editorconfig`, matching rustfmt
Add `max_line_length` to `.editorconfig`, matching the max width used by rustfmt.
|
|
Make the "codegen" profile of `config.toml` download and build llvm from source.
The stated purpose of the codegen profile in config.toml is:
> `# These defaults are meant for contributors to the compiler who modify codegen or LLVM`
but `download-ci-llvm` must be set to be false for the llvm source to even be downloaded. This patch adds that in.
Also included: a small docs fix in `config.example.toml`
|
|
Document that `&T` and `&mut T` are `Sync` if `T` is
Proof: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=fec8dc9ec36e873bf2962a2367d67045
|
|
ignore_git → omit_git_hash
Fixes #110020
|
|
Remove `box_syntax` usage
Fixes #109978
|
|
Enforce that `PointerLike` requires a pointer-like ABI
At least temporarily, let's ban coercing things that are pointer-sized and pointer-aligned but *not* `Abi::Scalar(..)` into `dyn*`. See: https://github.com/rust-lang/rust/pull/104694#discussion_r1142522073
This can be lifted in the future if we decie that we *want* to be able to coerce something `repr(C)` into a `dyn*`, but we'll have to figure out what to do with Miri and codegen...
r? compiler
|
|
Make elaboration generic over input
Combines all the `elaborate_*` family of functions into just one, which is an iterator over the same type that you pass in (e.g. elaborating `Predicate` gives `Predicate`s, elaborating `Obligation`s gives `Obligation`s, etc.)
|
|
rustdoc: migrate item_union to an Askama template
|
|
|
|
|
|
Add ability to transmute (somewhat) with generic consts in arrays
Previously if the expression contained generic consts and did not have a directly equivalent type, transmuting the type in this way was forbidden, despite the two sizes being identical. Instead, we should be able to lazily tell if the two consts are identical, and if so allow them to be transmuted.
This is done by normalizing the forms of expressions into sorted order of multiplied terms, which is not generic over all expressions, but should handle most cases.
This allows for some _basic_ transmutations between types that are equivalent in size without requiring additional stack space at runtime.
I only see one other location at which `SizeSkeleton` is being used, and it checks for equality so this shouldn't affect anywhere else that I can tell.
See [this Stackoverflow post](https://stackoverflow.com/questions/73085012/transmute-nested-const-generic-array-rust) for what was previously necessary to convert between types. This PR makes converting nested `T -> [T; 1]` transmutes possible, and `[uB*2; N] -> [uB; N * 2]` possible as well.
I'm not sure whether this is something that would be wanted, and if it is it definitely should not be insta-stable, so I'd add a feature gate.
|
|
llvm: replace some deprecated functions, add fixmes
Replace some deprecated llvm functions, add FIXME's (for simpler future work), replace some rust custom functions with llvm ones.
|
|
|
|
r=notriddle
Remove mention of `missing_doc_code_examples` lint from rustdoc book
Fixes https://github.com/rust-lang/rust/issues/109601.
r? `@notriddle`
|
|
Switched provisional evaluation cache map to FxIndexMap, and replaced map.drain_filter with map.retain
Switching ProvisionalEvaluationCache's map field from FxHashMap to FxIndexMap was previously blocked because doing so caused performance regressions that could be mitigated by the stabilization of drain_filter for FxIndexMap (#104212). However, the only use of drain_filter can be replaced with a retain, so I made the modification and put in a PR to see if this causes a performance regression as well.
This PR is part of a broader effort (#84447) of removing iteration through FxHashMaps, as the iteration order is unstable and can cause issues in incremental compilation.
|
|
|
|
Rollup of 5 pull requests
Successful merges:
- #110030 (rustdoc: clean up JS)
- #110037 (rustdoc: add test and bug fix for theme defaults)
- #110065 (Fix wrong type in docs: i16 -> u16)
- #110068 (Temporarily remove myself from reviewers list)
- #110075 (Fix a typo in `config.example.toml`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Fix a typo in `config.example.toml`
It's a really small PR and probably got missed in the previous cleanup PR
|
|
Temporarily remove myself from reviewers list
I'm going to be unable to review for the next few weeks, so I'm removing myself from the review queue. Once I'm back and able to review again, I'll add myself back to the list.
r? ``@wesleywiser``
|
|
Fix wrong type in docs: i16 -> u16
``@rustbot`` label +A-docs
r? docs
|
|
rustdoc: add test and bug fix for theme defaults
Part of https://github.com/rust-lang/rust/issues/66181
|
|
rustdoc: clean up JS
* Stop checking `func` in `onEach`. It's always hard-coded right at the call site, so there's no point.
* Use the ternary operator in a few spots where it makes sense.
* No point in making `onEach` store `arr.length` in a variable if it's only used once anyway.
|
|
|
|
enkron:u/enkron/substitute-hardcoded-port-num-in-listen-on-fn, r=the8472
chore(tcp): change a hardcoded port number in a doctest to `port` var
The `listen_on` function in the example has a `port` option but doesn't use it
|
|
|
|
fix in plugin.md
fmt
|
|
|
|
This commit:
fcb2a3665f6 (Rename `config.toml.example` to `config.example.toml`, 2023-03-11)
missed an instance in `config.example.toml` itself.
|
|
Fix help message for `infer_source_kind_subdiag_let`
I discovered there's a double "the" in the help message for E0282.
|
|
Yeet `owning_ref`
Based on the discussions from https://github.com/rust-lang/rust/pull/109948
This replaces `owning_ref` with a far simpler & safer abstraction.
Fixes #109974
|
|
map.drain_filter with map.retain
|
|
r=Mark-Simulacrum
Download beta compiler toolchain in bootstrap if it doesn't yet exist
Blocker for #107812 and #99989
See: https://github.com/rust-lang/rust/pull/107812#discussion_r1143492202
r? `@jyn514`
|
|
I'm going to be unable to review for the next few weeks, so I'm
removing myself from the review queue. Once I'm back and able to review
again, I'll add myself back to the list.
|
|
|
|
@rustbot label +A-docs
r? docs
|
|
This is needed for when the shell scripts bypass python altogether and run the downloaded
bootstrap directly. Changes are mainly provided from @jyn514, I just fixed the review notes.
Signed-off-by: ozkanonur <work@onurozkan.dev>
|
|
r=petrochenkov
More descriptive error when qself path doesnt have a trait on the RHS of `as`
`<Ty as Enum>::Assoc` should report that `Enum` is a trait. Main question is whether to eagerly report the error, or raise it with `return Err(..)` -- i'll note that in an inline comment though.
cc `@GuillaumeGomez` who said this came up at a Paris Rust meetup.
r? `@petrochenkov`
|
|
|
|
|
|
Inline try_from and try_into
To avoid link time dependency between core and compiler-builtins, when using opt-level that implicitly enables -Zshare-generics.
While compiler-builtins should be compiled with -Zshare-generics disabled, the -Zbuild-std does not ensure this at the moment.
r? `@bjorn3`
|
|
Remove u32 on BrAnon and BoundTyKind::Anon in favor of BoundVar on Placeholder types
r? `@nnethercote`
Better alternative to #110025
|
|
|
|
Refactor unwind in MIR
This makes unwinding from current `Option<BasicBlock>` into
```rust
enum UnwindAction {
Continue,
Cleanup(BasicBlock),
Unreachable,
Terminate,
}
```
cc `@JakobDegen` `@RalfJung` `@Amanieu`
|
|
|
|
|
|
Stabilize is_some_and
This stabilizes the following public API:
```rust
impl<T> Option<T> {
pub fn is_some_and(self, f: impl FnOnce(T) -> bool) -> bool;
}
impl<T, E> Result<T, E> {
pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool;
pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool;
}
```
Closes #93050 (tracking issue).
`@rustbot` label +T-libs-api -T-libs
|