about summary refs log tree commit diff
path: root/tests/ui/traits/issue-3973.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/traits/issue-3973.rs')
-rw-r--r--tests/ui/traits/issue-3973.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/traits/issue-3973.rs b/tests/ui/traits/issue-3973.rs
new file mode 100644
index 00000000000..a5ed5b87051
--- /dev/null
+++ b/tests/ui/traits/issue-3973.rs
@@ -0,0 +1,25 @@
+struct Point {
+    x: f64,
+    y: f64,
+}
+
+trait ToString_ {
+    fn to_string(&self) -> String;
+}
+
+impl ToString_ for Point {
+    fn new(x: f64, y: f64) -> Point {
+    //~^ ERROR method `new` is not a member of trait `ToString_`
+        Point { x: x, y: y }
+    }
+
+    fn to_string(&self) -> String {
+        format!("({}, {})", self.x, self.y)
+    }
+}
+
+fn main() {
+    let p = Point::new(0.0, 0.0);
+    //~^ ERROR no function or associated item named `new` found for struct `Point`
+    println!("{}", p.to_string());
+}