Change:
<!-- Thank you for finding an Internal Compiler Error! If possible, try to provide a minimal verifiable example. You can read "Rust Bug Minimization Patterns" for how to create smaller examples. --<!-- If you're using the stable version of the compiler, you should also check if the bug also exists in the beta or nightly versions. --: <!-- Include a backtrace in the code block by setting in your environment. E.g. . --<details<summary<strongBacktrace</strong</summary<p</p</detailsNOTE: The bug is found by our work-in-progress compiler testing tool Kira, and the test program is reduced/minimized by
Regression occurred in Rust 1.36.0 per testing in Godbolt.
Regression in nightly-2019-04-24 Range: ... found 9 bors merge commits in the specified range commit[0] 2019-04-22UTC: Auto merge of - varkor:tidy-leading-newline, r=alexcrichton commit[1] 2019-04-22UTC: Auto merge of - estebank:continue-eval, r=oli-obk commit[2] 2019-04-23UTC: Auto merge of - euclio:pulldown-cmark, r=GuillaumeGomez commit[3] 2019-04-23UTC: Auto merge of - davazp:fix-sync-all-macos, r=KodrAus commit[4] 2019-04-23UTC: Auto merge of - varkor:tidy-double-trailing-newline, r=kennytm commit[5] 2019-04-23UTC: Auto merge of - estebank:continue-evaluating, r=oli-obk commit[6] 2019-04-23UTC: Auto merge of - stepnivlk:visit_subpats-removal, r=varkor commit[7] 2019-04-23UTC: Auto merge of - davidtwco:issue-, r=oli-obk commit[8] 2019-04-23UTC: Auto merge of - Centril:rollup-akw4r85, r=Centril , , are likely the culprit.
Assigning as and removing .

Discussion:
// contains unbound type parameters. It could be a slight // optimization to stop iterating early. if let Err(errors) = fulfill_cx.select_all_or_error(infcx) { <del> bug!("Encountered errors `{:?}` resolving bounds after type-checking", errors); </del> <ins> infcx.tcx.sess.delay_span_bug( rustc_span::DUMMY_SP, &format!("Encountered errors `{:?}` resolving bounds after type-checking", errors), ); </ins> } let result = infcx.resolve_vars_if_possible(result);

<ins> fn main() { [1; <Multiply<Five, Five>>::VAL]; //~ ERROR evaluation of constant value failed } trait TypeVal<T> { const VAL: T; //~ ERROR any use of this value will cause an error } struct Five; struct Multiply<N, M> { _n: PhantomData, //~ ERROR cannot find type `PhantomData` in this scope } impl<N, M> TypeVal<usize> for Multiply<N, M> where N: TypeVal<VAL> {} //~^ ERROR cannot find type `VAL` in this scope //~| ERROR not all trait items implemented, missing: `VAL` </ins>

<ins> error[E0412]: cannot find type `PhantomData` in this scope --> $DIR/issue-77919.rs:9:9 | LL |     _n: PhantomData, |         ^^^^^^^^^^^ not found in this scope | help: consider importing this struct | LL | use std::marker::PhantomData; | error[E0412]: cannot find type `VAL` in this scope --> $DIR/issue-77919.rs:11:63 | LL | impl<N, M> TypeVal<usize> for Multiply<N, M> where N: TypeVal<VAL> {} |          -                                                    ^^^ not found in this scope |          | |          help: you might be missing a type parameter: `, VAL` error[E0046]: not all trait items implemented, missing: `VAL` --> $DIR/issue-77919.rs:11:1 | LL |     const VAL: T; |     ------------- `VAL` from trait ... LL | impl<N, M> TypeVal<usize> for Multiply<N, M> where N: TypeVal<VAL> {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `VAL` in implementation error: any use of this value will cause an error --> $DIR/issue-77919.rs:5:5 | LL |     const VAL: T; |     ^^^^^^^^^^^^^ no MIR body is available for DefId(0:7 ~ issue_77919[317d]::TypeVal::VAL) | = note: `#[deny(const_err)]` on by default error[E0080]: evaluation of constant value failed --> $DIR/issue-77919.rs:2:9 | LL |     [1; <Multiply<Five, Five>>::VAL]; |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors error: aborting due to 5 previous errors Some errors have detailed explanations: E0046, E0080, E0412. For more information about an error, try `rustc --explain E0046`. </ins>