Yotam Ofek
0e32036deb
gce: don't ICE on non-local const
2025-06-27 18:07:07 +00:00
bors
e61dd437f3
Auto merge of #143074 - compiler-errors:rollup-cv64hdh, r=compiler-errors
...
Rollup of 18 pull requests
Successful merges:
- rust-lang/rust#137843 (make RefCell unstably const)
- rust-lang/rust#140942 (const-eval: allow constants to refer to mutable/external memory, but reject such constants as patterns)
- rust-lang/rust#142549 (small iter.intersperse.fold() optimization)
- rust-lang/rust#142637 (Remove some glob imports from the type system)
- rust-lang/rust#142647 ([perf] Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation)
- rust-lang/rust#142700 (Remove incorrect comments in `Weak`)
- rust-lang/rust#142927 (Add note to `find_const_ty_from_env`)
- rust-lang/rust#142967 (Fix RwLock::try_write documentation for WouldBlock condition)
- rust-lang/rust#142986 (Port `#[export_name]` to the new attribute parsing infrastructure)
- rust-lang/rust#143001 (Rename run always )
- rust-lang/rust#143010 (Update `browser-ui-test` version to `0.20.7`)
- rust-lang/rust#143015 (Add `sym::macro_pin` diagnostic item for `core::pin::pin!()`)
- rust-lang/rust#143033 (Expand const-stabilized API links in relnotes)
- rust-lang/rust#143041 (Remove cache for citool)
- rust-lang/rust#143056 (Move an ACE test out of the GCI directory)
- rust-lang/rust#143059 (Fix 1.88 relnotes)
- rust-lang/rust#143067 (Tracking issue number for `iter_macro`)
- rust-lang/rust#143073 (Fix some fixmes that were waiting for let chains)
Failed merges:
- rust-lang/rust#143020 (codegen_fn_attrs: make comment more precise)
r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-27 00:44:20 +00:00
Ralf Jung
492526548d
const-eval: allow constants to refer to mutable/external memory, but reject such constants as patterns
2025-06-26 18:09:47 +02:00
Michael Goulet
250b5d204f
Make missing lifetime suggestion verbose
2025-06-24 18:59:42 +00:00
Jakub Beránek
0093ca5c76
Rollup merge of #141610 - BoxyUwU:stabilize_generic_arg_infer, r=lcnr,traviscross
...
Stabilize `feature(generic_arg_infer)`
Fixes rust-lang/rust#85077
r? lcnr
cc ````@rust-lang/project-const-generics````
2025-06-18 18:06:49 +02:00
Boxy
fe04ae7faf
stabilize gai
2025-06-11 15:30:15 +01:00
Martin Nordholts
4882ea4b3c
rustc_resolve: Improve resolve_const_param_in_non_trivial_anon_const wording
...
In some contexts, const expressions are OK. Add a `here` to the error
message to clarify this.
2025-06-07 13:01:16 +02:00
Oli Scherer
020216c31c
Clarify why we are talking about a failed const eval at a random place
2025-06-02 15:37:15 +00:00
Oli Scherer
b331b8b96d
Use the informative error as the main const eval error message
2025-06-02 15:37:15 +00:00
Michael Goulet
d0413436d5
Do not try to confirm non-dyn compatible method
2025-05-23 12:20:35 +00:00
Boxy
b1774b8d73
Fix tests
2025-05-21 20:20:19 +01:00
Michael Goulet
45598de704
Do not gather local all together at the beginning of typeck
2025-05-05 14:27:09 +00:00
Boxy
238d113b07
Set groundwork for proper const normalization
2025-05-01 20:05:02 +01:00
Chris Denton
546367ef69
Rollup merge of #139607 - reddevilmidzy:add-regression-test, r=petrochenkov
...
Add regression test for #127424
Fixes: https://github.com/rust-lang/rust/issues/127424
This ICE no longer reproduces, so it appears to have already been fixed.
This PR adds a regression test to ensure the issue doesn’t come back in the future.
Please let me know if there's anything I should improve or revise!
2025-04-13 03:07:06 +00:00
reddevilmidzy
11256a0fb0
Add regression test for #127424
2025-04-12 22:16:08 +09:00
Vadim Petrochenkov
5c160f511e
compiletest: Stricter parsing for diagnostic kinds
2025-04-07 19:13:31 +03:00
Oli Scherer
cb4751d4b8
Implement #[define_opaque] attribute for functions.
2025-03-11 12:05:02 +00:00
Michael Goulet
0baee2432a
Don't typeck during WF, instead check outside of WF in check_crate
2025-03-03 23:09:42 +00:00
Michael Goulet
6d71251cf9
Trim suggestion parts to the subset that is purely additive
2025-02-14 00:44:10 -08:00
Michael Goulet
b480a9214a
Use underline suggestions for purely 'additive' replacements
2025-02-14 00:27:13 -08:00
lcnr
83a02619d5
fallout :skull_emoji:
2025-02-14 00:37:23 +01:00
Esteban Küber
f0845adb0c
Show diff suggestion format on verbose replacement
...
```
error[E0610]: `{integer}` is a primitive type and therefore doesn't have fields
--> $DIR/attempted-access-non-fatal.rs:7:15
|
LL | let _ = 2.l;
| ^
|
help: if intended to be a floating point literal, consider adding a `0` after the period and a `f64` suffix
|
LL - let _ = 2.l;
LL + let _ = 2.0f64;
|
```
2025-02-10 20:21:39 +00:00
Matthias Krüger
308ea7120b
Rollup merge of #135860 - fmease:compiler-mv-obj-save-dyn-compat-ii, r=jieyouxu
...
Compiler: Finalize dyn compatibility renaming
Update the Reference link to use the new URL fragment from https://github.com/rust-lang/reference/pull/1666 (this change has finally hit stable). Fixes a FIXME.
Follow-up to #130826 .
Part of #130852 .
~~Blocking it on #133372.~~ (merged)
r? ghost
2025-01-31 12:28:15 +01:00
Michael Goulet
7e68422859
Properly check that array length is valid type during built-in unsizing in index
2025-01-28 17:52:28 +00:00
León Orell Valerian Liehr
57b5d3af62
Compiler: Finalize dyn compatibility renaming
2025-01-26 21:20:31 +01:00
bors
a30f9151fe
Auto merge of #135896 - matthiaskrgr:rollup-g6rv7za, r=matthiaskrgr
...
Rollup of 9 pull requests
Successful merges:
- #132983 (Edit dangling pointers )
- #135409 (Fix ICE-133117: multiple never-pattern arm doesn't have false_edge_start_block)
- #135557 (Point at invalid utf-8 span on user's source code)
- #135596 (Properly note when query stack is being cut off)
- #135794 (Detect missing fields with default values and suggest `..`)
- #135814 (ci: use ghcr buildkit image)
- #135826 (Misc. `rustc_resolve` cleanups)
- #135837 (Remove test panic from File::open)
- #135856 (Library: Finalize dyn compatibility renaming)
r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-22 22:19:08 +00:00
Taylor Cramer
d00d4dfe0d
Refactor dyn-compatibility error and suggestions
...
This CL makes a number of small changes to dyn compatibility errors:
- "object safety" has been renamed to "dyn-compatibility" throughout
- "Convert to enum" suggestions are no longer generated when there
exists a type-generic impl of the trait or an impl for `dyn OtherTrait`
- Several error messages are reorganized for user readability
Additionally, the dyn compatibility error creation code has been
split out into functions.
cc #132713
cc #133267
2025-01-22 09:20:57 -08:00
Michael Goulet
be56f10a69
Properly note when query stack is being cut off
2025-01-16 19:12:22 +00:00
Michael Goulet
85c9ce6d79
Remove a bunch of diagnostic stashing that doesn't do anything
2025-01-11 19:22:06 +00:00
Oli Scherer
07fcead073
Always take the Ok path in lit_to_const and produce error constants instead
2025-01-09 08:48:00 +00:00
John Kåre Alsaker
4bf85c25ec
Try to write the panic message with a single write_all call
2025-01-01 15:58:29 +01:00
Zalathar
835fbcbcab
Remove the -test suffix from normalize directives
2024-12-27 19:58:16 +11:00
lcnr
f0ae48d106
add tests
2024-12-18 16:35:06 +01:00
Ralf Jung
ed8ee39930
fix ICE on type error in promoted
2024-12-09 15:17:26 +01:00
Ben Kimock
711c8cc690
Remove polymorphization
2024-12-06 16:42:09 -05:00
Ralf Jung
a17294dc0f
fix ICE when promoted has layout size overflow
2024-12-01 19:52:27 +01:00
Matthias Krüger
5d0ee56e88
Rollup merge of #133518 - compiler-errors:structurally-resolve-never, r=lcnr
...
Structurally resolve before checking `!` in HIR typeck
Some more missing structural resolves in HIR typeck :>
r? lcnr
2024-11-27 22:23:26 +01:00
Michael Goulet
4c0ea55f40
Bless tests due to extra error reporting due to normalizing types that are not WF
...
It's okay though b/c these are duplicated diagnostics.
2024-11-27 03:34:58 +00:00
Michael Goulet
82622c6876
Rollup merge of #133471 - lcnr:uwu-gamer, r=BoxyUwU
...
gce: fix typing_mode mismatch
Fixes #133271
r? `@BoxyUwU`
2024-11-26 20:35:39 -05:00
lcnr
58936c1d2a
fix gce typing_mode mismatch
2024-11-25 19:58:12 +01:00
Michael Goulet
28970a2cb0
Simplify array length mismatch error reporting
2024-11-24 03:32:11 +00:00
Michael Goulet
0465f71d60
Stop being so bail-y in candidate assembly
2024-11-21 01:35:34 +00:00
Boxy
bea0148ac6
Consolidate type system const evaluation under traits::evaluate_const
...
mew
2024-11-12 02:54:03 +00:00
Michael Goulet
0b5ddf30eb
Yeet effects feature
2024-11-03 18:59:31 +00:00
Esteban Küber
5b54286640
Remove detail from label/note that is already available in other note
...
Remove the "which is required by `{root_obligation}`" post-script in
"the trait `X` is not implemented for `Y`" explanation in E0277. This
information is already conveyed in the notes explaining requirements,
making it redundant while making the text (particularly in labels)
harder to read.
```
error[E0277]: the trait bound `NotCopy: Copy` is not satisfied
--> $DIR/wf-static-type.rs:10:13
|
LL | static FOO: IsCopy<Option<NotCopy>> = IsCopy { t: None };
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `NotCopy`
|
= note: required for `Option<NotCopy>` to implement `Copy`
note: required by a bound in `IsCopy`
--> $DIR/wf-static-type.rs:7:17
|
LL | struct IsCopy<T:Copy> { t: T }
| ^^^^ required by this bound in `IsCopy`
```
vs the prior
```
error[E0277]: the trait bound `NotCopy: Copy` is not satisfied
--> $DIR/wf-static-type.rs:10:13
|
LL | static FOO: IsCopy<Option<NotCopy>> = IsCopy { t: None };
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `NotCopy`, which is required by `Option<NotCopy>: Copy`
|
= note: required for `Option<NotCopy>` to implement `Copy`
note: required by a bound in `IsCopy`
--> $DIR/wf-static-type.rs:7:17
|
LL | struct IsCopy<T:Copy> { t: T }
| ^^^^ required by this bound in `IsCopy`
```
2024-10-29 16:26:57 +00:00
Deadbeef
f2f67232a5
Deny calls to non-#[const_trait] methods in MIR constck
2024-10-26 11:35:56 +08:00
lcnr
1a9d2d82a5
stabilize -Znext-solver=coherence
2024-10-15 13:11:00 +02:00
VulnBandit
9a2772e1c2
Don't assume traits used as type are trait objs
2024-10-11 17:36:04 +02:00
León Orell Valerian Liehr
20cebae312
UI tests: Rename "object safe" to "dyn compatible"
2024-10-10 01:13:29 +02:00
Barrett Ray
c5598d6a9e
fix(hir_analysis/wfcheck): don't leak {type error}
...
avoid `{type error}` being leaked in user-facing messages,
particularly when using the `adt_const_params` feature
2024-09-29 23:40:43 -05:00