aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/ra_hir/src/ty/.tests.rs.pending-snap28
-rw-r--r--crates/ra_hir/src/ty/tests.rs82
-rw-r--r--crates/ra_syntax/src/ast.rs2
-rw-r--r--crates/ra_syntax/src/ast/expr_extensions.rs2
-rw-r--r--crates/ra_syntax/src/ast/generated.rs4
-rw-r--r--crates/ra_syntax/src/grammar.ron3
6 files changed, 44 insertions, 77 deletions
diff --git a/crates/ra_hir/src/ty/.tests.rs.pending-snap b/crates/ra_hir/src/ty/.tests.rs.pending-snap
deleted file mode 100644
index 7c7e825fd..000000000
--- a/crates/ra_hir/src/ty/.tests.rs.pending-snap
+++ /dev/null
@@ -1,28 +0,0 @@
1{"run_id":"a9369f17-d487-4cdb-8762-6d57bb38dfd6","line":1665,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:49:23.327579Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test_line_buffer() {\n &[0, b'\\n', 1, b'\\n'];\n}\n\"#)"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8]\n[30; 50) '[0, b'...b'\\n']': [u8]\n[31; 32) '0': u8\n[31; 32) '0': usize\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8]\n[30; 50) '[0, b'...b'\\n']': [u8]\n[31; 32) '0': u8\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"}}
2{"run_id":"a9369f17-d487-4cdb-8762-6d57bb38dfd6","line":1567,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:49:23.380284Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let x = unknown;\n let y = unknown;\n [(x, y), (&y, &x)];\n}\n\"#)"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown})]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown})]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"}}
3{"run_id":"a9369f17-d487-4cdb-8762-6d57bb38dfd6","line":675,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:49:23.280012Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test(x: &str, y: isize) {\n let a = [x];\n let b = [a, a];\n let c = [b, b];\n\n let d = [y, 1, 2, 3];\n let d = [1, y, 2, 3];\n let e = [y];\n let f = [d, d];\n let g = [e, e];\n\n let h = [1, 2];\n let i = [\"a\", \"b\"];\n\n let b = [a, [\"b\"]];\n let x: [u8; 0] = [];\n let z: &[u8] = &[1, 2, 3];\n}\n\"#)"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str]\n[42; 45) '[x]': [&str]\n[43; 44) 'x': &str\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str]]\n[59; 65) '[a, a]': [[&str]]\n[60; 61) 'a': [&str]\n[60; 61) 'a': [&str]\n[63; 64) 'a': [&str]\n[75; 76) 'c': [[[&str]]]\n[79; 85) '[b, b]': [[[&str]]]\n[80; 81) 'b': [[&str]]\n[80; 81) 'b': [[&str]]\n[83; 84) 'b': [[&str]]\n[96; 97) 'd': [isize]\n[100; 112) '[y, 1, 2, 3]': [isize]\n[101; 102) 'y': isize\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize]\n[126; 138) '[1, y, 2, 3]': [isize]\n[127; 128) '1': isize\n[127; 128) '1': usize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize]\n[152; 155) '[y]': [isize]\n[153; 154) 'y': isize\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize]]\n[169; 175) '[d, d]': [[isize]]\n[170; 171) 'd': [isize]\n[170; 171) 'd': [isize]\n[173; 174) 'd': [isize]\n[185; 186) 'g': [[isize]]\n[189; 195) '[e, e]': [[isize]]\n[190; 191) 'e': [isize]\n[190; 191) 'e': [isize]\n[193; 194) 'e': [isize]\n[206; 207) 'h': [i32]\n[210; 216) '[1, 2]': [i32]\n[211; 212) '1': i32\n[211; 212) '1': usize\n[214; 215) '2': i32\n[226; 227) 'i': [&str]\n[230; 240) '[\"a\", \"b\"]': [&str]\n[231; 234) '\"a\"': &str\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str]]\n[255; 265) '[a, [\"b\"]]': [[&str]]\n[256; 257) 'a': [&str]\n[256; 257) 'a': [&str]\n[259; 264) '[\"b\"]': [&str]\n[260; 263) '\"b\"': &str\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8]\n[288; 290) '[]': [u8]\n[300; 301) 'z': &[u8]\n[311; 321) '&[1, 2, 3]': &[u8]\n[312; 321) '[1, 2, 3]': [u8]\n[313; 314) '1': u8\n[313; 314) '1': usize\n[316; 317) '2': u8\n[319; 320) '3': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str]\n[42; 45) '[x]': [&str]\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str]]\n[59; 65) '[a, a]': [[&str]]\n[60; 61) 'a': [&str]\n[63; 64) 'a': [&str]\n[75; 76) 'c': [[[&str]]]\n[79; 85) '[b, b]': [[[&str]]]\n[80; 81) 'b': [[&str]]\n[83; 84) 'b': [[&str]]\n[96; 97) 'd': [isize]\n[100; 112) '[y, 1, 2, 3]': [isize]\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize]\n[126; 138) '[1, y, 2, 3]': [isize]\n[127; 128) '1': isize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize]\n[152; 155) '[y]': [isize]\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize]]\n[169; 175) '[d, d]': [[isize]]\n[170; 171) 'd': [isize]\n[173; 174) 'd': [isize]\n[185; 186) 'g': [[isize]]\n[189; 195) '[e, e]': [[isize]]\n[190; 191) 'e': [isize]\n[193; 194) 'e': [isize]\n[206; 207) 'h': [i32]\n[210; 216) '[1, 2]': [i32]\n[211; 212) '1': i32\n[214; 215) '2': i32\n[226; 227) 'i': [&str]\n[230; 240) '[\"a\", \"b\"]': [&str]\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str]]\n[255; 265) '[a, [\"b\"]]': [[&str]]\n[256; 257) 'a': [&str]\n[259; 264) '[\"b\"]': [&str]\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8]\n[288; 290) '[]': [u8]\n[300; 301) 'z': &[u8]\n[311; 321) '&[1, 2, 3]': &[u8]\n[312; 321) '[1, 2, 3]': [u8]\n[313; 314) '1': u8\n[316; 317) '2': u8\n[319; 320) '3': u8"}}
4{"run_id":"a9369f17-d487-4cdb-8762-6d57bb38dfd6","line":1545,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:49:23.362700Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let y = unknown;\n [y, &y];\n}\n\"#)"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown}]\n[39; 40) 'y': &{unknown}\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown}]\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"}}
5{"run_id":"be772ce1-85a5-4a66-9759-d2f2ec500485","line":1545,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:53:07.383521Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let y = unknown;\n [y, &y];\n}\n\"#)"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown},usize]\n[39; 40) 'y': &{unknown}\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown}]\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"}}
6{"run_id":"be772ce1-85a5-4a66-9759-d2f2ec500485","line":1665,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:53:07.344395Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test_line_buffer() {\n &[0, b'\\n', 1, b'\\n'];\n}\n\"#)"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8,usize]\n[30; 50) '[0, b'...b'\\n']': [u8,usize]\n[31; 32) '0': u8\n[31; 32) '0': usize\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8]\n[30; 50) '[0, b'...b'\\n']': [u8]\n[31; 32) '0': u8\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"}}
7{"run_id":"be772ce1-85a5-4a66-9759-d2f2ec500485","line":1567,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:53:07.386674Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let x = unknown;\n let y = unknown;\n [(x, y), (&y, &x)];\n}\n\"#)"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown}),usize]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown})]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"}}
8{"run_id":"be772ce1-85a5-4a66-9759-d2f2ec500485","line":675,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:53:07.295710Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test(x: &str, y: isize) {\n let a = [x];\n let b = [a, a];\n let c = [b, b];\n\n let d = [y, 1, 2, 3];\n let d = [1, y, 2, 3];\n let e = [y];\n let f = [d, d];\n let g = [e, e];\n\n let h = [1, 2];\n let i = [\"a\", \"b\"];\n\n let b = [a, [\"b\"]];\n let x: [u8; 0] = [];\n let z: &[u8] = &[1, 2, 3];\n}\n\"#)"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str,usize]\n[42; 45) '[x]': [&str,usize]\n[43; 44) 'x': &str\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str,usize],usize]\n[59; 65) '[a, a]': [[&str,usize],usize]\n[60; 61) 'a': [&str,usize]\n[60; 61) 'a': [&str,usize]\n[63; 64) 'a': [&str,usize]\n[75; 76) 'c': [[[&str,usize],usize],usize]\n[79; 85) '[b, b]': [[[&str,usize],usize],usize]\n[80; 81) 'b': [[&str,usize],usize]\n[80; 81) 'b': [[&str,usize],usize]\n[83; 84) 'b': [[&str,usize],usize]\n[96; 97) 'd': [isize,usize]\n[100; 112) '[y, 1, 2, 3]': [isize,usize]\n[101; 102) 'y': isize\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize,usize]\n[126; 138) '[1, y, 2, 3]': [isize,usize]\n[127; 128) '1': isize\n[127; 128) '1': usize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize,usize]\n[152; 155) '[y]': [isize,usize]\n[153; 154) 'y': isize\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize,usize],usize]\n[169; 175) '[d, d]': [[isize,usize],usize]\n[170; 171) 'd': [isize,usize]\n[170; 171) 'd': [isize,usize]\n[173; 174) 'd': [isize,usize]\n[185; 186) 'g': [[isize,usize],usize]\n[189; 195) '[e, e]': [[isize,usize],usize]\n[190; 191) 'e': [isize,usize]\n[190; 191) 'e': [isize,usize]\n[193; 194) 'e': [isize,usize]\n[206; 207) 'h': [i32,usize]\n[210; 216) '[1, 2]': [i32,usize]\n[211; 212) '1': i32\n[211; 212) '1': usize\n[214; 215) '2': i32\n[226; 227) 'i': [&str,usize]\n[230; 240) '[\"a\", \"b\"]': [&str,usize]\n[231; 234) '\"a\"': &str\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str,usize],usize]\n[255; 265) '[a, [\"b\"]]': [[&str,usize],usize]\n[256; 257) 'a': [&str,usize]\n[256; 257) 'a': [&str,usize]\n[259; 264) '[\"b\"]': [&str,usize]\n[260; 263) '\"b\"': &str\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8,usize]\n[288; 290) '[]': [u8,usize]\n[300; 301) 'z': &[u8,usize]\n[311; 321) '&[1, 2, 3]': &[u8,usize]\n[312; 321) '[1, 2, 3]': [u8,usize]\n[313; 314) '1': u8\n[313; 314) '1': usize\n[316; 317) '2': u8\n[319; 320) '3': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str]\n[42; 45) '[x]': [&str]\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str]]\n[59; 65) '[a, a]': [[&str]]\n[60; 61) 'a': [&str]\n[63; 64) 'a': [&str]\n[75; 76) 'c': [[[&str]]]\n[79; 85) '[b, b]': [[[&str]]]\n[80; 81) 'b': [[&str]]\n[83; 84) 'b': [[&str]]\n[96; 97) 'd': [isize]\n[100; 112) '[y, 1, 2, 3]': [isize]\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize]\n[126; 138) '[1, y, 2, 3]': [isize]\n[127; 128) '1': isize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize]\n[152; 155) '[y]': [isize]\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize]]\n[169; 175) '[d, d]': [[isize]]\n[170; 171) 'd': [isize]\n[173; 174) 'd': [isize]\n[185; 186) 'g': [[isize]]\n[189; 195) '[e, e]': [[isize]]\n[190; 191) 'e': [isize]\n[193; 194) 'e': [isize]\n[206; 207) 'h': [i32]\n[210; 216) '[1, 2]': [i32]\n[211; 212) '1': i32\n[214; 215) '2': i32\n[226; 227) 'i': [&str]\n[230; 240) '[\"a\", \"b\"]': [&str]\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str]]\n[255; 265) '[a, [\"b\"]]': [[&str]]\n[256; 257) 'a': [&str]\n[259; 264) '[\"b\"]': [&str]\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8]\n[288; 290) '[]': [u8]\n[300; 301) 'z': &[u8]\n[311; 321) '&[1, 2, 3]': &[u8]\n[312; 321) '[1, 2, 3]': [u8]\n[313; 314) '1': u8\n[316; 317) '2': u8\n[319; 320) '3': u8"}}
9{"run_id":"4d89ad2b-517f-40ee-a338-ac0fb94c41c3","line":1665,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:54:08.012093Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test_line_buffer() {\n &[0, b'\\n', 1, b'\\n'];\n}\n\"#)"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8;usize]\n[30; 50) '[0, b'...b'\\n']': [u8;usize]\n[31; 32) '0': u8\n[31; 32) '0': usize\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8]\n[30; 50) '[0, b'...b'\\n']': [u8]\n[31; 32) '0': u8\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"}}
10{"run_id":"4d89ad2b-517f-40ee-a338-ac0fb94c41c3","line":675,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:54:07.959973Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test(x: &str, y: isize) {\n let a = [x];\n let b = [a, a];\n let c = [b, b];\n\n let d = [y, 1, 2, 3];\n let d = [1, y, 2, 3];\n let e = [y];\n let f = [d, d];\n let g = [e, e];\n\n let h = [1, 2];\n let i = [\"a\", \"b\"];\n\n let b = [a, [\"b\"]];\n let x: [u8; 0] = [];\n let z: &[u8] = &[1, 2, 3];\n}\n\"#)"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str;usize]\n[42; 45) '[x]': [&str;usize]\n[43; 44) 'x': &str\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str;usize];usize]\n[59; 65) '[a, a]': [[&str;usize];usize]\n[60; 61) 'a': [&str;usize]\n[60; 61) 'a': [&str;usize]\n[63; 64) 'a': [&str;usize]\n[75; 76) 'c': [[[&str;usize];usize];usize]\n[79; 85) '[b, b]': [[[&str;usize];usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[83; 84) 'b': [[&str;usize];usize]\n[96; 97) 'd': [isize;usize]\n[100; 112) '[y, 1, 2, 3]': [isize;usize]\n[101; 102) 'y': isize\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize;usize]\n[126; 138) '[1, y, 2, 3]': [isize;usize]\n[127; 128) '1': isize\n[127; 128) '1': usize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize;usize]\n[152; 155) '[y]': [isize;usize]\n[153; 154) 'y': isize\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize;usize];usize]\n[169; 175) '[d, d]': [[isize;usize];usize]\n[170; 171) 'd': [isize;usize]\n[170; 171) 'd': [isize;usize]\n[173; 174) 'd': [isize;usize]\n[185; 186) 'g': [[isize;usize];usize]\n[189; 195) '[e, e]': [[isize;usize];usize]\n[190; 191) 'e': [isize;usize]\n[190; 191) 'e': [isize;usize]\n[193; 194) 'e': [isize;usize]\n[206; 207) 'h': [i32;usize]\n[210; 216) '[1, 2]': [i32;usize]\n[211; 212) '1': i32\n[211; 212) '1': usize\n[214; 215) '2': i32\n[226; 227) 'i': [&str;usize]\n[230; 240) '[\"a\", \"b\"]': [&str;usize]\n[231; 234) '\"a\"': &str\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str;usize];usize]\n[255; 265) '[a, [\"b\"]]': [[&str;usize];usize]\n[256; 257) 'a': [&str;usize]\n[256; 257) 'a': [&str;usize]\n[259; 264) '[\"b\"]': [&str;usize]\n[260; 263) '\"b\"': &str\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8;usize]\n[288; 290) '[]': [u8;usize]\n[300; 301) 'z': &[u8;usize]\n[311; 321) '&[1, 2, 3]': &[u8;usize]\n[312; 321) '[1, 2, 3]': [u8;usize]\n[313; 314) '1': u8\n[313; 314) '1': usize\n[316; 317) '2': u8\n[319; 320) '3': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str]\n[42; 45) '[x]': [&str]\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str]]\n[59; 65) '[a, a]': [[&str]]\n[60; 61) 'a': [&str]\n[63; 64) 'a': [&str]\n[75; 76) 'c': [[[&str]]]\n[79; 85) '[b, b]': [[[&str]]]\n[80; 81) 'b': [[&str]]\n[83; 84) 'b': [[&str]]\n[96; 97) 'd': [isize]\n[100; 112) '[y, 1, 2, 3]': [isize]\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize]\n[126; 138) '[1, y, 2, 3]': [isize]\n[127; 128) '1': isize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize]\n[152; 155) '[y]': [isize]\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize]]\n[169; 175) '[d, d]': [[isize]]\n[170; 171) 'd': [isize]\n[173; 174) 'd': [isize]\n[185; 186) 'g': [[isize]]\n[189; 195) '[e, e]': [[isize]]\n[190; 191) 'e': [isize]\n[193; 194) 'e': [isize]\n[206; 207) 'h': [i32]\n[210; 216) '[1, 2]': [i32]\n[211; 212) '1': i32\n[214; 215) '2': i32\n[226; 227) 'i': [&str]\n[230; 240) '[\"a\", \"b\"]': [&str]\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str]]\n[255; 265) '[a, [\"b\"]]': [[&str]]\n[256; 257) 'a': [&str]\n[259; 264) '[\"b\"]': [&str]\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8]\n[288; 290) '[]': [u8]\n[300; 301) 'z': &[u8]\n[311; 321) '&[1, 2, 3]': &[u8]\n[312; 321) '[1, 2, 3]': [u8]\n[313; 314) '1': u8\n[316; 317) '2': u8\n[319; 320) '3': u8"}}
11{"run_id":"4d89ad2b-517f-40ee-a338-ac0fb94c41c3","line":1567,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:54:08.052226Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let x = unknown;\n let y = unknown;\n [(x, y), (&y, &x)];\n}\n\"#)"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown});usize]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown})]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"}}
12{"run_id":"4d89ad2b-517f-40ee-a338-ac0fb94c41c3","line":1545,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:54:08.050113Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let y = unknown;\n [y, &y];\n}\n\"#)"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown};usize]\n[39; 40) 'y': &{unknown}\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown}]\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"}}
13{"run_id":"ef95f672-4bc0-4043-ba09-cc828ec0b621","line":1545,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:56:55.243233Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let y = unknown;\n [y, &y];\n}\n\"#)"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': usize\n[25; 32) 'unknown': usize\n[38; 45) '[y, &y]': [usize;usize]\n[39; 40) 'y': usize\n[39; 40) 'y': usize\n[42; 44) '&y': &usize\n[43; 44) 'y': usize"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown}]\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"}}
14{"run_id":"ef95f672-4bc0-4043-ba09-cc828ec0b621","line":1665,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:56:55.206265Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test_line_buffer() {\n &[0, b'\\n', 1, b'\\n'];\n}\n\"#)"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8;usize]\n[30; 50) '[0, b'...b'\\n']': [u8;usize]\n[31; 32) '0': u8\n[31; 32) '0': usize\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8]\n[30; 50) '[0, b'...b'\\n']': [u8]\n[31; 32) '0': u8\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"}}
15{"run_id":"ef95f672-4bc0-4043-ba09-cc828ec0b621","line":1567,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:56:55.243908Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let x = unknown;\n let y = unknown;\n [(x, y), (&y, &x)];\n}\n\"#)"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown});usize]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown})]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"}}
16{"run_id":"ef95f672-4bc0-4043-ba09-cc828ec0b621","line":675,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T21:56:55.153183Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test(x: &str, y: isize) {\n let a = [x];\n let b = [a, a];\n let c = [b, b];\n\n let d = [y, 1, 2, 3];\n let d = [1, y, 2, 3];\n let e = [y];\n let f = [d, d];\n let g = [e, e];\n\n let h = [1, 2];\n let i = [\"a\", \"b\"];\n\n let b = [a, [\"b\"]];\n let x: [u8; 0] = [];\n let z: &[u8] = &[1, 2, 3];\n}\n\"#)"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str;usize]\n[42; 45) '[x]': [&str;usize]\n[43; 44) 'x': &str\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str;usize];usize]\n[59; 65) '[a, a]': [[&str;usize];usize]\n[60; 61) 'a': [&str;usize]\n[60; 61) 'a': [&str;usize]\n[63; 64) 'a': [&str;usize]\n[75; 76) 'c': [[[&str;usize];usize];usize]\n[79; 85) '[b, b]': [[[&str;usize];usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[83; 84) 'b': [[&str;usize];usize]\n[96; 97) 'd': [isize;usize]\n[100; 112) '[y, 1, 2, 3]': [isize;usize]\n[101; 102) 'y': isize\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize;usize]\n[126; 138) '[1, y, 2, 3]': [isize;usize]\n[127; 128) '1': isize\n[127; 128) '1': usize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize;usize]\n[152; 155) '[y]': [isize;usize]\n[153; 154) 'y': isize\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize;usize];usize]\n[169; 175) '[d, d]': [[isize;usize];usize]\n[170; 171) 'd': [isize;usize]\n[170; 171) 'd': [isize;usize]\n[173; 174) 'd': [isize;usize]\n[185; 186) 'g': [[isize;usize];usize]\n[189; 195) '[e, e]': [[isize;usize];usize]\n[190; 191) 'e': [isize;usize]\n[190; 191) 'e': [isize;usize]\n[193; 194) 'e': [isize;usize]\n[206; 207) 'h': [i32;usize]\n[210; 216) '[1, 2]': [i32;usize]\n[211; 212) '1': i32\n[211; 212) '1': usize\n[214; 215) '2': i32\n[226; 227) 'i': [&str;usize]\n[230; 240) '[\"a\", \"b\"]': [&str;usize]\n[231; 234) '\"a\"': &str\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str;usize];usize]\n[255; 265) '[a, [\"b\"]]': [[&str;usize];usize]\n[256; 257) 'a': [&str;usize]\n[256; 257) 'a': [&str;usize]\n[259; 264) '[\"b\"]': [&str;usize]\n[260; 263) '\"b\"': &str\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8;usize]\n[288; 290) '[]': [u8;usize]\n[300; 301) 'z': &[u8;usize]\n[311; 321) '&[1, 2, 3]': &[u8;usize]\n[312; 321) '[1, 2, 3]': [u8;usize]\n[313; 314) '1': u8\n[313; 314) '1': usize\n[316; 317) '2': u8\n[319; 320) '3': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str]\n[42; 45) '[x]': [&str]\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str]]\n[59; 65) '[a, a]': [[&str]]\n[60; 61) 'a': [&str]\n[63; 64) 'a': [&str]\n[75; 76) 'c': [[[&str]]]\n[79; 85) '[b, b]': [[[&str]]]\n[80; 81) 'b': [[&str]]\n[83; 84) 'b': [[&str]]\n[96; 97) 'd': [isize]\n[100; 112) '[y, 1, 2, 3]': [isize]\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize]\n[126; 138) '[1, y, 2, 3]': [isize]\n[127; 128) '1': isize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize]\n[152; 155) '[y]': [isize]\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize]]\n[169; 175) '[d, d]': [[isize]]\n[170; 171) 'd': [isize]\n[173; 174) 'd': [isize]\n[185; 186) 'g': [[isize]]\n[189; 195) '[e, e]': [[isize]]\n[190; 191) 'e': [isize]\n[193; 194) 'e': [isize]\n[206; 207) 'h': [i32]\n[210; 216) '[1, 2]': [i32]\n[211; 212) '1': i32\n[214; 215) '2': i32\n[226; 227) 'i': [&str]\n[230; 240) '[\"a\", \"b\"]': [&str]\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str]]\n[255; 265) '[a, [\"b\"]]': [[&str]]\n[256; 257) 'a': [&str]\n[259; 264) '[\"b\"]': [&str]\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8]\n[288; 290) '[]': [u8]\n[300; 301) 'z': &[u8]\n[311; 321) '&[1, 2, 3]': &[u8]\n[312; 321) '[1, 2, 3]': [u8]\n[313; 314) '1': u8\n[316; 317) '2': u8\n[319; 320) '3': u8"}}
17{"run_id":"60c5ca56-4eac-4d4e-ad2d-ce03a3fa5542","line":1545,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:13:33.069257Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let y = unknown;\n [y, &y];\n}\n\"#)"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown};usize]\n[39; 40) 'y': &{unknown}\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown}]\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"}}
18{"run_id":"60c5ca56-4eac-4d4e-ad2d-ce03a3fa5542","line":1665,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:13:33.030720Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test_line_buffer() {\n &[0, b'\\n', 1, b'\\n'];\n}\n\"#)"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8;usize]\n[30; 50) '[0, b'...b'\\n']': [u8;usize]\n[31; 32) '0': u8\n[31; 32) '0': usize\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8]\n[30; 50) '[0, b'...b'\\n']': [u8]\n[31; 32) '0': u8\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"}}
19{"run_id":"60c5ca56-4eac-4d4e-ad2d-ce03a3fa5542","line":1567,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:13:33.072018Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let x = unknown;\n let y = unknown;\n [(x, y), (&y, &x)];\n}\n\"#)"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown});usize]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown})]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"}}
20{"run_id":"60c5ca56-4eac-4d4e-ad2d-ce03a3fa5542","line":675,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:13:32.980464Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test(x: &str, y: isize) {\n let a = [x];\n let b = [a, a];\n let c = [b, b];\n\n let d = [y, 1, 2, 3];\n let d = [1, y, 2, 3];\n let e = [y];\n let f = [d, d];\n let g = [e, e];\n\n let h = [1, 2];\n let i = [\"a\", \"b\"];\n\n let b = [a, [\"b\"]];\n let x: [u8; 0] = [];\n let z: &[u8] = &[1, 2, 3];\n}\n\"#)"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str;usize]\n[42; 45) '[x]': [&str;usize]\n[43; 44) 'x': &str\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str;usize];usize]\n[59; 65) '[a, a]': [[&str;usize];usize]\n[60; 61) 'a': [&str;usize]\n[60; 61) 'a': [&str;usize]\n[63; 64) 'a': [&str;usize]\n[75; 76) 'c': [[[&str;usize];usize];usize]\n[79; 85) '[b, b]': [[[&str;usize];usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[83; 84) 'b': [[&str;usize];usize]\n[96; 97) 'd': [isize;usize]\n[100; 112) '[y, 1, 2, 3]': [isize;usize]\n[101; 102) 'y': isize\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize;usize]\n[126; 138) '[1, y, 2, 3]': [isize;usize]\n[127; 128) '1': isize\n[127; 128) '1': usize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize;usize]\n[152; 155) '[y]': [isize;usize]\n[153; 154) 'y': isize\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize;usize];usize]\n[169; 175) '[d, d]': [[isize;usize];usize]\n[170; 171) 'd': [isize;usize]\n[170; 171) 'd': [isize;usize]\n[173; 174) 'd': [isize;usize]\n[185; 186) 'g': [[isize;usize];usize]\n[189; 195) '[e, e]': [[isize;usize];usize]\n[190; 191) 'e': [isize;usize]\n[190; 191) 'e': [isize;usize]\n[193; 194) 'e': [isize;usize]\n[206; 207) 'h': [i32;usize]\n[210; 216) '[1, 2]': [i32;usize]\n[211; 212) '1': i32\n[211; 212) '1': usize\n[214; 215) '2': i32\n[226; 227) 'i': [&str;usize]\n[230; 240) '[\"a\", \"b\"]': [&str;usize]\n[231; 234) '\"a\"': &str\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str;usize];usize]\n[255; 265) '[a, [\"b\"]]': [[&str;usize];usize]\n[256; 257) 'a': [&str;usize]\n[256; 257) 'a': [&str;usize]\n[259; 264) '[\"b\"]': [&str;usize]\n[260; 263) '\"b\"': &str\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8;usize]\n[288; 290) '[]': [u8;usize]\n[300; 301) 'z': &[u8;usize]\n[311; 321) '&[1, 2, 3]': &[u8;usize]\n[312; 321) '[1, 2, 3]': [u8;usize]\n[313; 314) '1': u8\n[313; 314) '1': usize\n[316; 317) '2': u8\n[319; 320) '3': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str]\n[42; 45) '[x]': [&str]\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str]]\n[59; 65) '[a, a]': [[&str]]\n[60; 61) 'a': [&str]\n[63; 64) 'a': [&str]\n[75; 76) 'c': [[[&str]]]\n[79; 85) '[b, b]': [[[&str]]]\n[80; 81) 'b': [[&str]]\n[83; 84) 'b': [[&str]]\n[96; 97) 'd': [isize]\n[100; 112) '[y, 1, 2, 3]': [isize]\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize]\n[126; 138) '[1, y, 2, 3]': [isize]\n[127; 128) '1': isize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize]\n[152; 155) '[y]': [isize]\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize]]\n[169; 175) '[d, d]': [[isize]]\n[170; 171) 'd': [isize]\n[173; 174) 'd': [isize]\n[185; 186) 'g': [[isize]]\n[189; 195) '[e, e]': [[isize]]\n[190; 191) 'e': [isize]\n[193; 194) 'e': [isize]\n[206; 207) 'h': [i32]\n[210; 216) '[1, 2]': [i32]\n[211; 212) '1': i32\n[214; 215) '2': i32\n[226; 227) 'i': [&str]\n[230; 240) '[\"a\", \"b\"]': [&str]\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str]]\n[255; 265) '[a, [\"b\"]]': [[&str]]\n[256; 257) 'a': [&str]\n[259; 264) '[\"b\"]': [&str]\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8]\n[288; 290) '[]': [u8]\n[300; 301) 'z': &[u8]\n[311; 321) '&[1, 2, 3]': &[u8]\n[312; 321) '[1, 2, 3]': [u8]\n[313; 314) '1': u8\n[316; 317) '2': u8\n[319; 320) '3': u8"}}
21{"run_id":"7b325bb3-e7ef-41e2-a9b1-392a58487127","line":1665,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:15:41.060507Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test_line_buffer() {\n &[0, b'\\n', 1, b'\\n'];\n}\n\"#)"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8;usize]\n[30; 50) '[0, b'...b'\\n']': [u8;usize]\n[31; 32) '0': u8\n[31; 32) '0': usize\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8]\n[30; 50) '[0, b'...b'\\n']': [u8]\n[31; 32) '0': u8\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"}}
22{"run_id":"7b325bb3-e7ef-41e2-a9b1-392a58487127","line":1567,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:15:41.112220Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let x = unknown;\n let y = unknown;\n [(x, y), (&y, &x)];\n}\n\"#)"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown});usize]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown})]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"}}
23{"run_id":"7b325bb3-e7ef-41e2-a9b1-392a58487127","line":1545,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:15:41.110089Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let y = unknown;\n [y, &y];\n}\n\"#)"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown};usize]\n[39; 40) 'y': &{unknown}\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown}]\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"}}
24{"run_id":"7b325bb3-e7ef-41e2-a9b1-392a58487127","line":675,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:15:40.976255Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test(x: &str, y: isize) {\n let a = [x];\n let b = [a, a];\n let c = [b, b];\n\n let d = [y, 1, 2, 3];\n let d = [1, y, 2, 3];\n let e = [y];\n let f = [d, d];\n let g = [e, e];\n\n let h = [1, 2];\n let i = [\"a\", \"b\"];\n\n let b = [a, [\"b\"]];\n let x: [u8; 0] = [];\n let z: &[u8] = &[1, 2, 3];\n}\n\"#)"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str;usize]\n[42; 45) '[x]': [&str;usize]\n[43; 44) 'x': &str\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str;usize];usize]\n[59; 65) '[a, a]': [[&str;usize];usize]\n[60; 61) 'a': [&str;usize]\n[60; 61) 'a': [&str;usize]\n[63; 64) 'a': [&str;usize]\n[75; 76) 'c': [[[&str;usize];usize];usize]\n[79; 85) '[b, b]': [[[&str;usize];usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[83; 84) 'b': [[&str;usize];usize]\n[96; 97) 'd': [isize;usize]\n[100; 112) '[y, 1, 2, 3]': [isize;usize]\n[101; 102) 'y': isize\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize;usize]\n[126; 138) '[1, y, 2, 3]': [isize;usize]\n[127; 128) '1': isize\n[127; 128) '1': usize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize;usize]\n[152; 155) '[y]': [isize;usize]\n[153; 154) 'y': isize\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize;usize];usize]\n[169; 175) '[d, d]': [[isize;usize];usize]\n[170; 171) 'd': [isize;usize]\n[170; 171) 'd': [isize;usize]\n[173; 174) 'd': [isize;usize]\n[185; 186) 'g': [[isize;usize];usize]\n[189; 195) '[e, e]': [[isize;usize];usize]\n[190; 191) 'e': [isize;usize]\n[190; 191) 'e': [isize;usize]\n[193; 194) 'e': [isize;usize]\n[206; 207) 'h': [i32;usize]\n[210; 216) '[1, 2]': [i32;usize]\n[211; 212) '1': i32\n[211; 212) '1': usize\n[214; 215) '2': i32\n[226; 227) 'i': [&str;usize]\n[230; 240) '[\"a\", \"b\"]': [&str;usize]\n[231; 234) '\"a\"': &str\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str;usize];usize]\n[255; 265) '[a, [\"b\"]]': [[&str;usize];usize]\n[256; 257) 'a': [&str;usize]\n[256; 257) 'a': [&str;usize]\n[259; 264) '[\"b\"]': [&str;usize]\n[260; 263) '\"b\"': &str\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8;usize]\n[288; 290) '[]': [u8;usize]\n[300; 301) 'z': &[u8;usize]\n[311; 321) '&[1, 2, 3]': &[u8;usize]\n[312; 321) '[1, 2, 3]': [u8;usize]\n[313; 314) '1': u8\n[313; 314) '1': usize\n[316; 317) '2': u8\n[319; 320) '3': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str]\n[42; 45) '[x]': [&str]\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str]]\n[59; 65) '[a, a]': [[&str]]\n[60; 61) 'a': [&str]\n[63; 64) 'a': [&str]\n[75; 76) 'c': [[[&str]]]\n[79; 85) '[b, b]': [[[&str]]]\n[80; 81) 'b': [[&str]]\n[83; 84) 'b': [[&str]]\n[96; 97) 'd': [isize]\n[100; 112) '[y, 1, 2, 3]': [isize]\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize]\n[126; 138) '[1, y, 2, 3]': [isize]\n[127; 128) '1': isize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize]\n[152; 155) '[y]': [isize]\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize]]\n[169; 175) '[d, d]': [[isize]]\n[170; 171) 'd': [isize]\n[173; 174) 'd': [isize]\n[185; 186) 'g': [[isize]]\n[189; 195) '[e, e]': [[isize]]\n[190; 191) 'e': [isize]\n[193; 194) 'e': [isize]\n[206; 207) 'h': [i32]\n[210; 216) '[1, 2]': [i32]\n[211; 212) '1': i32\n[214; 215) '2': i32\n[226; 227) 'i': [&str]\n[230; 240) '[\"a\", \"b\"]': [&str]\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str]]\n[255; 265) '[a, [\"b\"]]': [[&str]]\n[256; 257) 'a': [&str]\n[259; 264) '[\"b\"]': [&str]\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8]\n[288; 290) '[]': [u8]\n[300; 301) 'z': &[u8]\n[311; 321) '&[1, 2, 3]': &[u8]\n[312; 321) '[1, 2, 3]': [u8]\n[313; 314) '1': u8\n[316; 317) '2': u8\n[319; 320) '3': u8"}}
25{"run_id":"8caa20b9-896a-42b5-848e-43f673f897e9","line":1545,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:17:29.024807Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let y = unknown;\n [y, &y];\n}\n\"#)"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown};usize]\n[39; 40) 'y': &{unknown}\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 48) '{ ...&y]; }': ()\n[21; 22) 'y': &{unknown}\n[25; 32) 'unknown': &{unknown}\n[38; 45) '[y, &y]': [&&{unknown}]\n[39; 40) 'y': &{unknown}\n[42; 44) '&y': &&{unknown}\n[43; 44) 'y': &{unknown}"}}
26{"run_id":"8caa20b9-896a-42b5-848e-43f673f897e9","line":1567,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:17:29.026807Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test() {\n let x = unknown;\n let y = unknown;\n [(x, y), (&y, &x)];\n}\n\"#)"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown});usize]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[11; 80) '{ ...x)]; }': ()\n[21; 22) 'x': &&{unknown}\n[25; 32) 'unknown': &&{unknown}\n[42; 43) 'y': &&{unknown}\n[46; 53) 'unknown': &&{unknown}\n[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown})]\n[60; 66) '(x, y)': (&&{unknown}, &&{unknown})\n[61; 62) 'x': &&{unknown}\n[64; 65) 'y': &&{unknown}\n[68; 76) '(&y, &x)': (&&&{unknown}, &&&{unknown})\n[69; 71) '&y': &&&{unknown}\n[70; 71) 'y': &&{unknown}\n[73; 75) '&x': &&&{unknown}\n[74; 75) 'x': &&{unknown}"}}
27{"run_id":"8caa20b9-896a-42b5-848e-43f673f897e9","line":1665,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:17:28.985591Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test_line_buffer() {\n &[0, b'\\n', 1, b'\\n'];\n}\n\"#)"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8;usize]\n[30; 50) '[0, b'...b'\\n']': [u8;usize]\n[31; 32) '0': u8\n[31; 32) '0': usize\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[23; 53) '{ ...n']; }': ()\n[29; 50) '&[0, b...b'\\n']': &[u8]\n[30; 50) '[0, b'...b'\\n']': [u8]\n[31; 32) '0': u8\n[34; 39) 'b'\\n'': u8\n[41; 42) '1': u8\n[44; 49) 'b'\\n'': u8"}}
28{"run_id":"8caa20b9-896a-42b5-848e-43f673f897e9","line":675,"new":{"module_name":"tests","metadata":{"created":"2019-04-03T22:17:28.933671Z","creator":"[email protected]","source":"crates/ra_hir/src/ty/tests.rs","expression":"infer(r#\"\nfn test(x: &str, y: isize) {\n let a = [x];\n let b = [a, a];\n let c = [b, b];\n\n let d = [y, 1, 2, 3];\n let d = [1, y, 2, 3];\n let e = [y];\n let f = [d, d];\n let g = [e, e];\n\n let h = [1, 2];\n let i = [\"a\", \"b\"];\n\n let b = [a, [\"b\"]];\n let x: [u8; 0] = [];\n let z: &[u8] = &[1, 2, 3];\n}\n\"#)"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str;usize]\n[42; 45) '[x]': [&str;usize]\n[43; 44) 'x': &str\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str;usize];usize]\n[59; 65) '[a, a]': [[&str;usize];usize]\n[60; 61) 'a': [&str;usize]\n[60; 61) 'a': [&str;usize]\n[63; 64) 'a': [&str;usize]\n[75; 76) 'c': [[[&str;usize];usize];usize]\n[79; 85) '[b, b]': [[[&str;usize];usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[80; 81) 'b': [[&str;usize];usize]\n[83; 84) 'b': [[&str;usize];usize]\n[96; 97) 'd': [isize;usize]\n[100; 112) '[y, 1, 2, 3]': [isize;usize]\n[101; 102) 'y': isize\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize;usize]\n[126; 138) '[1, y, 2, 3]': [isize;usize]\n[127; 128) '1': isize\n[127; 128) '1': usize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize;usize]\n[152; 155) '[y]': [isize;usize]\n[153; 154) 'y': isize\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize;usize];usize]\n[169; 175) '[d, d]': [[isize;usize];usize]\n[170; 171) 'd': [isize;usize]\n[170; 171) 'd': [isize;usize]\n[173; 174) 'd': [isize;usize]\n[185; 186) 'g': [[isize;usize];usize]\n[189; 195) '[e, e]': [[isize;usize];usize]\n[190; 191) 'e': [isize;usize]\n[190; 191) 'e': [isize;usize]\n[193; 194) 'e': [isize;usize]\n[206; 207) 'h': [i32;usize]\n[210; 216) '[1, 2]': [i32;usize]\n[211; 212) '1': i32\n[211; 212) '1': usize\n[214; 215) '2': i32\n[226; 227) 'i': [&str;usize]\n[230; 240) '[\"a\", \"b\"]': [&str;usize]\n[231; 234) '\"a\"': &str\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str;usize];usize]\n[255; 265) '[a, [\"b\"]]': [[&str;usize];usize]\n[256; 257) 'a': [&str;usize]\n[256; 257) 'a': [&str;usize]\n[259; 264) '[\"b\"]': [&str;usize]\n[260; 263) '\"b\"': &str\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8;usize]\n[288; 290) '[]': [u8;usize]\n[300; 301) 'z': &[u8;usize]\n[311; 321) '&[1, 2, 3]': &[u8;usize]\n[312; 321) '[1, 2, 3]': [u8;usize]\n[313; 314) '1': u8\n[313; 314) '1': usize\n[316; 317) '2': u8\n[319; 320) '3': u8"},"old":{"module_name":"tests","metadata":{"created":"2019-04-03T20:30:58.397743505Z"},"snapshot":"\n[9; 10) 'x': &str\n[18; 19) 'y': isize\n[28; 324) '{ ... 3]; }': ()\n[38; 39) 'a': [&str]\n[42; 45) '[x]': [&str]\n[43; 44) 'x': &str\n[55; 56) 'b': [[&str]]\n[59; 65) '[a, a]': [[&str]]\n[60; 61) 'a': [&str]\n[63; 64) 'a': [&str]\n[75; 76) 'c': [[[&str]]]\n[79; 85) '[b, b]': [[[&str]]]\n[80; 81) 'b': [[&str]]\n[83; 84) 'b': [[&str]]\n[96; 97) 'd': [isize]\n[100; 112) '[y, 1, 2, 3]': [isize]\n[101; 102) 'y': isize\n[104; 105) '1': isize\n[107; 108) '2': isize\n[110; 111) '3': isize\n[122; 123) 'd': [isize]\n[126; 138) '[1, y, 2, 3]': [isize]\n[127; 128) '1': isize\n[130; 131) 'y': isize\n[133; 134) '2': isize\n[136; 137) '3': isize\n[148; 149) 'e': [isize]\n[152; 155) '[y]': [isize]\n[153; 154) 'y': isize\n[165; 166) 'f': [[isize]]\n[169; 175) '[d, d]': [[isize]]\n[170; 171) 'd': [isize]\n[173; 174) 'd': [isize]\n[185; 186) 'g': [[isize]]\n[189; 195) '[e, e]': [[isize]]\n[190; 191) 'e': [isize]\n[193; 194) 'e': [isize]\n[206; 207) 'h': [i32]\n[210; 216) '[1, 2]': [i32]\n[211; 212) '1': i32\n[214; 215) '2': i32\n[226; 227) 'i': [&str]\n[230; 240) '[\"a\", \"b\"]': [&str]\n[231; 234) '\"a\"': &str\n[236; 239) '\"b\"': &str\n[251; 252) 'b': [[&str]]\n[255; 265) '[a, [\"b\"]]': [[&str]]\n[256; 257) 'a': [&str]\n[259; 264) '[\"b\"]': [&str]\n[260; 263) '\"b\"': &str\n[275; 276) 'x': [u8]\n[288; 290) '[]': [u8]\n[300; 301) 'z': &[u8]\n[311; 321) '&[1, 2, 3]': &[u8]\n[312; 321) '[1, 2, 3]': [u8]\n[313; 314) '1': u8\n[316; 317) '2': u8\n[319; 320) '3': u8"}}
diff --git a/crates/ra_hir/src/ty/tests.rs b/crates/ra_hir/src/ty/tests.rs
index f0164f7ea..f6a325033 100644
--- a/crates/ra_hir/src/ty/tests.rs
+++ b/crates/ra_hir/src/ty/tests.rs
@@ -697,58 +697,58 @@ fn test(x: &str, y: isize) {
697[9; 10) 'x': &str 697[9; 10) 'x': &str
698[18; 19) 'y': isize 698[18; 19) 'y': isize
699[28; 324) '{ ... 3]; }': () 699[28; 324) '{ ... 3]; }': ()
700[38; 39) 'a': [&str] 700[38; 39) 'a': [&str;_]
701[42; 45) '[x]': [&str] 701[42; 45) '[x]': [&str;_]
702[43; 44) 'x': &str 702[43; 44) 'x': &str
703[55; 56) 'b': [[&str]] 703[55; 56) 'b': [[&str;_];_]
704[59; 65) '[a, a]': [[&str]] 704[59; 65) '[a, a]': [[&str;_];_]
705[60; 61) 'a': [&str] 705[60; 61) 'a': [&str;_]
706[63; 64) 'a': [&str] 706[63; 64) 'a': [&str;_]
707[75; 76) 'c': [[[&str]]] 707[75; 76) 'c': [[[&str;_];_];_]
708[79; 85) '[b, b]': [[[&str]]] 708[79; 85) '[b, b]': [[[&str;_];_];_]
709[80; 81) 'b': [[&str]] 709[80; 81) 'b': [[&str;_];_]
710[83; 84) 'b': [[&str]] 710[83; 84) 'b': [[&str;_];_]
711[96; 97) 'd': [isize] 711[96; 97) 'd': [isize;_]
712[100; 112) '[y, 1, 2, 3]': [isize] 712[100; 112) '[y, 1, 2, 3]': [isize;_]
713[101; 102) 'y': isize 713[101; 102) 'y': isize
714[104; 105) '1': isize 714[104; 105) '1': isize
715[107; 108) '2': isize 715[107; 108) '2': isize
716[110; 111) '3': isize 716[110; 111) '3': isize
717[122; 123) 'd': [isize] 717[122; 123) 'd': [isize;_]
718[126; 138) '[1, y, 2, 3]': [isize] 718[126; 138) '[1, y, 2, 3]': [isize;_]
719[127; 128) '1': isize 719[127; 128) '1': isize
720[130; 131) 'y': isize 720[130; 131) 'y': isize
721[133; 134) '2': isize 721[133; 134) '2': isize
722[136; 137) '3': isize 722[136; 137) '3': isize
723[148; 149) 'e': [isize] 723[148; 149) 'e': [isize;_]
724[152; 155) '[y]': [isize] 724[152; 155) '[y]': [isize;_]
725[153; 154) 'y': isize 725[153; 154) 'y': isize
726[165; 166) 'f': [[isize]] 726[165; 166) 'f': [[isize;_];_]
727[169; 175) '[d, d]': [[isize]] 727[169; 175) '[d, d]': [[isize;_];_]
728[170; 171) 'd': [isize] 728[170; 171) 'd': [isize;_]
729[173; 174) 'd': [isize] 729[173; 174) 'd': [isize;_]
730[185; 186) 'g': [[isize]] 730[185; 186) 'g': [[isize;_];_]
731[189; 195) '[e, e]': [[isize]] 731[189; 195) '[e, e]': [[isize;_];_]
732[190; 191) 'e': [isize] 732[190; 191) 'e': [isize;_]
733[193; 194) 'e': [isize] 733[193; 194) 'e': [isize;_]
734[206; 207) 'h': [i32] 734[206; 207) 'h': [i32;_]
735[210; 216) '[1, 2]': [i32] 735[210; 216) '[1, 2]': [i32;_]
736[211; 212) '1': i32 736[211; 212) '1': i32
737[214; 215) '2': i32 737[214; 215) '2': i32
738[226; 227) 'i': [&str] 738[226; 227) 'i': [&str;_]
739[230; 240) '["a", "b"]': [&str] 739[230; 240) '["a", "b"]': [&str;_]
740[231; 234) '"a"': &str 740[231; 234) '"a"': &str
741[236; 239) '"b"': &str 741[236; 239) '"b"': &str
742[251; 252) 'b': [[&str]] 742[251; 252) 'b': [[&str;_];_]
743[255; 265) '[a, ["b"]]': [[&str]] 743[255; 265) '[a, ["b"]]': [[&str;_];_]
744[256; 257) 'a': [&str] 744[256; 257) 'a': [&str;_]
745[259; 264) '["b"]': [&str] 745[259; 264) '["b"]': [&str;_]
746[260; 263) '"b"': &str 746[260; 263) '"b"': &str
747[275; 276) 'x': [u8] 747[275; 276) 'x': [u8;_]
748[288; 290) '[]': [u8] 748[288; 290) '[]': [u8;_]
749[300; 301) 'z': &[u8] 749[300; 301) 'z': &[u8;_]
750[311; 321) '&[1, 2, 3]': &[u8] 750[311; 321) '&[1, 2, 3]': &[u8;_]
751[312; 321) '[1, 2, 3]': [u8] 751[312; 321) '[1, 2, 3]': [u8;_]
752[313; 314) '1': u8 752[313; 314) '1': u8
753[316; 317) '2': u8 753[316; 317) '2': u8
754[319; 320) '3': u8"### 754[319; 320) '3': u8"###
@@ -1553,7 +1553,7 @@ fn test() {
1553[11; 48) '{ ...&y]; }': () 1553[11; 48) '{ ...&y]; }': ()
1554[21; 22) 'y': &{unknown} 1554[21; 22) 'y': &{unknown}
1555[25; 32) 'unknown': &{unknown} 1555[25; 32) 'unknown': &{unknown}
1556[38; 45) '[y, &y]': [&&{unknown}] 1556[38; 45) '[y, &y]': [&&{unknown};_]
1557[39; 40) 'y': &{unknown} 1557[39; 40) 'y': &{unknown}
1558[42; 44) '&y': &&{unknown} 1558[42; 44) '&y': &&{unknown}
1559[43; 44) 'y': &{unknown}"### 1559[43; 44) 'y': &{unknown}"###
@@ -1578,7 +1578,7 @@ fn test() {
1578[25; 32) 'unknown': &&{unknown} 1578[25; 32) 'unknown': &&{unknown}
1579[42; 43) 'y': &&{unknown} 1579[42; 43) 'y': &&{unknown}
1580[46; 53) 'unknown': &&{unknown} 1580[46; 53) 'unknown': &&{unknown}
1581[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown})] 1581[59; 77) '[(x, y..., &x)]': [(&&{unknown}, &&{unknown});_]
1582[60; 66) '(x, y)': (&&{unknown}, &&{unknown}) 1582[60; 66) '(x, y)': (&&{unknown}, &&{unknown})
1583[61; 62) 'x': &&{unknown} 1583[61; 62) 'x': &&{unknown}
1584[64; 65) 'y': &&{unknown} 1584[64; 65) 'y': &&{unknown}
@@ -1670,8 +1670,8 @@ fn test_line_buffer() {
1670"#), 1670"#),
1671 @r###" 1671 @r###"
1672[23; 53) '{ ...n']; }': () 1672[23; 53) '{ ...n']; }': ()
1673[29; 50) '&[0, b...b'\n']': &[u8] 1673[29; 50) '&[0, b...b'\n']': &[u8;_]
1674[30; 50) '[0, b'...b'\n']': [u8] 1674[30; 50) '[0, b'...b'\n']': [u8;_]
1675[31; 32) '0': u8 1675[31; 32) '0': u8
1676[34; 39) 'b'\n'': u8 1676[34; 39) 'b'\n'': u8
1677[41; 42) '1': u8 1677[41; 42) '1': u8
diff --git a/crates/ra_syntax/src/ast.rs b/crates/ra_syntax/src/ast.rs
index 970b89825..c2ab19d97 100644
--- a/crates/ra_syntax/src/ast.rs
+++ b/crates/ra_syntax/src/ast.rs
@@ -17,7 +17,7 @@ pub use self::{
17 generated::*, 17 generated::*,
18 traits::*, 18 traits::*,
19 tokens::*, 19 tokens::*,
20 extensions::{PathSegmentKind, StructKind, SelfParamKind}, 20 extensions::{PathSegmentKind, StructKind,FieldKind, SelfParamKind},
21 expr_extensions::{ElseBranch, PrefixOp, BinOp, LiteralKind,ArrayExprKind}, 21 expr_extensions::{ElseBranch, PrefixOp, BinOp, LiteralKind,ArrayExprKind},
22}; 22};
23 23
diff --git a/crates/ra_syntax/src/ast/expr_extensions.rs b/crates/ra_syntax/src/ast/expr_extensions.rs
index d21ec80c3..9484c3b9b 100644
--- a/crates/ra_syntax/src/ast/expr_extensions.rs
+++ b/crates/ra_syntax/src/ast/expr_extensions.rs
@@ -203,7 +203,7 @@ impl ast::ArrayExpr {
203 if self.is_repeat() { 203 if self.is_repeat() {
204 ArrayExprKind::Repeat { 204 ArrayExprKind::Repeat {
205 initializer: children(self).nth(0), 205 initializer: children(self).nth(0),
206 repeat: children(self).nth(2), 206 repeat: children(self).nth(1),
207 } 207 }
208 } else { 208 } else {
209 ArrayExprKind::ElementList(children(self)) 209 ArrayExprKind::ElementList(children(self))
diff --git a/crates/ra_syntax/src/ast/generated.rs b/crates/ra_syntax/src/ast/generated.rs
index 39b760551..0376c91c8 100644
--- a/crates/ra_syntax/src/ast/generated.rs
+++ b/crates/ra_syntax/src/ast/generated.rs
@@ -108,10 +108,6 @@ impl ArrayExpr {
108 pub fn exprs(&self) -> impl Iterator<Item = &Expr> { 108 pub fn exprs(&self) -> impl Iterator<Item = &Expr> {
109 super::children(self) 109 super::children(self)
110 } 110 }
111
112 pub fn repeat(&self) -> Option<&Expr> {
113 super::child_opt(self)
114 }
115} 111}
116 112
117// ArrayType 113// ArrayType
diff --git a/crates/ra_syntax/src/grammar.ron b/crates/ra_syntax/src/grammar.ron
index c7116c69b..0a35e25d5 100644
--- a/crates/ra_syntax/src/grammar.ron
+++ b/crates/ra_syntax/src/grammar.ron
@@ -395,8 +395,7 @@ Grammar(
395 collections: [["exprs", "Expr"]] 395 collections: [["exprs", "Expr"]]
396 ), 396 ),
397 "ArrayExpr": ( 397 "ArrayExpr": (
398 collections: [["exprs", "Expr"]], 398 collections: [["exprs", "Expr"]]
399 options:[["repeat","Expr"]]
400 ), 399 ),
401 "ParenExpr": (options: ["Expr"]), 400 "ParenExpr": (options: ["Expr"]),
402 "PathExpr": (options: ["Path"]), 401 "PathExpr": (options: ["Path"]),