| //@ check-pass | |
| //@ compile-flags: --emit=mir,link -Zmir-opt-level=4 | |
| // Checks that we don't ICE due to attempting to run const prop | |
| // on a function with unsatisifable 'where' clauses | |
| #![allow(unused)] | |
| trait A { | |
| fn foo(&self) -> Self where Self: Copy; | |
| } | |
| impl A for [fn(&())] { | |
| fn foo(&self) -> Self where Self: Copy { *(&[] as &[_]) } | |
| } | |
| impl A for i32 { | |
| fn foo(&self) -> Self { 3 } | |
| } | |
| fn main() {} |