Rollup merge of #129042 - Jaic1:fix-116308, r=BoxyUwU

Special-case alias ty during the delayed bug emission in `try_from_lit`

This PR tries to fix #116308.

A delayed bug in `try_from_lit` will not be emitted so that the compiler will not ICE when it sees the pair `(ast::LitKind::Int, ty::TyKind::Alias)` in `lit_to_const` (called from `try_from_lit`).

This PR is related to an unstable feature `adt_const_params` (#95174).

r? ``@BoxyUwU``
This commit is contained in:
Matthias Krüger 2024-08-16 19:58:58 +02:00 committed by GitHub
commit f04d25fa91
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 1 deletions

View file

@ -305,6 +305,10 @@ impl<'tcx> Const<'tcx> {
// mir.
match tcx.at(expr.span).lit_to_const(lit_input) {
Ok(c) => return Some(c),
Err(_) if lit_input.ty.has_aliases() => {
// allow the `ty` to be an alias type, though we cannot handle it here
return None;
}
Err(e) => {
tcx.dcx().span_delayed_bug(
expr.span,

View file

@ -1,6 +1,8 @@
//@ known-bug: #116308
//@ check-pass
#![feature(adt_const_params)]
// Regression test for #116308
pub trait Identity {
type Identity;
}