| Age | Commit message (Collapse) | Author | Lines |
|
Update cargo
6 commits in 05f54fdc34310f458033af8a63ce1d699fae8bf6..20a443231846b81c7b909691ec3f15eb173f2b18
2024-12-03 03:14:12 +0000 to 2024-12-06 21:56:56 +0000
- fix(fingerprint): Don't throwaway the cache on RUSTFLAGS changes (rust-lang/cargo#14830)
- fix(build-rs)!: Remove meaningless 'cargo_cfg_debug_assertions' (rust-lang/cargo#14901)
- docs(fingerprint): cargo-rustc extra flags do not affect the metadata (rust-lang/cargo#14898)
- fix(add): Don't select yanked versions when normalizing names (rust-lang/cargo#14895)
- fix(fix): Migrate workspace dependencies (rust-lang/cargo#14890)
- test(build-std): make mock-std closer to real world (rust-lang/cargo#14896)
|
|
As a rule, the application of `unsafe` to a declaration requires that use-sites
of that declaration also require `unsafe`. For example, a field declared
`unsafe` may only be read in the lexical context of an `unsafe` block.
For nearly all safe traits, the safety obligations of fields are explicitly
discharged when they are mentioned in method definitions. For example,
idiomatically implementing `Clone` (a safe trait) for a type with unsafe fields
will require `unsafe` to clone those fields.
Prior to this commit, `Copy` violated this rule. The trait is marked safe, and
although it has no explicit methods, its implementation permits reads of `Self`.
This commit resolves this by making `Copy` conditionally safe to implement. It
remains safe to implement for ADTs without unsafe fields, but unsafe to
implement for ADTs with unsafe fields.
Tracking: #132922
|
|
subtypes
That's because they can be the same function but still different substs, which mandates them to coerce to fn pointers in order to unify.
|
|
|
|
|
|
minor: Migrate `flip_*` assists to `SyntaxEditor`
|
|
fix: Temporarily disable completion resolve support for helix and neovim
|
|
Rollup of 7 pull requests
Successful merges:
- #130209 (Stabilize `std::io::ErrorKind::CrossesDevices`)
- #130254 (Stabilize `std::io::ErrorKind::QuotaExceeded`)
- #132187 (Add Extend impls for tuples of arity 1 through 12)
- #133875 (handle `--json-output` properly)
- #133934 (Do not implement unsafe auto traits for types with unsafe fields)
- #133954 (Hide errors whose suggestions would contain error constants or types)
- #133960 (rustdoc: remove eq for clean::Attributes)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
|
|
actual output for lines which didn't match
example output:
```
failures:
---- [ui] tests/ui/layout/enum.rs stdout ----
diff of stderr:
- error: align: AbiAndPrefAlign { abi: Align(2 bytes), pref: $PREF_ALIGN }
+ error: align: AbiAndPrefAlign { abi: Align(2 bytes), pref: $PREF_ALIN }
2 --> $DIR/enum.rs:9:1
3 |
4 LL | enum UninhabitedVariantAlign {
Note: some mismatched output was normalized before being compared
- error: align: AbiAndPrefAlign { abi: Align(2 bytes), pref: Align(8 bytes) }
- --> /home/jyn/src/rust2/tests/ui/layout/enum.rs:9:1
+ error: align: AbiAndPrefAlign { abi: Align(2 bytes), pref: $PREF_ALIN }
```
|
|
|
|
|
|
|
|
|
|
rustdoc: remove eq for clean::Attributes
This change removes the `PartialEq` and `Eq` implementations from `Attributes`. This implementation was not used, and whether the implementation is useful at all is questionable. I care about removing it, because I'm working #131229. While simplifying the representation of attributes, I intend to remove attr ids from attributes where possible. They're actually rarely useful. This piece of code uses them, but for no real reason, so I think simply removing the implementation makes most sense. Let me know if there are major objections to this.
|
|
handle `--json-output` properly
Because `rustfmt` doesn't support JSON output, `x test --json-output` doesn't respect the `--json-output` flag during formatting step. This change makes that `x test` skips the formatting step if `--json-output` is specified. In addition, resolves #133855 with the 2nd commit.
|
|
Stabilize `std::io::ErrorKind::QuotaExceeded`
Also drop "Filesystem" from its name.
See #130190 for more info.
FCP in #130190
cc #86442
r? `@dtolnay`
|
|
|
|
|
|
It was inconsistently done (sometimes even within a single function) and
most of the rest of the compiler uses fatal errors instead, which need
to be caught using catch_with_exit_code anyway. Using fatal errors
instead of ErrorGuaranteed everywhere in the driver simplifies things a
bit.
|
|
It was inconsistently done (sometimes even within a single function) and
most of the rest of the compiler uses fatal errors instead, which need
to be caught using catch_with_exit_code anyway. Using fatal errors
instead of ErrorGuaranteed everywhere in the driver simplifies things a
bit.
|
|
And pass this to the individual emitters when necessary.
|
|
Stabilize noop_waker
Tracking Issue: #98286
This is a handy feature that's been used widely in tests and example async code and it'd be nice to make it available to users.
cc `@rust-lang/wg-async`
|
|
|
|
|
|
Sync cg clif 2024 12 06
The main highlights this time are a Cranelift update disabling the clif ir verifier by default for better performance.
r? `@ghost`
`@rustbot` label +A-codegen +A-cranelift +T-compiler
|
|
Highlight right angle as part of fat arrow in macro rules arm
|
|
|
|
Add typing handler for param list pipe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bordering replacements should not be considered intersecting
|
|
|
|
To make it more consistent with the rest of the anchors.
|
|
|
|
Improve heuristics for on typing semicolon insertion
|
|
|
|
Migrate `add_turbo_fish` to `SyntaxEditor`
|
|
minor: run `FlycheckHandle::restart_workspace` when `check_workspace` true
|
|
|
|
feat: Support `AsyncFnX` traits
|
|
Cranelift being disabled
|
|
Make bracket typing handler work on more things
|