Skip to content

Commit

Permalink
Rollup merge of #129042 - Jaic1:fix-116308, r=BoxyUwU
Browse files Browse the repository at this point in the history
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``
  • Loading branch information
matthiaskrgr authored Aug 16, 2024
2 parents 19d32e4 + cd2b030 commit f04d25f
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
4 changes: 4 additions & 0 deletions compiler/rustc_middle/src/ty/consts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
//@ known-bug: #116308
//@ check-pass
#![feature(adt_const_params)]

// Regression test for #116308

pub trait Identity {
type Identity;
}
Expand Down

0 comments on commit f04d25f

Please sign in to comment.