| Age | Commit message (Collapse) | Author | Lines |
|
Add long error explanation for E0561
Part of #61137
|
|
syntax: more cleanups in item and function signature parsing
Follow up to https://github.com/rust-lang/rust/pull/64910.
Best read commit-by-commit.
r? @estebank
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Make `into` schedule drop for the destination
closes #47949
|
|
|
|
|
|
|
|
|
|
Prevents number collision with another approved PR.
|
|
|
|
|
|
|
|
- The attribute is behind a feature gate.
- Error if both #[naked] and #[track_caller] are applied to the same function.
- Error if #[track_caller] is applied to a non-function item.
- Error if ABI is not "rust"
- Error if #[track_caller] is applied to a trait function.
Error codes and descriptions are pending.
|
|
Rollup of 4 pull requests
Successful merges:
- #63948 (Add feature gate for raw_dylib.)
- #65137 (remove event that causes panics in measureme tools)
- #65164 (Add long error explanation for E0566)
- #65173 (Update reference)
Failed merges:
r? @ghost
|
|
|
|
Add long error explanation for E0566
Part of #61137.
|
|
review feedback
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
|
|
generics arguments.
|
|
Remove as_str if the type is already &str
Fix https://github.com/rust-lang/rust/issues/62642
r? @estebank
do you think the suggestion tip is good enough?
|
|
|
|
|
|
|
|
|
|
Add support for `const unsafe? extern fn`
This works just as you might expect - an `const extern fn` is a `const fn` that is callable from foreign code.
Currently, panicking is not allowed in `const`s. When https://github.com/rust-lang/rfcs/pull/2345 (https://github.com/rust-lang/rust/issues/51999) is stabilized, then panicking in an `const extern fn` will produce a compile-time error when invoked at compile time, and an abort when invoked at runtime.
Since this is extending the language (we're allowing the `const` keyword in a new context), I believe that this will need an FCP. However, it's a very minor change, so I didn't think that filing an RFC was necessary.
This will allow libc (and other FFI crates) to make many functions `const`, without having to give up on making them `extern` as well.
Tracking issue: https://github.com/rust-lang/rust/issues/64926.
|
|
Rollup of 5 pull requests
Successful merges:
- #65095 (Sort error codes in librustc_passes)
- #65101 (Upgrade librustc_macros dependencies)
- #65142 (Ensure that associated `async fn`s have unique fresh param names)
- #65155 (Use shorthand initialization in rustdoc)
- #65158 (Remove dead module)
Failed merges:
r? @ghost
|
|
|
|
Ensure that associated `async fn`s have unique fresh param names
Closes #64630
|
|
Deny specializing items not in the parent impl
Part of https://github.com/rust-lang/rust/issues/29661 (https://github.com/rust-lang/rfcs/pull/2532). At least sort of?
This was discussed in https://github.com/rust-lang/rust/pull/61812#discussion_r300504114 and is needed for that PR to make progress (fixing an unsoundness).
One annoyance with doing this is that it sometimes requires users to copy-paste a provided trait method into an impl just to mark it `default` (ie. there is no syntax to forward this impl method to the provided trait method).
cc @Centril and @arielb1
|
|
|
|
Change-Id: I0c5c4d767be2647e6f017ae7bf83558c56dbca97
|
|
Change-Id: I0c5c4d767be2647e6f017ae7bf83558c56dbca97
|
|
Make re-export collection deterministic
Fixes https://github.com/rust-lang/rust/issues/65036
Previously, we were using an `FxHashMap` to collect module re-exports.
However, re-exports end up getting serialized into crate metadata, which
means that metadata generation was non-deterministic. This resulted in
spurious error messages changes (e.g. PR #64906) due to pretty-printing
implicitly depending on the order of re-exports when computing the
proper path to show to the user.
See #65042 for a long-term strategy to detect this kind of issue
|
|
|
|
Revert #63649 - "Upgrade Emscripten targets to use upstream LLVM backend"
This change caused the runtime of the linux-asmjs builder to nearly double from 2+ hours to about 4 hours, which happens to be the bors timeout. (It made it in barely under 4 hours when it was merged.) This is causing timeouts on all new changes.
This reverts commit 7870050796e5904a0fc85ecbe6fa6dde1cfe0c91, reversing
changes made to 2e7244807a7878f6eca3eb7d97ae9b413aa49014.
|
|
lint: extern non-exhaustive types are improper
This PR makes the `improper_ctype` lint trigger for non-exhaustive types when those types aren't defined in the current crate, as per [this comment](https://github.com/rust-lang/rust/issues/44109#issuecomment-537583344).
cc @Centril
|
|
Account for macro invocation in `let mut $pat` diagnostic.
Fixes https://github.com/rust-lang/rust/issues/65122.
r? @estebank
|
|
wesleywiser:fix_const_prop_ice_on_polymorphic_promoted_mir, r=oli-obk
[const-prop] Fix ICE when trying to eval polymorphic promoted MIR
Fixes #64908
r? @oli-obk
cc @nikomatsakis @pnkfelix
|
|
Do not ICE when dereferencing non-Copy raw pointer
CC #52262. Confirmed to remove the unnecessary ICE, but without a repro case.
|
|
When encountering chained operators use heuristics to recover from bad turbofish
|
|
Stabilize `Option::as_deref` and `Option::as_deref_mut`
The tracking issue https://github.com/rust-lang/rust/issues/50264 still has unresolved question for the corresponding `Result` methods.
|
|
r=alexcrichton"
This reverts commit 7870050796e5904a0fc85ecbe6fa6dde1cfe0c91, reversing
changes made to 2e7244807a7878f6eca3eb7d97ae9b413aa49014.
|
|
|
|
|