about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-10-28 07:06:47 +0200
committerGitHub <noreply@github.com>2022-10-28 07:06:47 +0200
commit19b406d16bb587cff56b837203f28f8b1966d651 (patch)
tree903bdac537fe0df9e51d0f4b59e275c079b670e4 /src
parentab0d9dfefee2535ffa1a5ca8abe3b64a8e5970fd (diff)
parentf4ac137f3c7952c3b8e8278916ac030a6c3a9b6e (diff)
downloadrust-19b406d16bb587cff56b837203f28f8b1966d651.tar.gz
rust-19b406d16bb587cff56b837203f28f8b1966d651.zip
Rollup merge of #103631 - Rageking8:Add-test-for-issue-36007, r=compiler-errors
Add test for issue 36007

Fixes #36007

r? ``@compiler-errors``
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/coercion/issue-36007.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/coercion/issue-36007.rs b/src/test/ui/coercion/issue-36007.rs
new file mode 100644
index 00000000000..78812df870d
--- /dev/null
+++ b/src/test/ui/coercion/issue-36007.rs
@@ -0,0 +1,20 @@
+// check-pass
+#![feature(coerce_unsized, unsize)]
+
+use std::marker::Unsize;
+use std::ops::CoerceUnsized;
+
+struct Foo<T: ?Sized>(Box<T>);
+
+impl<T> CoerceUnsized<Foo<dyn Baz>> for Foo<T> where T: Unsize<dyn Baz> {}
+
+struct Bar;
+
+trait Baz {}
+
+impl Baz for Bar {}
+
+fn main() {
+    let foo = Foo(Box::new(Bar));
+    let foobar: Foo<Bar> = foo;
+}