about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-05-12 19:37:39 +0000
committerbors <bors@rust-lang.org>2019-05-12 19:37:39 +0000
commitc79838e5d61f3ff130c67aa04f5478bbae38f31d (patch)
tree053849adbd978d1a001af5812eef3d37093e3ab1
parent2122bdb94b8b1466663b6f0c5f908246fe40f4e2 (diff)
parenta5bcaf538d193f9e502b122875f9d54ca3dfdaa1 (diff)
downloadrust-c79838e5d61f3ff130c67aa04f5478bbae38f31d.tar.gz
rust-c79838e5d61f3ff130c67aa04f5478bbae38f31d.zip
Auto merge of #4089 - flip1995:id_conv_reg_test, r=Manishearth
Add regression test for identity_conversion FP

cc #3913 #4082 #3936

changelog: none
-rw-r--r--tests/ui/identity_conversion.rs11
-rw-r--r--tests/ui/identity_conversion.stderr14
2 files changed, 18 insertions, 7 deletions
diff --git a/tests/ui/identity_conversion.rs b/tests/ui/identity_conversion.rs
index 6491518af6c..164f0a3d6e7 100644
--- a/tests/ui/identity_conversion.rs
+++ b/tests/ui/identity_conversion.rs
@@ -20,10 +20,21 @@ fn test_questionmark() -> Result<(), ()> {
     Ok(())
 }
 
+fn test_issue_3913() -> Result<(), std::io::Error> {
+    use std::fs;
+    use std::path::Path;
+
+    let path = Path::new(".");
+    for _ in fs::read_dir(path)? {}
+
+    Ok(())
+}
+
 fn main() {
     test_generic(10i32);
     test_generic2::<i32, i32>(10i32);
     test_questionmark().unwrap();
+    test_issue_3913().unwrap();
 
     let _: String = "foo".into();
     let _: String = From::from("foo");
diff --git a/tests/ui/identity_conversion.stderr b/tests/ui/identity_conversion.stderr
index 73a1996180b..663f00d2279 100644
--- a/tests/ui/identity_conversion.stderr
+++ b/tests/ui/identity_conversion.stderr
@@ -23,43 +23,43 @@ LL |         let _: i32 = 0i32.into();
    |                      ^^^^^^^^^^^ help: consider removing `.into()`: `0i32`
 
 error: identical conversion
-  --> $DIR/identity_conversion.rs:38:21
+  --> $DIR/identity_conversion.rs:49:21
    |
 LL |     let _: String = "foo".to_string().into();
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"foo".to_string()`
 
 error: identical conversion
-  --> $DIR/identity_conversion.rs:39:21
+  --> $DIR/identity_conversion.rs:50:21
    |
 LL |     let _: String = From::from("foo".to_string());
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `From::from()`: `"foo".to_string()`
 
 error: identical conversion
-  --> $DIR/identity_conversion.rs:40:13
+  --> $DIR/identity_conversion.rs:51:13
    |
 LL |     let _ = String::from("foo".to_string());
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `"foo".to_string()`
 
 error: identical conversion
-  --> $DIR/identity_conversion.rs:41:13
+  --> $DIR/identity_conversion.rs:52:13
    |
 LL |     let _ = String::from(format!("A: {:04}", 123));
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("A: {:04}", 123)`
 
 error: identical conversion
-  --> $DIR/identity_conversion.rs:42:13
+  --> $DIR/identity_conversion.rs:53:13
    |
 LL |     let _ = "".lines().into_iter();
    |             ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `"".lines()`
 
 error: identical conversion
-  --> $DIR/identity_conversion.rs:43:13
+  --> $DIR/identity_conversion.rs:54:13
    |
 LL |     let _ = vec![1, 2, 3].into_iter().into_iter();
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `vec![1, 2, 3].into_iter()`
 
 error: identical conversion
-  --> $DIR/identity_conversion.rs:44:21
+  --> $DIR/identity_conversion.rs:55:21
    |
 LL |     let _: String = format!("Hello {}", "world").into();
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("Hello {}", "world")`