summaryrefslogtreecommitdiffstats
path: root/src/test/ui/unsized/unsized-fn-param.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/unsized/unsized-fn-param.rs')
-rw-r--r--src/test/ui/unsized/unsized-fn-param.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/unsized/unsized-fn-param.rs b/src/test/ui/unsized/unsized-fn-param.rs
new file mode 100644
index 000000000..32efc7e17
--- /dev/null
+++ b/src/test/ui/unsized/unsized-fn-param.rs
@@ -0,0 +1,20 @@
+use std::convert::AsRef;
+use std::path::Path;
+
+fn foo11(_bar: &dyn AsRef<Path>, _baz: &str) {}
+fn foo12(_bar: &str, _baz: &dyn AsRef<Path>) {}
+
+fn foo21(_bar: &dyn AsRef<str>, _baz: &str) {}
+fn foo22(_bar: &str, _baz: &dyn AsRef<str>) {}
+
+fn main() {
+ foo11("bar", &"baz"); //~ ERROR the size for values of type
+ foo11(&"bar", &"baz");
+ foo12(&"bar", "baz"); //~ ERROR the size for values of type
+ foo12(&"bar", &"baz");
+
+ foo21("bar", &"baz"); //~ ERROR the size for values of type
+ foo21(&"bar", &"baz");
+ foo22(&"bar", "baz"); //~ ERROR the size for values of type
+ foo22(&"bar", &"baz");
+}