| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
This commit checks that the target type of the cast (an error related
to which is being reported) does not have types to be inferred before
checking if it implements the `From` trait.
Signed-off-by: David Wood <david@davidtw.co>
|
|
This commit stops linting against `Box` in `extern "C" fn`s for the
`improper_ctypes_definitions` lint - boxes are documented to be
FFI-safe.
Signed-off-by: David Wood <david@davidtw.co>
|
|
|
|
This commit re-uses the `transparent_newtype_field` function instead of
manually calling `is_zst` on normalized fields to determine which field
in a transparent type is the non-zero-sized field, thus avoiding an ICE.
Signed-off-by: David Wood <david@davidtw.co>
|
|
|
|
We were missing an Instance::resolve_for_fn_ptr in resolve_for_vtable.
Closes #74764.
|
|
|
|
|
|
|
|
Added detailed error code explanation for issue E0688 in Rust compiler.
Added proper error explanation for issue E0688 in the Rust compiler.
Error Code E0688
Sub Part of Issue #61137
r? @GuillaumeGomez
|
|
#71669: add ui, codegen tests for volatile + nearby int intrinsics
Added some tests for intrinsics. See https://github.com/rust-lang/rust/issues/71669.
|
|
|
|
|
|
|
|
|
|
|
|
Fix #74081 and add the test case from #74236
|
|
Reword incorrect `self` token suggestion
|
|
Add a help to use `in_band_lifetimes` in nightly
Fixes #73775
|
|
Stabilize `transmute` in constants and statics but not const fn
cc #53605 (leaving issue open so we can add `transmute` to `const fn` later)
Previous attempt: #64011
r? @RalfJung
cc @rust-lang/wg-const-eval
|
|
|
|
|
|
Avoid "whitelist"
Other terms are more inclusive and precise.
|
|
Correctly mark the ending span of a match arm
Closes #74050
r? @matthewjasper
|
|
Only allow `repr(i128/u128)` on enum
Fixes #74082
|
|
Only add CFGuard on `windows-msvc` targets
As @ollie27 pointed out in #73893, the `cfguard` module flag causes incorrect behavior on `windows-gnu` targets. This patch restricts rustc to only add this flag for `windows-msvc` targets (this may need to be changed if other linkers gain support for CFGuard).
|
|
adjust ub-enum test to be endianess-independent
@cuviper noted that our test fails on "other" endianess systems (I never know which is which^^), so let's fix that.
|
|
stabilize const mem::forget
Stabilizes const `mem::forget` as implemented in https://github.com/rust-lang/rust/pull/69617 and tracked in https://github.com/rust-lang/rust/issues/69616.
Closes https://github.com/rust-lang/rust/issues/69616
|
|
Stabilize casts and coercions to `&[T]` in const fn
Part of #64992
There was never a reason to not stabilize this, we just accidentally prevented them when we implemented the `min_const_fn` feature that gave us `const fn` on stable. This PR stabilizes these casts (which are already stable in `const` outside `const fn`), while keeping all other unsizing casts (so `T` -> `dyn Trait`) unstable within const fn.
These casts have no forward compatibility concerns with any future features for const eval and users were able to use them under the `const_fn` feature gate already since at least the miri merger, possibly longer.
r? @rust-lang/lang
|
|
Accept tuple.0.0 as tuple indexing (take 2)
If we expect something identifier-like when parsing a field name after `.`, but encounter a float token, we break that float token into parts, similarly to how we break `&&` into `&` `&`, or `<<` into `<` `<`, etc.
An alternative to https://github.com/rust-lang/rust/pull/70420.
|
|
Other terms are more inclusive and precise.
|
|
|
|
|
|
|
|
|
|
r=petrochenkov
Tweak `::` -> `:` typo heuristic and reduce verbosity
Do not trigger on correct type ascription expressions with trailing
operators and _do_ trigger on likely path typos where a turbofish is
used.
On likely path typos, remove note explaining type ascription.
Clean up indentation.
r? @petrochenkov
|
|
Do not trigger on correct type ascription expressions with trailing
operators and _do_ trigger on likely path typos where a turbofish is
used.
On likely path typos, remove note explaining type ascription.
|
|
Other terms are more inclusive and precise.
Clippy still has a lint named "blacklisted-name", but renaming it would
be a breaking change, so is left for future work.
The target configuration option "abi-blacklist" has been depreciated and
renamed to "unsupported-abis". The old name continues to work.
|
|
Closes #74050
r? @matthewjasper
|
|
Miri value validation: fix handling of uninit memory
Fixes https://github.com/rust-lang/miri/issues/1456
Fixes https://github.com/rust-lang/miri/issues/1467
r? @oli-obk
|
|
Fix const prop ICE
we used to erase the local just before we tried to read it for diagnostics
fixes #73993
r? @wesleywiser
|
|
davidtwco:issue-73914-checkedadd-temp-generator-interior, r=matthewjasper
mir: mark mir construction temporaries as internal
Fixes #73914.
This PR marks temporaries from MIR construction as internal such that they are skipped in `sanitize_witness` (where each MIR local is checked to have been contained within the generator interior computed during typeck). This resolves an ICE whereby the construction of checked addition introduced a `(u64, bool)` temporary which was not in the HIR and thus not in the generator interior.
r? @matthewjasper
|
|
Audit hidden/short code suggestions
Should fix #73641.
Audit uses of `span_suggestion_short` and `tool_only_span_suggestion` (`span_suggestion_hidden` is already tested with `run-rustfix`). Leave some FIXMEs for futher improvements/fixes.
r? @estebank
|
|
|
|
add `lazy_normalization_consts` feature gate
In #71973 I underestimated the amount of code which is influenced by lazy normalization of consts
and decided against having a separate feature flag for this.
Looking a bit more into this, the following issues are already working with lazy norm in its current state #47814 #57739 #73980
I therefore think it is worth it to enable lazy norm separately. Note that `#![feature(const_generics)]` still automatically activates
this feature, so using `#![feature(const_generics, lazy_normalization_consts)]` is redundant.
r? @varkor @nikomatsakis
|
|
Use `Span`s to identify unreachable subpatterns in or-patterns
Fixes #71977
|
|
Explain exhaustive matching on {usize,isize} maximum values
The wording is taken from https://github.com/rust-lang/rfcs/blob/master/text/2591-exhaustive-integer-pattern-matching.md#reference-level-explanation.
Fixes #73919
r? @varkor
|