summaryrefslogtreecommitdiffstats
path: root/tests/ui/issues/issue-2063.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/issue-2063.rs')
-rw-r--r--tests/ui/issues/issue-2063.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-2063.rs b/tests/ui/issues/issue-2063.rs
new file mode 100644
index 000000000..f08f9d4cf
--- /dev/null
+++ b/tests/ui/issues/issue-2063.rs
@@ -0,0 +1,22 @@
+// run-pass
+// test that autoderef of a type like this does not
+// cause compiler to loop. Note that no instances
+// of such a type could ever be constructed.
+
+struct T(#[allow(unused_tuple_struct_fields)] Box<T>);
+
+trait ToStr2 {
+ fn my_to_string(&self) -> String;
+}
+
+impl ToStr2 for T {
+ fn my_to_string(&self) -> String { "t".to_string() }
+}
+
+#[allow(dead_code)]
+fn new_t(x: T) {
+ x.my_to_string();
+}
+
+fn main() {
+}