rust/tests/ui/async-await/in-trait
Travis Cross afea0b4eab Fill in prose to describe the async_fn_in_trait lint
We're stabilizing `async fn` in trait (AFIT), but we have some
reservations about how people might use this in the definitions of
publicly-visible traits, so we're going to lint about that.

This is a bit of an odd lint for `rustc`.  We normally don't lint just
to have people confirm that they understand how Rust works.  But in
this one exceptional case, this seems like the right thing to do as
compared to the other plausible alternatives.

In this commit, we describe the nature of this odd lint.
2023-10-03 00:37:18 +00:00
..
auxiliary Suggest desugaring to RPITIT when AFIT is required to be an auto trait 2023-09-21 19:18:14 +00:00
async-associated-types.rs Bless tests 2023-10-03 00:37:18 +00:00
async-default-fn-overridden.rs Bless tests 2023-10-03 00:37:18 +00:00
async-example-desugared-boxed-in-trait.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-example-desugared-boxed-in-trait.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-example-desugared-boxed.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-example-desugared-boxed.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-example-desugared-extra.rs Bless tests 2023-10-03 00:37:18 +00:00
async-example-desugared-in-trait.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-example-desugared-manual.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-example-desugared-manual.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-example-desugared.rs Bless tests 2023-10-03 00:37:18 +00:00
async-example.rs Bless tests 2023-10-03 00:37:18 +00:00
async-generics-and-bounds.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-generics-and-bounds.stderr Take RPITITs inherit the assumed_wf_types of their parent fn 2023-07-29 21:19:33 +00:00
async-generics.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-generics.stderr Take RPITITs inherit the assumed_wf_types of their parent fn 2023-07-29 21:19:33 +00:00
async-lifetimes-and-bounds.rs Bless tests 2023-10-03 00:37:18 +00:00
async-lifetimes.rs Bless tests 2023-10-03 00:37:18 +00:00
async-recursive-generic.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-recursive-generic.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-recursive.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
async-recursive.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
bad-signatures.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
bad-signatures.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
dont-project-to-specializable-projection.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
dont-project-to-specializable-projection.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
early-bound-1.rs Bless tests 2023-10-03 00:37:18 +00:00
early-bound-2.rs Bless tests 2023-10-03 00:37:18 +00:00
fn-not-async-err2.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
fn-not-async-err2.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
fn-not-async-err.rs
fn-not-async-err.stderr
generics-mismatch.rs
generics-mismatch.stderr
implied-bounds.rs Bless tests 2023-10-03 00:37:18 +00:00
indirect-recursion-issue-112047.rs Bless tests. 2023-09-23 13:47:30 +00:00
indirect-recursion-issue-112047.stderr Strip OpaqueCast during RevealAll. 2023-09-28 16:13:38 +00:00
issue-102138.rs Bless tests 2023-10-03 00:37:18 +00:00
issue-102219.rs Bless tests 2023-10-03 00:37:18 +00:00
issue-102310.rs Bless tests 2023-10-03 00:37:18 +00:00
issue-104678.rs Bless tests 2023-10-03 00:37:18 +00:00
lifetime-mismatch.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
lifetime-mismatch.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
missing-feature-flag.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
missing-feature-flag.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
missing-send-bound.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
missing-send-bound.stderr Suggest desugaring to RPITIT when AFIT is required to be an auto trait 2023-09-21 19:18:14 +00:00
nested-rpit.rs Bless tests 2023-10-03 00:37:18 +00:00
normalize-opaque-with-bound-vars.rs Bless tests 2023-10-03 00:37:18 +00:00
object-safety.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
object-safety.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
return-not-existing-pair.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
return-not-existing-pair.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
return-not-existing-type-wrapping-rpitit.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
return-not-existing-type-wrapping-rpitit.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
return-type-suggestion.rs Bugfix: 'can_have_side_effects()' would return 'false' for struct/enum/array/tuple literals unless *all* sub-expressions had side effects. This would easily allow side effects to slip through, and also wrongly label empty literals as having side effects. Add some tests for the last point 2023-08-10 02:26:11 +02:00
return-type-suggestion.stderr Bugfix: 'can_have_side_effects()' would return 'false' for struct/enum/array/tuple literals unless *all* sub-expressions had side effects. This would easily allow side effects to slip through, and also wrongly label empty literals as having side effects. Add some tests for the last point 2023-08-10 02:26:11 +02:00
send-on-async-fn-in-trait.fixed Suggest desugaring to RPITIT when AFIT is required to be an auto trait 2023-09-21 19:18:14 +00:00
send-on-async-fn-in-trait.rs Suggest desugaring to RPITIT when AFIT is required to be an auto trait 2023-09-21 19:18:14 +00:00
send-on-async-fn-in-trait.stderr Suggest desugaring to RPITIT when AFIT is required to be an auto trait 2023-09-21 19:18:14 +00:00
send-on-foreign-async-fn-in-trait.rs Suggest desugaring to RPITIT when AFIT is required to be an auto trait 2023-09-21 19:18:14 +00:00
send-on-foreign-async-fn-in-trait.stderr Suggest desugaring to RPITIT when AFIT is required to be an auto trait 2023-09-21 19:18:14 +00:00
warn.rs Add async_fn_in_trait lint 2023-10-03 00:37:18 +00:00
warn.stderr Fill in prose to describe the async_fn_in_trait lint 2023-10-03 00:37:18 +00:00