| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Move more early buffered lints to dyn lint diagnostics
Follow-up to rust-lang/rust#145747.
Presently, it's unclear to me if it's possible to migrate all variants to dyn lint diagnostics without regressing performance because for some early lints `decorate_builtin_lint` performs a bit more work (past PR rust-lang/rust#124417 has shown that eagerly decorating early lints is incredibly heavy and we had to revert back to lazily decorating in rust-lang/rust#125410). Let's see how this fares once I tackle the more 'risky' variants.
cc `@joshtriplett` (you can immediately unsubscribe again, I just want to prevent duplicate efforts).
|
|
|
|
|
|
Dropped in favor a hard error in RUST-127907.
|
|
|
|
|
|
|
|
Fixes https://github.com/rust-lang/rust-clippy/issues/14157
Fixes https://github.com/rust-lang/rust-clippy/issues/15666
changelog: [`elidable_lifetime_names`]: avoid overlapping spans in
suggestions
r? clippy
|
|
|
|
|
|
|
|
|
|
|
|
fix: Don't trigger two flychecks when saving files that are part of targets
|
|
These targets are not widely used, and are difficult to test because
qemu-system-arm cannot emulate them.
|
|
Automatic Rustup
|
|
Noticed while working on rust-lang/rust-clippy#15673.
changelog: none
|
|
desugaring (#15654)
Fixes https://github.com/rust-lang/rust-clippy/issues/13879
changelog: [`multiple_unsafe_ops_per_block`]: ignore unsafe ops from
`.await` desugaring
|
|
|
|
Brings the list of checkable features up to date with the initial release of macOS 26 "Tahoe".
|
|
|
|
Now that this feature has a standard identifier, Darwin has started exposing it accordingly, in addition to the existing less-standard way. Check both, and enable the `crc` feature if either identifier for it is present to ensure backwards and forwards compatibility.
|
|
r=scrabsha
Crate level into allowed targets
r? `@scrabsha`
`@rustbot` blocked on https://github.com/rust-lang/rust/pull/146389
|
|
|
|
This commit performs various improvements (better register allocation,
less register clobbering on the worst case and better readability) of
RISC-V inline assembly use cases.
Note that it does not change the `p` module (which defines the "P"
extension draft instructions but very likely to change).
1. Use `lateout` as possible.
Unlike `out(reg)` and `in(reg)` pair, `lateout(reg)` and `in(reg)`
can share the same register because they state that the late-output
register is written after all the reads are performed.
It can improve register allocation.
2. Add `preserves_flags` option as possible.
While RISC-V doesn't have _regular_ condition codes, RISC-V inline
assembly in the Rust language assumes that some registers
(mainly vector state registers) may be overwritten by default.
By adding `preserves_flags` to the intrinsics corresponding
instructions without overwriting them, it can minimize register
clobbering on the worst case.
3. Use trailing semicolon.
As `asm!` declares an action and it doesn't return a value by
itself, it would be better to have trailing semicolon to denote that
an `asm!` call is effectively a statement.
4. Make most of `asm!` calls multi-lined.
`rustfmt` makes some simple (yet long) `asm!` calls multi-lined but
it does not perform formatting of complex `asm!` calls with inputs
and/or outputs. To keep consistency, it makes most of the `asm!`
calls multi-lined.
|
|
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: a015919e54c60b1b2bec7a98dec478cfc4a48f4e
Filtered ref: 1867c5844dba22ac4d77d1ceb7d1624c14139c16
Upstream diff: https://github.com/rust-lang/rust/compare/4ba1cf9ade4c8e2fa10676a50ee34594eb161837...a015919e54c60b1b2bec7a98dec478cfc4a48f4e
This merge was created using https://github.com/rust-lang/josh-sync.
|
|
This updates the rust-version file to a015919e54c60b1b2bec7a98dec478cfc4a48f4e.
|
|
|
|
This is useful for using it with `dbg!()`.
changelog: none
r? Jarcho
|
|
Bump version to 1.92.0
https://forge.rust-lang.org/release/process.html#bump-the-stable-version-number-friday-the-week-before
|
|
These functions used to be shared with the JSON backend but nowadays they
aren't.
|
|
|
|
Rollup of 8 pull requests
Successful merges:
- rust-lang/rust#113095 (Document `become` keyword)
- rust-lang/rust#146159 (Some hygiene doc improvements)
- rust-lang/rust#146171 (tidy: check that error messages don't start with a capitalized letter)
- rust-lang/rust#146419 (Update the arm-* and aarch64-* platform docs.)
- rust-lang/rust#146473 (Revert "Constify SystemTime methods")
- rust-lang/rust#146506 (Fix small typo in check-cfg.md)
- rust-lang/rust#146517 (fix Condvar::wait_timeout docs)
- rust-lang/rust#146521 (document `core::ffi::VaArgSafe`)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
document `core::ffi::VaArgSafe`
tracking issue: https://github.com/rust-lang/rust/issues/44930
A modification of https://github.com/rust-lang/rust/pull/146454, keeping just the documentation changes, but not unsealing the trait.
Although conceptually we'd want to unseal the trait, there are many edge cases to supporting arbitrary types. We'd need to exhaustively test that all targets/calling conventions support all types that rust might generate (or generate proper error messages for unsupported cases). At present, many of the `va_arg` implementations assume that the argument is a scalar, and has an alignment of at most 8. That is totally sufficient for an MVP (accepting all of the "standard" C types), but clearly does not cover all rust types.
This PR also adds some various other tests for edge cases of c-variadic:
- the `#[inline]` attribute in its various forms. At present, LLVM is unable to inline c-variadic functions, but the attribute should still be accepted. `#[rustc_force_inline]` already rejects c-variadic functions.
- naked functions should accept and work with a C variable argument list. In the future we'd like to allow more ABIs with naked functions (basically, any ABI for which we accept defining foreign c-variadic functions), but for now only `"C"` and `"C-unwind` are supported
- guaranteed tail calls: c-variadic functions cannot be tail-called. That was already rejected, but there was not test for it.
r? `@workingjubilee`
|
|
fix Condvar::wait_timeout docs
[Context](https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/Condvar.20wait_timeout.20sleep.20duration.20decremented/with/539279839)
r? `@joboet`
|
|
Fix small typo in check-cfg.md
|
|
Revert "Constify SystemTime methods"
This reverts https://github.com/rust-lang/rust/pull/144519. The const-hacks introduces bugs, and they make the code harder to maintain. Let's wait until we can constify these functions without changing their implementation.
Fixes https://github.com/rust-lang/rust/issues/146228.
Closes https://github.com/rust-lang/rust/issues/144517 (since the feature is gone).
r? `@tgross35`
Cc `@clarfonthey`
|
|
Update the arm-* and aarch64-* platform docs.
This PR updates some of the arm*-unknown-none target docs, and adds some missing target pages.
## aarch64-none-elf and aarch64-none-elf-softfloat
The Rust Embedded Devices Working Group's Arm Team is added as a maintainer, and a target page is added. Links are added to the EDWG's support crates for this target.
## armv7a-none-eabi and armv7a-none-eabihf
The Rust Embedded Devices Working Group's Arm Team is added as a maintainer, and a target page is added. Links are added to the EDWG's support crates for this target.
## armv7r-none-eabi and armv7r-none-eabihf
The Rust Embedded Devices Working Group's Arm Team is added as a maintainer, and the target page is split from the Big Endian versions. Links are added to the EDWG's support crates for this target.
## armebv7r-none-eabi and armveb7r-none-eabihf
The target page is split from the Little Endian versions. No change in maintainers.
I have agreement to add EDWG/T-Arm as maintainers, which was voted upon in [their repo](https://github.com/rust-embedded/wg/issues/851).
|
|
tidy: check that error messages don't start with a capitalized letter
|
|
Some hygiene doc improvements
Improve some doc comments around SyntaxContext, outer_expn and friends.
Based on discussion at https://github.com/rust-lang/rust/pull/146100.
r? petrochenkov
|
|
r=workingjubilee
Document `become` keyword
The feature is not yet implemented, so I'm not sure if we should merge this _right away_, promoting an incomplete feature is probably not the best idea. But the docs can be reviewed while the implementation work is being done.
|
|
jdonszelmann:update-fixme-compare_method_predicate_entailment, r=lcnr
update fixme in compare_method_predicate_entailment resulting from review of EII
r? `@lcnr`
Just the comment update separately from https://github.com/rust-lang/rust/pull/146348/files since it doesn't really belong in that PR. Should be trivial
|
|
they don't do anything, because LLVM is unable to inline c-variadic functions (on most targets, anyway)
|
|
as far as I can see this was not tested, though the error message was already implemented
|
|
|
|
and document `VaList::arg`.
|
|
This is useful for using it with `dbg!()`.
|
|
This is important to note, as it affects how easy it is to build a
binary, and that `#![no_std]` is mandatory.
A different PR should probably add this to all the other platform pages.
|
|
|