Oli Scherer
543c860ea6
Constify Fn* traits
2025-07-08 14:36:43 +00:00
León Orell Valerian Liehr
f77fead002
Fix the span of trait bound modifier [const]
2025-06-29 04:56:28 +02:00
Oli Scherer
eb7245a864
Change const trait bound syntax from ~const to [const]
2025-06-26 13:46:45 +00:00
Oli Scherer
0b6e493515
Merge typeck loop with static/const item eval loop
2025-05-09 15:31:27 +00:00
Oli Scherer
cb4751d4b8
Implement #[define_opaque] attribute for functions.
2025-03-11 12:05:02 +00:00
Ralf Jung
0922c191d5
fix known-bug link in normalize-tait-in-const
2025-01-15 09:32:30 +01:00
Michael Goulet
c64f859521
Implement const Destruct in old solver
2025-01-08 18:14:58 +00:00
Esteban Küber
4007fc9a0f
Tweak wording of non-const traits used as const bounds
...
Use verbose suggestions and add additional labels/notes.
Add more test cases for stable/nightly and feature enabled/disabled.
2024-12-10 00:38:05 +00:00
Esteban Küber
d860e5b088
Mention type parameter in more cases and don't suggest ~const bound already there
2024-12-07 21:37:13 +00:00
Esteban Küber
d13c34828e
reword trait bound suggestion message to include the bounds
2024-12-07 21:26:20 +00:00
Michael Goulet
30afeb0357
Adjust HostEffect error spans correctly to point at args
2024-12-01 05:11:42 +00:00
Michael Goulet
bd44b632a8
Constify Drop and Destruct
2024-11-25 17:27:41 +00:00
Michael Goulet
bd95695b94
Pass constness with span into lower_poly_trait_ref
2024-10-26 20:54:38 +00:00
Deadbeef
f2f67232a5
Deny calls to non-#[const_trait] methods in MIR constck
2024-10-26 11:35:56 +08:00
Michael Goulet
cde29b9ec9
Implement const effect predicate in new solver
2024-10-24 09:46:36 +00:00
Ralf Jung
49316f871c
also stabilize const_refs_to_cell
2024-09-15 10:20:47 +02:00
Michael Goulet
32c8bfdb11
Improve error message
2024-07-10 17:15:02 -04:00
Michael Goulet
e8445818d4
Reorder modifiers and polarity to be *after* binder in trait bounds
2024-07-10 17:15:02 -04:00
Deadbeef
a6a83d3d4e
bless tests
2024-06-21 11:57:24 +00:00
Oli Scherer
0bc2001879
Require any function with a tait in its signature to actually constrain a hidden type
2024-06-12 08:53:59 +00:00
Esteban Küber
e6bd6c2044
Use parenthetical notation for Fn traits
...
Always use the `Fn(T) -> R` format when printing closure traits instead of `Fn<(T,), Output = R>`.
Fix #67100 :
```
error[E0277]: expected a `Fn()` closure, found `F`
--> file.rs:6:13
|
6 | call_fn(f)
| ------- ^ expected an `Fn()` closure, found `F`
| |
| required by a bound introduced by this call
|
= note: wrap the `F` in a closure with no arguments: `|| { /* code */ }`
note: required by a bound in `call_fn`
--> file.rs:1:15
|
1 | fn call_fn<F: Fn() -> ()>(f: &F) {
| ^^^^^^^^^^ required by this bound in `call_fn`
help: consider further restricting this bound
|
5 | fn call_any<F: std::any::Any + Fn()>(f: &F) {
| ++++++
```
2024-05-29 22:26:54 +00:00
Gary Guo
cfee72aa24
Fix tests and bless
2024-04-24 13:12:33 +01:00
Esteban Küber
6c31f6ce12
Provide structured suggestion for #![feature(foo)]
...
```
error: `S2<'_>` is forbidden as the type of a const generic parameter
--> $DIR/lifetime-in-const-param.rs:5:23
|
LL | struct S<'a, const N: S2>(&'a ());
| ^^
|
= note: the only supported types are integers, `bool` and `char`
help: add `#![feature(adt_const_params)]` to the crate attributes to enable more complex and user defined types
|
LL + #![feature(adt_const_params)]
|
```
Fix #55941 .
2024-03-18 16:08:58 +00:00
Oli Scherer
eab2adb660
Continue to borrowck even if there were previous errors
2024-02-08 08:10:43 +00:00
León Orell Valerian Liehr
3eb48a35c8
Introduce const Trait (always-const trait bounds)
2023-12-27 12:51:32 +01:00
Nilstrieb
41e8d152dc
Show number in error message even for one error
...
Co-authored-by: Adrian <adrian.iosdev@gmail.com >
2023-11-24 19:15:52 +01:00
Deadbeef
2063ebc3ea
bless the known-bug tests
2023-09-20 03:02:14 +00:00
Deadbeef
04eec37dc2
Enable effects for libcore
2023-09-20 03:02:14 +00:00
Deadbeef
4fec845c3f
Remove constness from TraitPredicate
2023-08-02 15:38:00 +00:00
Deadbeef
2d59451274
update tests, adding known-bug
2023-07-27 15:51:02 +00:00
Alan Egerton
a9b2354a1d
Normalize line+col in normalize-tait-in-const test
2023-02-22 17:05:04 +00:00
Alan Egerton
695072daa6
Remove type-traversal trait aliases
2023-02-22 17:04:58 +00:00
Alan Egerton
ba55a453eb
Alias folding/visiting traits instead of re-export
2023-02-13 10:24:46 +00:00
Albert Larsan
cf2dff2b1e
Move /src/test to /tests
2023-01-11 09:32:08 +00:00