rust/tests/ui/feature-gates
Guillaume Gomez fe5f734e6a
Rollup merge of #130526 - eholk:pin-reborrow, r=compiler-errors
Begin experimental support for pin reborrowing

This commit adds basic support for reborrowing `Pin` types in argument position. At the moment it only supports reborrowing `Pin<&mut T>` as `Pin<&mut T>` by inserting a call to `Pin::as_mut()`, and only in argument position (not as the receiver in a method call).

This PR makes the following example compile:

```rust
#![feature(pin_ergonomics)]

fn foo(_: Pin<&mut Foo>) {
}

fn bar(mut x: Pin<&mut Foo>) {
    foo(x);
    foo(x);
}
```

Previously, you would have had to write `bar` as:

```rust
fn bar(mut x: Pin<&mut Foo>) {
    foo(x.as_mut());
    foo(x);
}
```

Tracking:

- #130494

r? `@compiler-errors`
2024-09-20 19:46:38 +02:00
..
auxiliary
allow-features-empty.rs
allow-features-empty.stderr
allow-features.rs
allow-features.stderr
bench.rs
bench.stderr
doc-rust-logo.rs
doc-rust-logo.stderr
duplicate-features.rs
duplicate-features.stderr
env-flag.rs
env-flag.stderr
feature-gate-abi_ptx.rs
feature-gate-abi_ptx.stderr
feature-gate-abi_unadjusted.rs
feature-gate-abi_unadjusted.stderr
feature-gate-abi-avr-interrupt.rs
feature-gate-abi-avr-interrupt.stderr
feature-gate-abi-msp430-interrupt.rs
feature-gate-abi-msp430-interrupt.stderr
feature-gate-abi-riscv-interrupt.rs
feature-gate-abi-riscv-interrupt.stderr
feature-gate-abi-x86-interrupt.rs
feature-gate-abi-x86-interrupt.stderr
feature-gate-abi.rs
feature-gate-abi.stderr
feature-gate-adt_const_params.rs
feature-gate-adt_const_params.stderr Split part of adt_const_params into unsized_const_params 2024-07-17 11:01:29 +01:00
feature-gate-alloc-error-handler.rs
feature-gate-alloc-error-handler.stderr
feature-gate-allocator_internals.rs
feature-gate-allocator_internals.stderr
feature-gate-allow-internal-unsafe-nested-macro.rs
feature-gate-allow-internal-unsafe-nested-macro.stderr
feature-gate-allow-internal-unstable-nested-macro.rs
feature-gate-allow-internal-unstable-nested-macro.stderr
feature-gate-allow-internal-unstable-struct.rs
feature-gate-allow-internal-unstable-struct.stderr
feature-gate-allow-internal-unstable.rs
feature-gate-allow-internal-unstable.stderr
feature-gate-arbitrary_self_types-raw-pointer.rs
feature-gate-arbitrary_self_types-raw-pointer.stderr Arbitrary self types v2: pointers feature gate. 2024-08-27 17:32:35 +00:00
feature-gate-arbitrary-self-types-pointers.rs Arbitrary self types v2: pointers feature gate. 2024-08-27 17:32:35 +00:00
feature-gate-arbitrary-self-types-pointers.stderr Arbitrary self types v2: pointers feature gate. 2024-08-27 17:32:35 +00:00
feature-gate-arbitrary-self-types.rs
feature-gate-arbitrary-self-types.stderr
feature-gate-asm_experimental_arch.rs
feature-gate-asm_experimental_arch.stderr
feature-gate-asm_goto.rs
feature-gate-asm_goto.stderr
feature-gate-asm_unwind.rs
feature-gate-asm_unwind.stderr
feature-gate-assoc-type-defaults.rs
feature-gate-assoc-type-defaults.stderr
feature-gate-associated_const_equality.rs
feature-gate-associated_const_equality.stderr
feature-gate-auto-traits.rs
feature-gate-auto-traits.stderr
feature-gate-box_patterns.rs
feature-gate-box_patterns.stderr
feature-gate-builtin_syntax.rs
feature-gate-builtin_syntax.stderr
feature-gate-c_variadic.rs
feature-gate-c_variadic.stderr
feature-gate-cfg_overflow_checks.rs
feature-gate-cfg_overflow_checks.stderr
feature-gate-cfg_sanitize.rs
feature-gate-cfg_sanitize.stderr
feature-gate-cfg_ub_checks.rs
feature-gate-cfg_ub_checks.stderr
feature-gate-cfg-relocation-model.rs
feature-gate-cfg-relocation-model.stderr
feature-gate-cfg-sanitizer_cfi.rs
feature-gate-cfg-sanitizer_cfi.stderr
feature-gate-cfg-target-compact.rs
feature-gate-cfg-target-compact.stderr
feature-gate-cfg-target-has-atomic-equal-alignment.rs
feature-gate-cfg-target-has-atomic-equal-alignment.stderr
feature-gate-cfg-target-has-atomic.rs
feature-gate-cfg-target-has-atomic.stderr
feature-gate-cfg-target-thread-local.rs
feature-gate-cfg-target-thread-local.stderr
feature-gate-cfg-version.rs
feature-gate-cfg-version.stderr
feature-gate-cfi_encoding.rs
feature-gate-cfi_encoding.stderr
feature-gate-closure_lifetime_binder.rs
feature-gate-closure_lifetime_binder.stderr
feature-gate-closure_track_caller.rs
feature-gate-closure_track_caller.stderr
feature-gate-compiler-builtins.rs
feature-gate-compiler-builtins.stderr
feature-gate-concat_bytes.rs
feature-gate-concat_bytes.stderr
feature-gate-concat_idents2.rs
feature-gate-concat_idents2.stderr
feature-gate-concat_idents3.rs
feature-gate-concat_idents3.stderr
feature-gate-concat_idents.rs
feature-gate-concat_idents.stderr
feature-gate-const-indexing.rs
feature-gate-const-refs-to-static.rs
feature-gate-const-refs-to-static.stderr
feature-gate-coroutines.e2024.stderr
feature-gate-coroutines.none.stderr rustc_ast_lowering: make "yield syntax is experimental" translatable 2024-08-10 14:32:55 +03:00
feature-gate-coroutines.rs
feature-gate-coverage-attribute.rs
feature-gate-coverage-attribute.stderr
feature-gate-custom_attribute2.rs
feature-gate-custom_attribute2.stderr
feature-gate-custom_attribute.rs
feature-gate-custom_attribute.stderr
feature-gate-custom_mir.rs
feature-gate-custom_mir.stderr
feature-gate-custom_test_frameworks.rs
feature-gate-custom_test_frameworks.stderr
feature-gate-decl_macro.rs
feature-gate-decl_macro.stderr
feature-gate-deprecated_safe.rs
feature-gate-deprecated_safe.stderr
feature-gate-deref_patterns.rs
feature-gate-deref_patterns.stderr
feature-gate-derive-smart-pointer.rs derive(SmartPointer): register helper attributes 2024-08-13 04:26:48 +08:00
feature-gate-derive-smart-pointer.stderr derive(SmartPointer): register helper attributes 2024-08-13 04:26:48 +08:00
feature-gate-dispatch-from-dyn-cell.rs
feature-gate-dispatch-from-dyn-cell.stderr
feature-gate-dispatch-from-dyn-missing-impl.rs
feature-gate-dispatch-from-dyn-missing-impl.stderr
feature-gate-doc_cfg.rs
feature-gate-doc_cfg.stderr
feature-gate-doc_masked.rs
feature-gate-doc_masked.stderr
feature-gate-doc_notable_trait.rs
feature-gate-doc_notable_trait.stderr
feature-gate-exhaustive-patterns.rs Update tests 2024-08-10 12:07:17 +02:00
feature-gate-exhaustive-patterns.stderr Update tests 2024-08-10 12:07:17 +02:00
feature-gate-explicit_tail_calls.rs
feature-gate-explicit_tail_calls.stderr
feature-gate-extern_absolute_paths.rs
feature-gate-extern_absolute_paths.stderr Do not use question as label 2024-07-24 21:03:27 +00:00
feature-gate-extern_types.rs
feature-gate-extern_types.stderr
feature-gate-f16.e2015.stderr
feature-gate-f16.e2018.stderr
feature-gate-f16.rs
feature-gate-f128.e2015.stderr
feature-gate-f128.e2018.stderr
feature-gate-f128.rs
feature-gate-feature-gate.rs
feature-gate-feature-gate.stderr
feature-gate-ffi_const.rs
feature-gate-ffi_const.stderr
feature-gate-ffi_pure.rs
feature-gate-ffi_pure.stderr
feature-gate-fmt-debug.rs fmt-debug option 2024-08-28 23:32:40 +01:00
feature-gate-fmt-debug.stderr fmt-debug option 2024-08-28 23:32:40 +01:00
feature-gate-fn_align.rs
feature-gate-fn_align.stderr
feature-gate-fn_delegation.rs
feature-gate-fn_delegation.stderr
feature-gate-format_args_nl.rs
feature-gate-format_args_nl.stderr
feature-gate-freeze-impls.rs
feature-gate-freeze-impls.stderr
feature-gate-fundamental.rs
feature-gate-fundamental.stderr
feature-gate-gen_blocks.e2024.stderr
feature-gate-gen_blocks.none.stderr
feature-gate-gen_blocks.rs
feature-gate-generic_arg_infer.normal.stderr
feature-gate-generic_arg_infer.rs
feature-gate-generic_associated_types_extended.rs
feature-gate-generic_associated_types_extended.stderr
feature-gate-global-registration.rs
feature-gate-global-registration.stderr
feature-gate-if-let-rescope.rs rescope temp lifetime in let-chain into IfElse 2024-09-11 04:10:00 +08:00
feature-gate-if-let-rescope.stderr rescope temp lifetime in let-chain into IfElse 2024-09-11 04:10:00 +08:00
feature-gate-impl_trait_in_assoc_type.rs
feature-gate-impl_trait_in_assoc_type.stderr
feature-gate-impl_trait_in_fn_trait_return.rs
feature-gate-impl_trait_in_fn_trait_return.stderr
feature-gate-inherent_associated_types.rs
feature-gate-inherent_associated_types.stderr
feature-gate-inline_const_pat.rs
feature-gate-inline_const_pat.stderr
feature-gate-intrinsics.rs
feature-gate-intrinsics.stderr
feature-gate-lang-items.rs
feature-gate-lang-items.stderr
feature-gate-large-assignments.rs
feature-gate-large-assignments.stderr
feature-gate-lifetime-capture-rules-2024.rs
feature-gate-lifetime-capture-rules-2024.stderr Bless test fallout 2024-08-17 12:43:25 -04:00
feature-gate-link_cfg.rs
feature-gate-link_cfg.stderr
feature-gate-link_llvm_intrinsics.rs
feature-gate-link_llvm_intrinsics.stderr
feature-gate-link-arg-attribute.rs
feature-gate-link-arg-attribute.stderr
feature-gate-linkage.rs
feature-gate-linkage.stderr
feature-gate-log_syntax2.rs
feature-gate-log_syntax2.stderr
feature-gate-log_syntax2.stdout
feature-gate-log_syntax.rs
feature-gate-log_syntax.stderr
feature-gate-log_syntax.stdout
feature-gate-macro-metavar-expr-concat.rs Add a new concat metavar expr 2024-06-13 22:12:26 -03:00
feature-gate-macro-metavar-expr-concat.stderr Add a new concat metavar expr 2024-06-13 22:12:26 -03:00
feature-gate-marker_trait_attr.rs
feature-gate-marker_trait_attr.stderr
feature-gate-may-dangle.rs
feature-gate-may-dangle.stderr
feature-gate-min_const_fn.rs
feature-gate-min_const_fn.stderr
feature-gate-more-maybe-bounds.rs Forbid ?Trait bounds repetitions 2024-07-26 16:35:05 +03:00
feature-gate-more-maybe-bounds.stderr Forbid ?Trait bounds repetitions 2024-07-26 16:35:05 +03:00
feature-gate-more-qualified-paths.rs
feature-gate-more-qualified-paths.stderr
feature-gate-multiple_supertrait_upcastable.rs
feature-gate-multiple_supertrait_upcastable.stderr
feature-gate-mut-ref.rs
feature-gate-mut-ref.stderr
feature-gate-naked_functions.rs
feature-gate-naked_functions.stderr
feature-gate-native_link_modifiers_as_needed.rs
feature-gate-native_link_modifiers_as_needed.stderr
feature-gate-needs-allocator.rs
feature-gate-needs-allocator.stderr
feature-gate-negate-unsigned.rs
feature-gate-negate-unsigned.stderr Tweak -1 as usize suggestion 2024-07-05 00:52:01 +00:00
feature-gate-negative_bounds.rs
feature-gate-negative_bounds.stderr
feature-gate-never_patterns.rs
feature-gate-never_patterns.stderr
feature-gate-never_type.rs
feature-gate-never_type.stderr
feature-gate-no_core.rs
feature-gate-no_core.stderr
feature-gate-no_sanitize.rs
feature-gate-no_sanitize.stderr
feature-gate-non_exhaustive_omitted_patterns_lint.rs
feature-gate-non_exhaustive_omitted_patterns_lint.stderr
feature-gate-non_lifetime_binders.rs
feature-gate-non_lifetime_binders.stderr
feature-gate-object_safe_for_dispatch.rs
feature-gate-object_safe_for_dispatch.stderr
feature-gate-offset-of-enum.rs Stabilize offset_of_nested 2024-07-29 17:50:12 +01:00
feature-gate-offset-of-enum.stderr Stabilize offset_of_nested 2024-07-29 17:50:12 +01:00
feature-gate-offset-of-slice.rs offset_of: allow (unstably) taking the offset of slice tail fields 2024-06-08 18:17:55 +02:00
feature-gate-offset-of-slice.stderr offset_of: allow (unstably) taking the offset of slice tail fields 2024-06-08 18:17:55 +02:00
feature-gate-omit-gdb-pretty-printer-section.rs
feature-gate-omit-gdb-pretty-printer-section.stderr
feature-gate-optimize_attribute.rs
feature-gate-optimize_attribute.stderr ast: Standardize visiting order for attributes and node IDs 2024-06-24 16:08:51 +03:00
feature-gate-overlapping_marker_traits.rs
feature-gate-overlapping_marker_traits.stderr
feature-gate-patchable-function-entry.rs Updated code for changes to RFC, added additional error handling, added 2024-06-25 19:00:02 +02:00
feature-gate-patchable-function-entry.stderr Updated code for changes to RFC, added additional error handling, added 2024-06-25 19:00:02 +02:00
feature-gate-pattern-complexity.rs
feature-gate-pattern-complexity.stderr
feature-gate-pin_ergonomics.rs Begin experimental support for pin reborrowing 2024-09-18 12:36:31 -07:00
feature-gate-pin_ergonomics.stderr Begin experimental support for pin reborrowing 2024-09-18 12:36:31 -07:00
feature-gate-postfix_match.rs
feature-gate-postfix_match.stderr
feature-gate-precise_pointer_size_matching.rs
feature-gate-precise_pointer_size_matching.stderr
feature-gate-prelude_import.rs
feature-gate-prelude_import.stderr
feature-gate-print-check-cfg.rs
feature-gate-print-check-cfg.stderr
feature-gate-profiler-runtime.rs
feature-gate-profiler-runtime.stderr
feature-gate-public_private_dependencies.rs
feature-gate-register_tool.rs
feature-gate-register_tool.stderr
feature-gate-repr128.rs
feature-gate-repr128.stderr
feature-gate-repr-simd.rs Ban non-array SIMD 2024-09-09 19:39:43 -07:00
feature-gate-repr-simd.stderr bump conflicting_repr_hints lint to be shown in dependencies 2024-08-06 11:17:26 +02:00
feature-gate-result_ffi_guarantees.rs
feature-gate-result_ffi_guarantees.stderr
feature-gate-return_type_notation.cfg.stderr Change RTN to use .. again 2024-06-28 14:20:43 -04:00
feature-gate-return_type_notation.no.stderr Change RTN to use .. again 2024-06-28 14:20:43 -04:00
feature-gate-return_type_notation.rs Change RTN to use .. again 2024-06-28 14:20:43 -04:00
feature-gate-rust_cold_cc.rs
feature-gate-rust_cold_cc.stderr
feature-gate-rustc_const_unstable.rs
feature-gate-rustc_const_unstable.stderr
feature-gate-rustc_encodable_decodable.rs
feature-gate-rustc_encodable_decodable.stderr
feature-gate-rustc-allow-const-fn-unstable.rs
feature-gate-rustc-allow-const-fn-unstable.stderr
feature-gate-rustc-attrs-1.rs
feature-gate-rustc-attrs-1.stderr
feature-gate-rustc-attrs.rs
feature-gate-rustc-attrs.stderr
feature-gate-rustdoc_internals.rs
feature-gate-rustdoc_internals.stderr
feature-gate-sha512_sm_x86.rs Add the sha512, sm3 and sm4 target features 2024-08-02 02:29:15 +05:30
feature-gate-sha512_sm_x86.stderr Add the sha512, sm3 and sm4 target features 2024-08-02 02:29:15 +05:30
feature-gate-shorter_tail_lifetimes.rs tail expression behind terminating scope 2024-06-18 04:14:43 +08:00
feature-gate-shorter_tail_lifetimes.stderr tail expression behind terminating scope 2024-06-18 04:14:43 +08:00
feature-gate-simd-ffi.rs Ban non-array SIMD 2024-09-09 19:39:43 -07:00
feature-gate-simd-ffi.stderr
feature-gate-simd.rs Ban non-array SIMD 2024-09-09 19:39:43 -07:00
feature-gate-simd.stderr
feature-gate-staged_api.rs
feature-gate-staged_api.stderr ast: Standardize visiting order for attributes and node IDs 2024-06-24 16:08:51 +03:00
feature-gate-start.rs
feature-gate-start.stderr
feature-gate-stmt_expr_attributes.rs
feature-gate-stmt_expr_attributes.stderr
feature-gate-strict_provenance.rs
feature-gate-strict_provenance.stderr
feature-gate-test_unstable_lint.rs
feature-gate-test_unstable_lint.stderr
feature-gate-thread_local.rs
feature-gate-thread_local.stderr
feature-gate-trace_macros.rs
feature-gate-trace_macros.stderr
feature-gate-trait_upcasting.rs
feature-gate-trait_upcasting.stderr
feature-gate-trait-alias.rs
feature-gate-trait-alias.stderr
feature-gate-transparent_unions.rs
feature-gate-transparent_unions.stderr
feature-gate-trivial_bounds-lint.rs
feature-gate-trivial_bounds.rs
feature-gate-trivial_bounds.stderr
feature-gate-try_blocks.rs
feature-gate-try_blocks.stderr
feature-gate-type_alias_impl_trait.rs
feature-gate-type_ascription.rs
feature-gate-type_ascription.stderr
feature-gate-unboxed-closures-manual-impls.rs Rename HIR TypeBinding to AssocItemConstraint and related cleanup 2024-05-30 22:52:33 +02:00
feature-gate-unboxed-closures-manual-impls.stderr show fnsig's output when there is difference 2024-07-06 23:29:58 +08:00
feature-gate-unboxed-closures-method-calls.rs
feature-gate-unboxed-closures-method-calls.stderr
feature-gate-unboxed-closures-ufcs-calls.rs
feature-gate-unboxed-closures-ufcs-calls.stderr
feature-gate-unboxed-closures.rs
feature-gate-unboxed-closures.stderr
feature-gate-unnamed_fields.rs
feature-gate-unnamed_fields.stderr
feature-gate-unsafe_pin_internals.rs
feature-gate-unsafe_pin_internals.stderr
feature-gate-unsized_fn_params.rs
feature-gate-unsized_fn_params.stderr
feature-gate-unsized_locals.rs
feature-gate-unsized_locals.stderr
feature-gate-unsized_tuple_coercion.rs
feature-gate-unsized_tuple_coercion.stderr
feature-gate-unsized-const-params.rs Split part of adt_const_params into unsized_const_params 2024-07-17 11:01:29 +01:00
feature-gate-unsized-const-params.stderr Split part of adt_const_params into unsized_const_params 2024-07-17 11:01:29 +01:00
feature-gate-used_with_arg.rs
feature-gate-used_with_arg.stderr
feature-gate-vectorcall.rs
feature-gate-vectorcall.stderr
feature-gate-with_negative_coherence.rs
feature-gate-with_negative_coherence.stderr Revert 'Stabilize -Znext-solver=coherence' 2024-09-11 17:57:04 -04:00
feature-gate-x86_amx_intrinsics.rs Add the feature gate and target-features 2024-07-11 19:00:49 -07:00
feature-gate-x86_amx_intrinsics.stderr Add the feature gate and target-features 2024-07-11 19:00:49 -07:00
feature-gate-xop_target_feature.rs Added the xop target feature and xop_target_feature gate 2024-07-12 23:30:22 +05:30
feature-gate-xop_target_feature.stderr Added the xop target feature and xop_target_feature gate 2024-07-12 23:30:22 +05:30
feature-gate-yeet_expr-in-cfg.rs
feature-gate-yeet_expr-in-cfg.stderr
feature-gate-yeet_expr.rs
feature-gate-yeet_expr.stderr
feature-gated-feature-in-macro-arg.rs
feature-gated-feature-in-macro-arg.stderr
gated-bad-feature.rs
gated-bad-feature.stderr
issue-43106-gating-of-bench.rs
issue-43106-gating-of-bench.stderr
issue-43106-gating-of-builtin-attrs-error.rs Gate repr(Rust) correctly on non-ADT items 2024-08-22 14:22:23 -04:00
issue-43106-gating-of-builtin-attrs-error.stderr Gate repr(Rust) correctly on non-ADT items 2024-08-22 14:22:23 -04:00
issue-43106-gating-of-builtin-attrs.rs
issue-43106-gating-of-builtin-attrs.stderr resolve: Implement a lint for out-of-scope use of macro_rules 2024-06-24 17:12:08 +03:00
issue-43106-gating-of-deprecated.rs
issue-43106-gating-of-derive-2.rs
issue-43106-gating-of-derive-2.stderr
issue-43106-gating-of-derive.rs
issue-43106-gating-of-derive.stderr
issue-43106-gating-of-macro_escape.rs
issue-43106-gating-of-macro_escape.stderr
issue-43106-gating-of-macro_use.rs
issue-43106-gating-of-macro_use.stderr
issue-43106-gating-of-proc_macro_derive.rs
issue-43106-gating-of-proc_macro_derive.stderr
issue-43106-gating-of-stable.rs
issue-43106-gating-of-stable.stderr ast: Standardize visiting order for attributes and node IDs 2024-06-24 16:08:51 +03:00
issue-43106-gating-of-test.rs
issue-43106-gating-of-test.stderr
issue-43106-gating-of-unstable.rs
issue-43106-gating-of-unstable.stderr ast: Standardize visiting order for attributes and node IDs 2024-06-24 16:08:51 +03:00
issue-49983-see-issue-0.rs
issue-49983-see-issue-0.stderr
rustc-private.rs
rustc-private.stderr
soft-syntax-gates-with-errors.rs
soft-syntax-gates-with-errors.stderr
soft-syntax-gates-without-errors.rs
soft-syntax-gates-without-errors.stderr
stability-attribute-consistency.rs
stability-attribute-consistency.stderr
stable-features.rs
stable-features.stderr
stmt_expr_attrs_no_feature.rs
stmt_expr_attrs_no_feature.stderr
test-listing-format-json.rs
test-listing-format-json.run.stderr
trace_macros-gate.rs
trace_macros-gate.stderr
unknown-feature.rs
unknown-feature.stderr
unstable-attribute-allow-issue-0.rs
unstable-attribute-allow-issue-0.stderr
version_check.rs Make RUSTC_OVERRIDE_VERSION_STRING overwrite the rendered version output, too 2024-07-30 14:08:02 +00:00