rust/tests/ui/type
Jubilee Young 2e19658315 Remove rustc's notion of "preferred" alignment AKA __alignof
In PR 90877 T-lang decided not to remove `intrinsics::pref_align_of`.
However, the intrinsic and its supporting code
1.  is a nightly feature, so can be removed at compiler/libs discretion
2.  requires considerable effort in the compiler to support, as it
    necessarily complicates every single site reasoning about alignment
3.  has been justified based on relevance to codegen, but it is only a
    requirement for C++ (not C, not Rust) stack frame layout for AIX,
    in ways Rust would not consider even with increased C++ interop
4.  is only used by rustc to overalign some globals, not correctness
5.  can be adequately replaced by other rules for globals, as it mostly
    affects alignments for a few types under 16 bytes of alignment
6.  has only one clear benefactor: automating C -> Rust translation
    for GNU extensions like `__alignof`
7.  such code was likely intended to be `alignof` or `_Alignof`,
    because the GNU extension is a "false friend" of the C keyword,
    which makes the choice to support such a mapping very questionable
8.  makes it easy to do incorrect codegen in the compiler by its mere
    presence as usual Rust rules of alignment (e.g. `size == align * N`)
    do not hold with preferred alignment

The implementation is clearly damaging the code quality of the compiler.
Thus it is within the compiler team's purview to simply rip it out.
If T-lang wishes to have this intrinsic restored for c2rust's benefit,
it would have to use a radically different implementation that somehow
does not cause internal incorrectness.

Until then, remove the intrinsic and its supporting code, as one tool
and an ill-considered GCC extension cannot justify risking correctness.

Because we touch a fair amount of the compiler to change this at all,
and unfortunately the duplication of AbiAndPrefAlign is deep-rooted,
we keep an "AbiAlign" type which we can wean code off later.
2025-06-08 16:41:46 -07:00
..
ascription Remove old diagnostic notes for type ascription syntax 2025-04-16 20:24:55 +10:00
auxiliary Add more info on type/trait mismatches for different crate versions 2024-12-07 18:18:08 +00:00
pattern_types Remove rustc's notion of "preferred" alignment AKA __alignof 2025-06-08 16:41:46 -07:00
type-check compiletest: Do not require annotations on empty labels and suggestions 2025-05-03 22:49:23 +03:00
binding-assigned-block-without-tail-expression.rs
binding-assigned-block-without-tail-expression.stderr
clarify-error-for-generics-with-default-issue-120785.rs Update item order in test 2024-02-28 19:28:34 -05:00
clarify-error-for-generics-with-default-issue-120785.stderr Update item order in test 2024-02-28 19:28:34 -05:00
closure-with-wrong-borrows.rs
closure-with-wrong-borrows.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
default_type_parameter_in_fn_or_impl.rs make invalid_type_param_default lint show up in cargo future-compat reports 2024-07-15 22:05:45 +02:00
default_type_parameter_in_fn_or_impl.stderr make invalid_type_param_default lint show up in cargo future-compat reports 2024-07-15 22:05:45 +02:00
issue-7607-1.rs Move some tests 2024-04-21 15:43:43 -03:00
issue-7607-1.stderr Move some tests 2024-04-21 15:43:43 -03:00
issue-7607-2.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
issue-58355.rs
issue-58355.stderr Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
issue-67690-type-alias-bound-diagnostic-crash.rs Improve the impl and diag output of lint type_alias_bounds 2024-07-23 01:48:03 +02:00
issue-67690-type-alias-bound-diagnostic-crash.stderr Improve the impl and diag output of lint type_alias_bounds 2024-07-23 01:48:03 +02:00
issue-91268.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
issue-91268.stderr compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
issue-94187-verbose-type-name.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-100584.rs
issue-100584.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
issue-101866.rs
issue-101866.stderr Deduplicate more sized errors on call exprs 2024-01-24 02:53:15 +00:00
issue-102598.rs
issue-102598.stderr
issue-103271.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
issue-103271.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
missing-let-in-binding-2.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
missing-let-in-binding-2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
missing-let-in-binding-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
missing-let-in-binding-3.rs fix ice in suggesting 2023-05-08 11:16:17 +08:00
missing-let-in-binding-3.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
missing-let-in-binding-4.rs code refactor and fix wrong suggestion 2023-05-08 14:56:36 +08:00
missing-let-in-binding-4.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
missing-let-in-binding.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
missing-let-in-binding.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
missing-let-in-binding.stderr Remove old diagnostic notes for type ascription syntax 2025-04-16 20:24:55 +10:00
option-ref-advice.rs Rename tests/ui/issues/issue-100605.rs to ../type/option-ref-advice.rs 2023-08-05 15:36:19 +02:00
option-ref-advice.stderr Rename tests/ui/issues/issue-100605.rs to ../type/option-ref-advice.rs 2023-08-05 15:36:19 +02:00
type-alias-bounds.rs Improve the impl and diag output of lint type_alias_bounds 2024-07-23 01:48:03 +02:00
type-alias-bounds.stderr Improve the impl and diag output of lint type_alias_bounds 2024-07-23 01:48:03 +02:00
type-annotation-needed.rs
type-annotation-needed.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type-arg-out-of-scope.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
type-arg-out-of-scope.stderr compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
type-ascription-instead-of-initializer.rs
type-ascription-instead-of-initializer.stderr Use ordinal number in argument error 2024-07-14 13:50:09 +09:00
type-ascription-instead-of-statement-end.rs Rip it out 2023-05-01 16:15:13 +08:00
type-ascription-instead-of-statement-end.stderr Remove old diagnostic notes for type ascription syntax 2025-04-16 20:24:55 +10:00
type-ascription-precedence.rs fix test cases 2023-05-01 16:15:17 +08:00
type-ascription-precedence.stderr Remove old diagnostic notes for type ascription syntax 2025-04-16 20:24:55 +10:00
type-ascription-soundness.rs
type-ascription-soundness.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
type-ascription-with-fn-call.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
type-ascription-with-fn-call.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
type-ascription-with-fn-call.stderr Remove old diagnostic notes for type ascription syntax 2025-04-16 20:24:55 +10:00
type-ascription.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
type-check-defaults.rs
type-check-defaults.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
type-dependent-def-issue-49241.rs Suppress "erroneous constant used" for constants tainted by errors 2023-05-15 00:00:00 +00:00
type-dependent-def-issue-49241.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
type-error-break-tail.rs
type-error-break-tail.stderr Tweak value suggestions in borrowck and hir_analysis 2024-04-09 23:37:13 +00:00
type-mismatch-multiple.rs compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
type-mismatch-multiple.stderr compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
type-mismatch-same-crate-name.rs Add more info on type/trait mismatches for different crate versions 2024-12-07 18:18:08 +00:00
type-mismatch-same-crate-name.stderr Add more info on type/trait mismatches for different crate versions 2024-12-07 18:18:08 +00:00
type-mismatch.rs
type-mismatch.stderr recurse into refs when comparing tys for diagnostics 2023-12-07 23:00:46 -05:00
type-parameter-defaults-referencing-Self-ppaux.rs Use more detailed spans in dyn compat errors within bodies 2025-05-27 08:18:11 +00:00
type-parameter-defaults-referencing-Self-ppaux.stderr Use more detailed spans in dyn compat errors within bodies 2025-05-27 08:18:11 +00:00
type-parameter-defaults-referencing-Self.rs
type-parameter-defaults-referencing-Self.stderr Properly report error when object type param default references self 2025-01-24 04:07:10 +00:00
type-parameter-names.rs compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
type-parameter-names.stderr compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
type-params-in-different-spaces-1.rs compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
type-params-in-different-spaces-1.stderr compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
type-params-in-different-spaces-2.rs
type-params-in-different-spaces-2.stderr
type-params-in-different-spaces-3.rs
type-params-in-different-spaces-3.stderr Note that type param is chosen by caller when suggesting return impl Trait 2024-03-16 23:20:42 +00:00
type-path-err-node-types.rs
type-path-err-node-types.stderr refactor(resolve): clean up the early error return caused by non-call 2023-05-10 22:35:01 +08:00
type-recursive-box-shadowed.rs
type-recursive-box-shadowed.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type-recursive.rs
type-recursive.stderr
type-shadow.rs
type-shadow.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type-unsatisfiable.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
type-unsatisfiable.usage.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
verbose.normal.stderr don't elide shared parts of types in diagnostics when --verbose is passed 2023-12-24 16:47:18 -05:00
verbose.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
verbose.verbose.stderr don't elide shared parts of types in diagnostics when --verbose is passed 2023-12-24 16:47:18 -05:00
wrong-call-return-type-due-to-generic-arg.rs
wrong-call-return-type-due-to-generic-arg.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00