rust/tests/ui/issues/issue-39808.rs

18 lines
436 B
Rust

//@ run-pass
#![allow(unreachable_code)]
// Regression test for #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.
use std::borrow::Cow;
fn main() {
let _ = if false {
Cow::Owned(format!("{:?}", panic!()))
} else {
Cow::Borrowed("")
};
}