Fix ICE with -Zunpretty=hir,typed when an expression occurs in a function signature

This commit is contained in:
Fabian Wolff 2021-06-26 16:05:53 +02:00
parent 481971978f
commit 7682e87c6d
3 changed files with 48 additions and 16 deletions

View file

@ -0,0 +1,13 @@
// Regression test for the ICE described in #82328. The pretty-printer for
// compile-flags: -Zunpretty=hir,typed
// would previously retrieve type-checking results when entering a body,
// which means that type information was not available for expressions
// occurring in function signatures, as in the `foo` example below, leading
// to an ICE.
// check-pass
#![allow(dead_code)]
fn main() {}
fn foo(-128..=127: i8) {}

View file

@ -0,0 +1,17 @@
// Regression test for the ICE described in #82328. The pretty-printer for
// compile-flags: -Zunpretty=hir,typed
// would previously retrieve type-checking results when entering a body,
// which means that type information was not available for expressions
// occurring in function signatures, as in the `foo` example below, leading
// to an ICE.
// check-pass
#![allow(dead_code)]
#[prelude_import]
use ::std::prelude::rust_2015::*;
#[macro_use]
extern crate std;
fn main() ({ } as ())
fn foo((-(128 as i8) as i8) ...(127 as i8): i8) ({ } as ())