rust/tests/ui/closures
Jack Wrenn 2540070fd4 document & impl the transmutation modeled by BikeshedIntrinsicFrom
Documents that `BikeshedIntrinsicFrom` models transmute-via-union,
which is slightly more expressive than the transmute-via-cast
implemented by `transmute_copy`. Additionally, we provide an
implementation of transmute-via-union as a method on the
`BikeshedIntrinsicFrom` trait with additional documentation on
the boundary between trait invariants and caller obligations.

Whether or not transmute-via-union is the right kind of transmute
to model remains up for discussion [1]. Regardless, it seems wise
to document the present behavior.

[1] https://rust-lang.zulipchat.com/#narrow/stream/216762-project-safe-transmute/topic/What.20'kind'.20of.20transmute.20to.20model.3F/near/426331967
2024-08-23 14:37:36 +00:00
..
2229_closure_analysis Update tests 2024-08-10 12:07:17 +02:00
binder Just totally fully deny late-bound consts 2024-07-20 19:45:24 -04:00
closure-expected-type
deduce-signature hir typeck: look into nested goals 2024-04-25 19:44:00 +00:00
print [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
add_semicolon_non_block_closure.rs Fix wrong argument for get_fn_decl 2024-08-19 11:08:51 +08:00
add_semicolon_non_block_closure.stderr Fix wrong argument for get_fn_decl 2024-08-19 11:08:51 +08:00
cannot-call-unsized-via-ptr-2.rs
cannot-call-unsized-via-ptr-2.stderr
cannot-call-unsized-via-ptr.rs
cannot-call-unsized-via-ptr.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
capture-unsized-by-move.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
capture-unsized-by-move.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
capture-unsized-by-ref.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure_cap_coerce_many_fail.rs
closure_cap_coerce_many_fail.stderr
closure_no_cap_coerce_many_check_pass.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure_no_cap_coerce_many_run_pass.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure_no_cap_coerce_many_unsafe_0.rs Remove revisions for THIR unsafeck 2024-01-05 09:30:27 +00:00
closure_no_cap_coerce_many_unsafe_0.stderr Remove revisions for THIR unsafeck 2024-01-05 09:30:27 +00:00
closure_no_cap_coerce_many_unsafe_1.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure_promotion.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure-array-break-length.rs
closure-array-break-length.stderr
closure-bounds-cant-promote-superkind-in-struct.rs Continue compilation after check_mod_type_wf errors 2024-02-14 11:00:30 +00:00
closure-bounds-cant-promote-superkind-in-struct.stderr Continue compilation after check_mod_type_wf errors 2024-02-14 11:00:30 +00:00
closure-bounds-static-cant-capture-borrowed.rs
closure-bounds-static-cant-capture-borrowed.stderr
closure-bounds-subtype.rs
closure-bounds-subtype.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
closure-expected.rs
closure-expected.stderr Use parenthetical notation for Fn traits 2024-05-29 22:26:54 +00:00
closure-immutable-outer-variable.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure-immutable-outer-variable.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure-immutable-outer-variable.rs.fixed
closure-immutable-outer-variable.stderr More accurate mutability suggestion 2024-07-04 05:36:34 +00:00
closure-move-sync.rs
closure-move-sync.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
closure-no-fn-1.rs
closure-no-fn-1.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
closure-no-fn-2.rs
closure-no-fn-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
closure-no-fn-3.rs
closure-no-fn-3.stderr Note closure captures when reporting deferred cast to fn ptr failed 2024-07-22 21:51:44 -04:00
closure-no-fn-4.rs
closure-no-fn-4.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
closure-no-fn-5.rs
closure-no-fn-5.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
closure-referencing-itself-issue-25954.rs
closure-referencing-itself-issue-25954.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
closure-reform-bad.rs
closure-reform-bad.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
closure-return-type-mismatch.rs
closure-return-type-mismatch.stderr Inline get_node_fn_decl into get_fn_decl, simplify/explain logic in report_return_mismatched_types 2024-05-20 20:16:29 -04:00
closure-return-type-must-be-sized.rs
closure-return-type-must-be-sized.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
closure-wrong-kind.rs
closure-wrong-kind.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
coerce-unsafe-closure-to-unsafe-fn-ptr.rs Remove revisions for THIR unsafeck 2024-01-05 09:30:27 +00:00
coerce-unsafe-closure-to-unsafe-fn-ptr.stderr update ui tests 2024-01-07 08:56:20 -08:00
coerce-unsafe-to-closure.rs
coerce-unsafe-to-closure.stderr document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
deeply-nested_closures.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
diverging-closure.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-868.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-1460.rs Move some tests 2024-03-31 14:58:17 -03:00
issue-1460.stderr Move some tests 2024-03-31 14:58:17 -03:00
issue-5239-1.rs Move some tests 2024-04-21 15:43:43 -03:00
issue-5239-1.stderr Move some tests 2024-04-21 15:43:43 -03:00
issue-5239-2.rs Move some tests 2024-04-21 15:43:43 -03:00
issue-6801.rs
issue-6801.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-10398.rs
issue-10398.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-10682.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-11873.rs
issue-11873.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-22864-1.rs Move some tests 2024-04-21 15:43:43 -03:00
issue-22864-2.rs Move some tests 2024-04-21 15:43:43 -03:00
issue-25439.rs
issue-25439.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-41366.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-42463.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-46742.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-48109.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-52437.rs
issue-52437.stderr
issue-67123.rs
issue-67123.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-68025.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-72408-nested-closures-exponential.rs Gate the type length limit check behind a nightly flag 2024-07-12 21:16:09 -04:00
issue-78720.rs Fail candidate assembly for erroneous types 2024-04-16 12:42:48 +05:30
issue-78720.stderr Fail candidate assembly for erroneous types 2024-04-16 12:42:48 +05:30
issue-80313-mutable-borrow-in-closure.rs
issue-80313-mutable-borrow-in-closure.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-80313-mutable-borrow-in-move-closure.rs
issue-80313-mutable-borrow-in-move-closure.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-80313-mutation-in-closure.rs
issue-80313-mutation-in-closure.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-80313-mutation-in-move-closure.rs
issue-80313-mutation-in-move-closure.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-81700-mut-borrow.rs
issue-81700-mut-borrow.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-82438-mut-without-upvar.rs
issue-82438-mut-without-upvar.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-84044-drop-non-mut.rs
issue-84044-drop-non-mut.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-84128.rs
issue-84128.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-87461.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-87461.stderr
issue-87814-1.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-87814-2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-90871.rs
issue-90871.stderr
issue-97607.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-99565.rs
issue-99565.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-101696.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-102089-multiple-opaque-cast.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-109188.rs Continue to borrowck even if there were previous errors 2024-02-08 08:10:43 +00:00
issue-109188.stderr
issue-111932.rs
issue-111932.stderr On E0277 be clearer about implicit Sized bounds on type params and assoc types 2024-02-01 03:30:26 +00:00
issue-113087.rs
issue-113087.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
local-type-mix.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
local-type-mix.stderr
multiple-fn-bounds.rs
multiple-fn-bounds.stderr eagerly instantiate binders to avoid relying on sub 2024-03-14 17:19:40 +01:00
old-closure-arg-call-as.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
old-closure-arg.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
old-closure-explicit-types.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
old-closure-expr-precedence.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
old-closure-expr-precedence.stderr
old-closure-expression-remove-semicolon.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
old-closure-expression-remove-semicolon.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
old-closure-expression-remove-semicolon.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
old-closure-fn-coerce.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
old-closure-iter-1.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
old-closure-iter-2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
once-move-out-on-heap.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
return-value-lifetime-error.fixed Provide suggestion to dereference closure tail if appropriate 2024-04-05 19:42:55 +00:00
return-value-lifetime-error.rs Provide suggestion to dereference closure tail if appropriate 2024-04-05 19:42:55 +00:00
return-value-lifetime-error.stderr Provide suggestion to dereference closure tail if appropriate 2024-04-05 19:42:55 +00:00
self-supertrait-bounds.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
semistatement-in-lambda.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
static-closures-with-nonstatic-return.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
supertrait-hint-cycle-2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
supertrait-hint-cycle-3.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
supertrait-hint-cycle.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
supertrait-hint-references-assoc-ty.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
thir-unsafeck-issue-85871.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
wrong-closure-arg-suggestion-125325.rs Make suggestion to change Fn to FnMut work with methods well 2024-06-10 16:28:05 +05:30
wrong-closure-arg-suggestion-125325.stderr Make suggestion to change Fn to FnMut work with methods well 2024-06-10 16:28:05 +05:30