| Age | Commit message (Collapse) | Author | Lines |
|
Fix comment in compiler/rustc_ast/src/token.rs.
Gt -> Greater than -> `>`
Ge -> Greater equal -> `>=`
|
|
coverage: Avoid creating malformed macro name spans
This is a workaround for #117788. It detects a particular scenario where we would create malformed coverage spans that might cause `llvm-cov` to immediately exit with an error, preventing the user from processing coverage reports.
The patch has been kept as simple as possible so that it's trivial to backport to beta (or stable) if desired.
---
The `maybe_push_macro_name_span` method is trying to detect macro invocations, so that it can split a span into two parts just after the `!` of the invocation.
Under some circumstances (probably involving nested macros), it gets confused and produces a span that is larger than the original span, and possibly extends outside its enclosing function and even into an adjacent file.
In extreme cases, that can result in malformed coverage mappings that cause `llvm-cov` to fail. For now, we at least want to detect these egregious cases and avoid them, so that coverage reports can still be produced.
|
|
Gt => Greater than => `>`
Ge => Greater equal => `>=`
|
|
Catch stray `{` in let-chains
Fixes #117766
|
|
Without the workaround applied, this test will produce malformed mappings that
cause `llvm-cov` to fail.
(And if it does emit well-formed mappings, they should be obviously incorrect.)
|
|
Miri subtree update
r? `@ghost`
|
|
Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com>
|
|
Implement round.ps and round.pd SSE4.1 intrinsics
I had forgotten them.
I also increased the coverage of rounding tests to make sure the rounding direction is working as expected (e.g. test `1.25`, `1.5`, `1.75`...).
|
|
To make sure the rounding direction is working as expected
|
|
Add 1.74 release notes
r? `@cuviper` `@rust-lang/release`
|
|
|
|
more consistent naming for TLS tests
"tls_static" for `#[thread_local] static`, "tls_macro" for `thread_local!`
|
|
|
|
Treat thread-local statics on main thread as static roots for leakage analysis
Miri currently treats allocations as leaked if they're only referenced in thread-local statics. For threads other than the main thread, this is correct, since the thread can terminate before the program does, but references in the main thread's locals should be treated as living for the duration of the program since the thread lives for the duration of the program.
This PR adds thread-local statics and TLS keys as "static roots" for leakage analysis, but does not yet bless the example program from #2881. See https://github.com/rust-lang/miri/issues/2881#issuecomment-1585666652
Closes #2881
|
|
|
|
|
|
freebsd interceptions update proposal
|
|
|
|
|
|
|
|
This method is trying to detect macro invocations, so that it can split a span
into two parts just after the `!` of the invocation.
Under some circumstances (probably involving nested macros), it gets confused
and produces a span that is larger than the original span, and possibly extends
outside its enclosing function and even into an adjacent file.
In extreme cases, that can result in malformed coverage mappings that cause
`llvm-cov` to fail. For now, we at least want to detect these egregious cases
and avoid them, so that coverage reports can still be produced.
|
|
Deny more `~const` trait bounds
thereby fixing a family of ICEs (delayed bugs) for `feature(const_trait_impl, effects)` code.
As discussed
r? `@fee1-dead`
|
|
|
|
|
|
Add `std::hash::{DefaultHasher, RandomState}` exports (needs FCP)
This implements rust-lang/libs-team#267 to move the libstd hasher types to `std::hash` where they belong, instead of `std::collections::hash_map`.
<details><summary>The below no longer applies, but is kept for clarity.</summary>
This is a small refactor for #27242, which moves the definitions of `RandomState` and `DefaultHasher` into `std::hash`, but in a way that won't be noticed in the public API.
I've opened rust-lang/libs-team#267 as a formal ACP to move these directly into the root of `std::hash`, but for now, they're at least separated out from the collections code in a way that will make moving that around easier.
I decided to simply copy the rustdoc for `std::hash` from `core::hash` since I think it would be ideal for the two to diverge longer-term, especially if the ACP is accepted. However, I would be willing to factor them out into a common markdown document if that's preferred.
</details>
|
|
Bump nightly version
https://forge.rust-lang.org/release/process.html#bump-the-stable-version-number-t-6-days-friday-the-week-before
r? `@Mark-Simulacrum`
|
|
|
|
Update cargo
12 commits in 7046d992f9f32ba209a8079f662ebccf9da8de25..6790a5127895debec95c24aefaeb18e059270df3
2023-11-08 03:24:57 +0000 to 2023-11-10 17:09:35 +0000
- refactor(source): Prepare for new PackageIDSpec syntax (rust-lang/cargo#12938)
- credential: include license files in all published crates (rust-lang/cargo#12953)
- fix: preserve jobserver file descriptors on rustc invocation in `fix_exec_rustc` (rust-lang/cargo#12951)
- refactor(resolver): Consolidate logic in `VersionPreferences` (rust-lang/cargo#12930)
- refactor(toml): Simplify code to make schema split easier (rust-lang/cargo#12948)
- Filter `cargo-credential-*` dependencies by OS (rust-lang/cargo#12949)
- refactor(util): Pull out `mod util_semver` (rust-lang/cargo#12940)
- Fix the invalidate feature name message (rust-lang/cargo#12939)
- refactor(util): Prepare for splitting out semver logic (rust-lang/cargo#12926)
- feat: Make browser links out of HTML file paths (rust-lang/cargo#12889)
- Do not allow empty feature name (rust-lang/cargo#12928)
- fix(timings): unnecessary backslash when error happens (rust-lang/cargo#12934)
r? ghost
|
|
Switch `fuchsia-test-runner.py` to `ffx product`
The subcommand `ffx product-bundle` has been removed, and replaced with the subcommand `ffx product`. This changes `fuchsia-test-runner.py` to use it to download the SDK and product bundle for the latest release of Fuchsia.
|
|
The subcommand `ffx product-bundle` has been removed, and replaced with
the subcommand `ffx product`. This changes `fuchsia-test-runner.py` to
use it to download the SDK and product bundle for the latest release of
Fuchsia.
|
|
|
|
On method chain expression failure, look for missing method in earlier segments of the chain
This PR tries to fix the issue: https://github.com/rust-lang/rust/issues/115222
As suggested by `@estebank` , I did the following:
1. Add new test `tests/ui/structs/method-chain-expression-failure.rs`
2. In `compiler/rusct_hir_tycheck/src/method/suggest.rs`
walking up the method chain and calling `probe_for_name` with the method name. But the call fails to return `Ok`.
|
|
receiver to align spans
|
|
|
|
Subtree update for rustc_codegen_cranelift
Significantly improved support for simd intrinsics.
r? `@ghost`
`@rustbot` label +A-codegen +A-cranelift +T-compiler
|
|
sync_cg_clif-2023-11-10
|
|
|
|
|
|
enable unstable feature on `x clean [PATH]`
Since https://github.com/rust-lang/rust/pull/111076 enables unstable cargo feature (`public-dependency`), we need to ensure that unstable features are enabled before reading libstd Cargo.toml.
Fixes #117762
cc `@Nilstrieb`
|
|
update and clarify addr_of docs
This updates the docs to match https://github.com/rust-lang/reference/pull/1387. Cc `@rust-lang/opsem`
`@chorman0773` not sure if you had anything else you wanted to say here, I'd be happy to get your feedback. :)
Fixes https://github.com/rust-lang/rust/issues/114902, so Cc `@joshlf`
|
|
data_race: link to docs for 'unusual' race conditions
|
|
|
|
Co-authored-by: Josh Stone <cuviper@gmail.com>
|
|
bump few ICU4X leftover deps
implements https://github.com/rust-lang/rust/pull/117632#issuecomment-1795027801 suggestion
There no strict version dependencies between some crates, so yoke was 0.7.2, but yoke-derive left with 0.7.1, same with zerofrom, zerofrom-derive, zerovec, zerovec-derive; drops synstructure 0.12* dependency, less syn 1.* users left.
|
|
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- #114191 (Update exploit mitigations documentation)
- #117039 (Clarify UB in `get_unchecked(_mut)`)
- #117730 (Closure-consuming helper functions for `fmt::Debug` helpers)
- #117741 (Fix typo in internal.rs)
- #117743 (Suggest removing `;` for `;` within let-chains)
- #117751 (rustdoc-json: Fix test so it actually checks things)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
rustdoc-json: Fix test so it actually checks things
After #111427, no item has a `kind` field, so these assertions could never fail. Instead, assert that those two items arn't present.
r? `@GuillaumeGomez`
|
|
Suggest removing `;` for `;` within let-chains
Fixes #117720
|
|
Fix typo in internal.rs
covert -> convert
|