Rollup merge of #69166 - JohnTitor:ice-const-enum, r=matthewjasper

Check `has_typeck_tables` before calling `typeck_tables_of`

Fixes #68684

r? @matthewjasper
This commit is contained in:
Dylan DPC 2020-02-15 09:45:48 +01:00 committed by GitHub
commit 09d6a657b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 1 deletions

View file

@ -288,7 +288,10 @@ pub fn const_eval_raw_provider<'tcx>(
let cid = key.value;
let def_id = cid.instance.def.def_id();
if def_id.is_local() && tcx.typeck_tables_of(def_id).tainted_by_errors {
if def_id.is_local()
&& tcx.has_typeck_tables(def_id)
&& tcx.typeck_tables_of(def_id).tainted_by_errors
{
return Err(ErrorHandled::Reported);
}

View file

@ -0,0 +1,15 @@
// check-pass
enum _Enum {
A(),
}
type _E = _Enum;
const fn _a() -> _Enum {
_E::A()
}
const _A: _Enum = _a();
fn main() {}