| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
|
|
pnkfelix:issue-80949-short-term-resolution-via-revert-of-pr-78373, r=matthewjasper
Revert 78373 ("dont leak return value after panic in drop")
Short term resolution for issue #80949.
Reopen #47949 after this lands.
(We plan to fine-tune PR #78373 to not run into this problem.)
|
|
Work around missing -dev packages in solaris docker image.
This should hopefully make the `dist-various-2` docker build work again on CI, which is now blocking everything from getting merged.
r? `@pietroalbini`
|
|
rustdoc: Fix visibility of trait and impl items
Fixes #81274.
r? `@jyn514`
|
|
|
|
introduce future-compatibility warning for forbidden lint groups
We used to ignore `forbid(group)` scenarios completely. This changed in #78864, but that led to a number of regressions (#80988, #81218).
This PR introduces a future compatibility warning for the case where a group is forbidden but then an individual lint within that group is allowed. We now issue a FCW when we see the "allow", but permit it to take effect.
r? ``@Mark-Simulacrum``
|
|
Remove incorrect `delay_span_bug`
The following code is supposed to compile
```rust
use std::ops::BitOr;
pub trait IntWrapper {
type InternalStorage;
}
impl<T> BitOr for dyn IntWrapper<InternalStorage = T>
where
Self: Sized,
T: BitOr + BitOr<Output = T>,
{
type Output = Self;
fn bitor(self, _other: Self) -> Self {
todo!()
}
}
```
Before this change it would ICE. In #70998 the removed logic was added
to provide better suggestions, and the `delay_span_bug` guard was added
to protect against a potential logic error when returning traits. As it
happens, there are cases, like the one above, where traits can indeed be
returned, so valid code was being rejected.
Fix (but not close) #80207.
|
|
Make hitting the recursion limit in projection non-fatal
This change was originally made in #80246 to avoid future (effectively) infinite loop bugs in projections,
but wundergraph relies on rustc recovering here.
cc #80953
r? `@nikomatsakis`
|
|
CI: only copy python.exe to python3.exe if the latter does not exist
We're copying the binary to make sure we can call `python3.exe` around, but it seems like the base image of GitHub Actions changed, copying the file before we do so. This PR changes the CI script to only copy the file if it doesn't already exist.
r? `@m-ou-se`
cc `@Mark-Simulacrum`
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Joshua Nelson <jyn514@gmail.com>
|
|
|
|
|
|
Co-authored-by: Joshua Nelson <jyn514@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The struct will allow to store more context on the generated tarballs.
|
|
Files in the temporary directory are used by ./x.py install.
|
|
|
|
|
|
|
|
|
|
When normalizing a projection which results in a cycle, we would
cache the result of `project_type` without the nested obligations
(because they're not needed for inference). This would result in
the nested obligations only being handled once in fulfill, which
would avoid the cycle error.
Fixes #79714, a regresion from #79305 caused by the removal of
`get_paranoid_cache_value_obligation`.
|
|
This avoid the hang/oom from #79714
|
|
This fixes a bug introduced by #79788.
|
|
|
|
|
|
|
|
|
|
|
|
wesleywiser:revert_missing_fragment_specifier_hard_error, r=Mark-Simulacrum
Revert missing fragment specifier hard error
Closes #76605
Reopens #40107
r? `@Mark-Simulacrum`
|
|
Highlight edition-specific keywords correctly in code blocks, accounting for code block edition modifiers
Previously, edition-specific keywords (such as `async` and `await`) were not highlighted in code blocks, regardless of what edition was set. With this PR, this issue is fixed.
Now, the following behavior happens:
- When a code block is explicitly set to edition X, keywords from edition X are highlighted
- When a code block is explicitly set to a version that does not contain those keywords from edition X (e.g. edition Y), keywords from edition X are **not** highlighted
- When a code block has no explicit edition, keywords from the edition passed via `--edition` to rustdoc are highlighted
For example, a project set with `edition = "2015"` in its `Cargo.toml` would not highlight `async`/`await` unless the code block was set to `edition2018`. Additionally, a project set with `edition = "2018"` in its `Cargo.toml` *would* highlight `async`/`await` unless the code block was set to a version that did not contain those keywords (e.g. `edition2015`).
This PR fixes #80004.
r? `@jyn514`
|
|
Exclude unnecessary info from CodegenResults
`foreign_module` and `wasm_import_module` are not needed for linking, and hence can be removed from CodegenResults.
Fixes #77857
|
|
Rollup of 11 pull requests
Successful merges:
- #79213 (Stabilize `core::slice::fill`)
- #79999 (Refactored verbose print into a function)
- #80160 (Implemented a compiler diagnostic for move async mistake)
- #80274 (Rename rustc_middle::lint::LintSource)
- #80280 (Add installation commands to `x` tool README)
- #80319 (Fix elided lifetimes shown as `'_` on async functions)
- #80327 (Updated the match with the matches macro)
- #80330 (Fix typo in simplify_try.rs)
- #80340 (Don't unnecessarily override attrs for Module)
- #80342 (Fix typo)
- #80352 (BTreeMap: make test cases more explicit on failure)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Don't unnecessarily override attrs for Module
They were never changed from the default, which you can get with `tcx.get_attrs()`.
|
|
Fix elided lifetimes shown as `'_` on async functions
Closes https://github.com/rust-lang/rust/issues/63037.
r? `@tmandry` on the implementation, `@Darksonn` on the test cases.
|