| //! Regression test for <https://github.com/rust-lang/rust/issues/39808>. | |
| //! The type parameter of `Owned` was considered to be "unconstrained" | |
| //! because the type resulting from `format!` (`String`) was not being | |
| //! propagated upward, owing to the fact that the expression diverges. | |
| //@ run-pass | |
| #![allow(unreachable_code)] | |
| use std::borrow::Cow; | |
| fn main() { | |
| let _ = if false { | |
| Cow::Owned(format!("{:?}", panic!())) | |
| } else { | |
| Cow::Borrowed("") | |
| }; | |
| } |