rust/tests/ui/type
León Orell Valerian Liehr b3604de1df
Rollup merge of #125015 - fmease:pat-tys-proh-gen-args-on-ct-params, r=spastorino
Pattern types: Prohibit generic args on const params

Addresses https://github.com/rust-lang/rust/pull/123689/files#r1562676629.

NB: Technically speaking, *not* prohibiting generics args on const params is not a bug as `pattern_types` is an *internal* feature and as such any uncaught misuses of it are considered to be the fault of the user. However, permitting this makes me slightly uncomfortable esp. since we might want to make pattern types available to the public at some point and I don't want this oversight to be able to slip into the language (for comparison, ICEs triggered by the use of internal features are like super fine).

Furthermore, this is an ad hoc fix. A more general fix would be changing the representation of the pattern part of pattern types in such a way that it can reuse preexisting lowering routines for exprs / anon consts. See also this [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/pattern.20type.20HIR.20nodes/near/432410768) and #124650.

Also note that we currently don't properly typeck the pattern of pat tys. This however is out of scope for this PR.

cc ``@oli-obk``
r? ``@spastorino`` as discussed
2024-05-22 19:04:44 +02:00
..
ascription
auxiliary
pattern_types Rollup merge of #125015 - fmease:pat-tys-proh-gen-args-on-ct-params, r=spastorino 2024-05-22 19:04:44 +02:00
type-check Check closure args and returns are WF 2024-04-25 10:03:17 -04:00
binding-assigned-block-without-tail-expression.rs
binding-assigned-block-without-tail-expression.stderr
clarify-error-for-generics-with-default-issue-120785.rs
clarify-error-for-generics-with-default-issue-120785.stderr
closure-with-wrong-borrows.rs
closure-with-wrong-borrows.stderr
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 Move some tests 2024-04-21 15:43:43 -03:00
issue-58355.rs
issue-58355.stderr
issue-67690-type-alias-bound-diagnostic-crash.rs
issue-67690-type-alias-bound-diagnostic-crash.stderr
issue-91268.rs
issue-91268.stderr
issue-94187-verbose-type-name.rs
issue-100584.rs
issue-100584.stderr
issue-101866.rs
issue-101866.stderr
issue-102598.rs
issue-102598.stderr
issue-103271.rs
issue-103271.stderr
missing-let-in-binding-2.fixed
missing-let-in-binding-2.rs
missing-let-in-binding-2.stderr
missing-let-in-binding-3.rs
missing-let-in-binding-3.stderr
missing-let-in-binding-4.rs
missing-let-in-binding-4.stderr
missing-let-in-binding.fixed
missing-let-in-binding.rs
missing-let-in-binding.stderr
option-ref-advice.rs
option-ref-advice.stderr
subtyping-opaque-type.rs
type-alias-bounds.rs
type-alias-bounds.stderr
type-annotation-needed.rs
type-annotation-needed.stderr
type-arg-out-of-scope.rs
type-arg-out-of-scope.stderr
type-ascription-instead-of-initializer.rs
type-ascription-instead-of-initializer.stderr
type-ascription-instead-of-statement-end.rs
type-ascription-instead-of-statement-end.stderr
type-ascription-precedence.rs
type-ascription-precedence.stderr
type-ascription-soundness.rs
type-ascription-soundness.stderr
type-ascription-with-fn-call.fixed
type-ascription-with-fn-call.rs
type-ascription-with-fn-call.stderr
type-ascription.rs
type-check-defaults.rs
type-check-defaults.stderr
type-dependent-def-issue-49241.rs
type-dependent-def-issue-49241.stderr
type-error-break-tail.rs
type-error-break-tail.stderr
type-mismatch-multiple.rs
type-mismatch-multiple.stderr
type-mismatch-same-crate-name.rs
type-mismatch-same-crate-name.stderr
type-mismatch.rs
type-mismatch.stderr
type-parameter-defaults-referencing-Self-ppaux.rs
type-parameter-defaults-referencing-Self-ppaux.stderr
type-parameter-defaults-referencing-Self.rs
type-parameter-defaults-referencing-Self.stderr
type-parameter-names.rs
type-parameter-names.stderr
type-params-in-different-spaces-1.rs
type-params-in-different-spaces-1.stderr
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
type-path-err-node-types.rs
type-path-err-node-types.stderr
type-recursive-box-shadowed.rs
type-recursive-box-shadowed.stderr
type-recursive.rs
type-recursive.stderr
type-shadow.rs
type-shadow.stderr
type-unsatisfiable.rs
type-unsatisfiable.usage.stderr
verbose.normal.stderr
verbose.rs
verbose.verbose.stderr
wrong-call-return-type-due-to-generic-arg.rs
wrong-call-return-type-due-to-generic-arg.stderr