From 21ffe30cd5e9e8b5f03454ea0cae6dc4f8cfb33a Mon Sep 17 00:00:00 2001 From: ltdk Date: Thu, 23 Oct 2025 18:24:39 -0400 Subject: [PATCH] Add regression test for inference failures (cherry picked from commit 4a4f3b0e8e9609136c10a190c3f5572d70bb33ee) --- .../generic-cow-inference-regression.rs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tests/ui/traits/generic-cow-inference-regression.rs diff --git a/tests/ui/traits/generic-cow-inference-regression.rs b/tests/ui/traits/generic-cow-inference-regression.rs new file mode 100644 index 000000000000..6fd4715f85bb --- /dev/null +++ b/tests/ui/traits/generic-cow-inference-regression.rs @@ -0,0 +1,20 @@ +//@ run-pass + +// regression test for #147964: +// constification of these traits resulted in inference errors due to additional where clauses + +use std::borrow::{Cow, Borrow}; + +pub fn generic_deref<'a, T: ToOwned, U>(cow: Cow<'a, T>) { + let _: &T = &cow; +} + +pub fn generic_borrow<'a, T: ToOwned, U>(cow: Cow<'a, T>) { + let _: &T = cow.borrow(); +} + +pub fn generic_as_ref<'a, T: ToOwned, U>(cow: Cow<'a, T>) { + let _: &T = cow.as_ref(); +} + +fn main() {}