summaryrefslogtreecommitdiffstats
path: root/src/test/ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs')
-rw-r--r--src/test/ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs b/src/test/ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs
new file mode 100644
index 000000000..3bdc248ff
--- /dev/null
+++ b/src/test/ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs
@@ -0,0 +1,22 @@
+// run-pass
+
+trait Foo {
+ fn foo(&self) -> String;
+}
+
+impl<T:Foo> Foo for Box<T> {
+ fn foo(&self) -> String {
+ format!("box {}", (**self).foo())
+ }
+}
+
+impl Foo for usize {
+ fn foo(&self) -> String {
+ format!("{}", *self)
+ }
+}
+
+pub fn main() {
+ let x: Box<_> = Box::new(3);
+ assert_eq!(x.foo(), "box 3".to_string());
+}