From b7dd584bca69dc729d77b11b6a8378b8be0af647 Mon Sep 17 00:00:00 2001 From: 53hornet <53hornet@gmail.com> Date: Mon, 25 Feb 2019 21:15:40 -0500 Subject: Added lifetimes; split code into library for minigrep. --- lifetimes/Cargo.lock | 4 ++ lifetimes/Cargo.toml | 7 ++++ lifetimes/src/main.rs | 43 +++++++++++++++++++++ lifetimes/target/.rustc_info.json | 1 + lifetimes/target/debug/.cargo-lock | 0 .../bin-lifetimes-efb5637f417930c3 | 1 + .../bin-lifetimes-efb5637f417930c3.json | 1 + .../dep-bin-lifetimes-efb5637f417930c3 | Bin 0 -> 12 bytes .../target/debug/deps/lifetimes-efb5637f417930c3 | Bin 0 -> 2529272 bytes .../target/debug/deps/lifetimes-efb5637f417930c3.d | 5 +++ .../10oafshzgt3w3xeo.o | Bin 0 -> 12192 bytes .../12ep0b6r7gf5xev8.o | Bin 0 -> 7928 bytes .../15o4oy1d5i2cot5y.o | Bin 0 -> 18560 bytes .../1dqcrqv4ajxjkaig.o | Bin 0 -> 3504 bytes .../1dswbkuzj3w28w51.o | Bin 0 -> 4120 bytes .../1gqqj20irkfzwcwh.o | Bin 0 -> 3336 bytes .../1imy25kgsjnvggrs.o | Bin 0 -> 27320 bytes .../1ji0leyxj7ek98ow.o | Bin 0 -> 6016 bytes .../1mrdfm11mjvkc3ae.o | Bin 0 -> 13080 bytes .../1nf5yxicd99au96g.o | Bin 0 -> 5392 bytes .../1s7p0acfczq7s1kq.o | Bin 0 -> 36856 bytes .../1umnfcvuqn4ilt61.o | Bin 0 -> 14552 bytes .../1wcconq124fi8jmy.o | Bin 0 -> 10152 bytes .../20cjgxwra8j8ma5.o | Bin 0 -> 5136 bytes .../2eb6dzxk4fpfgct2.o | Bin 0 -> 33968 bytes .../2kn7sctw717hdvxv.o | Bin 0 -> 3504 bytes .../36p29dusvnnao4l6.o | Bin 0 -> 3128 bytes .../37lsqijwyl9hcqdy.o | Bin 0 -> 3504 bytes .../3mtnm9o8g1d4ay08.o | Bin 0 -> 11240 bytes .../3o7odmue6rclr07q.o | Bin 0 -> 7768 bytes .../3ovm9mpazp54gvkw.o | Bin 0 -> 12816 bytes .../3vrsmjefktbf358o.o | Bin 0 -> 13472 bytes .../3x4s2wz09up1dm2n.o | Bin 0 -> 12336 bytes .../3znqya38t8dwe2at.o | Bin 0 -> 4280 bytes .../45ny6671yk2ypgvo.o | Bin 0 -> 5712 bytes .../4git0qmjrupi8t61.o | Bin 0 -> 6352 bytes .../4glxfcni5mbpugli.o | Bin 0 -> 4744 bytes .../4inaqhg23zqxyqnc.o | Bin 0 -> 8928 bytes .../4m39n3seakb54iax.o | Bin 0 -> 5816 bytes .../4z4nzjl4q0pz1f04.o | Bin 0 -> 19784 bytes .../50eev5qtb13tzx9b.o | Bin 0 -> 16592 bytes .../51gmswjzv1agzg8f.o | Bin 0 -> 12440 bytes .../5d28jwqkfvzyq5h1.o | Bin 0 -> 5944 bytes .../b9nyaare4e7lyek.o | Bin 0 -> 10944 bytes .../dep-graph.bin | Bin 0 -> 1048515 bytes .../pqtu3yin1ijq83m.o | Bin 0 -> 10880 bytes .../query-cache.bin | Bin 0 -> 245937 bytes .../tq446ynsxari1o4.o | Bin 0 -> 4760 bytes .../work-products.bin | Bin 0 -> 1973 bytes .../s-f9jk3gevx7-13gs7v8.lock | 0 lifetimes/target/debug/lifetimes | Bin 0 -> 2529272 bytes lifetimes/target/debug/lifetimes.d | 1 + minigrep/src/lib.rs | 29 ++++++++++++++ minigrep/src/main.rs | 38 +++++------------- 54 files changed, 101 insertions(+), 29 deletions(-) create mode 100644 lifetimes/Cargo.lock create mode 100644 lifetimes/Cargo.toml create mode 100644 lifetimes/src/main.rs create mode 100644 lifetimes/target/.rustc_info.json create mode 100644 lifetimes/target/debug/.cargo-lock create mode 100644 lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/bin-lifetimes-efb5637f417930c3 create mode 100644 lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/bin-lifetimes-efb5637f417930c3.json create mode 100644 lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/dep-bin-lifetimes-efb5637f417930c3 create mode 100755 lifetimes/target/debug/deps/lifetimes-efb5637f417930c3 create mode 100644 lifetimes/target/debug/deps/lifetimes-efb5637f417930c3.d create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/10oafshzgt3w3xeo.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/12ep0b6r7gf5xev8.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/15o4oy1d5i2cot5y.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1dqcrqv4ajxjkaig.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1dswbkuzj3w28w51.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1gqqj20irkfzwcwh.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1imy25kgsjnvggrs.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1ji0leyxj7ek98ow.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1mrdfm11mjvkc3ae.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1nf5yxicd99au96g.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1s7p0acfczq7s1kq.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1umnfcvuqn4ilt61.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1wcconq124fi8jmy.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/20cjgxwra8j8ma5.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/2eb6dzxk4fpfgct2.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/2kn7sctw717hdvxv.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/36p29dusvnnao4l6.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/37lsqijwyl9hcqdy.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3mtnm9o8g1d4ay08.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3o7odmue6rclr07q.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3ovm9mpazp54gvkw.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3vrsmjefktbf358o.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3x4s2wz09up1dm2n.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3znqya38t8dwe2at.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/45ny6671yk2ypgvo.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4git0qmjrupi8t61.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4glxfcni5mbpugli.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4inaqhg23zqxyqnc.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4m39n3seakb54iax.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4z4nzjl4q0pz1f04.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/50eev5qtb13tzx9b.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/51gmswjzv1agzg8f.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/5d28jwqkfvzyq5h1.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/b9nyaare4e7lyek.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/dep-graph.bin create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/pqtu3yin1ijq83m.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/query-cache.bin create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/tq446ynsxari1o4.o create mode 100644 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/work-products.bin create mode 100755 lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8.lock create mode 100755 lifetimes/target/debug/lifetimes create mode 100644 lifetimes/target/debug/lifetimes.d create mode 100644 minigrep/src/lib.rs diff --git a/lifetimes/Cargo.lock b/lifetimes/Cargo.lock new file mode 100644 index 0000000..0c2507e --- /dev/null +++ b/lifetimes/Cargo.lock @@ -0,0 +1,4 @@ +[[package]] +name = "lifetimes" +version = "0.1.0" + diff --git a/lifetimes/Cargo.toml b/lifetimes/Cargo.toml new file mode 100644 index 0000000..8003864 --- /dev/null +++ b/lifetimes/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "lifetimes" +version = "0.1.0" +authors = ["53hornet <53hornet@gmail.com>"] +edition = "2018" + +[dependencies] diff --git a/lifetimes/src/main.rs b/lifetimes/src/main.rs new file mode 100644 index 0000000..87b6ce6 --- /dev/null +++ b/lifetimes/src/main.rs @@ -0,0 +1,43 @@ +fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { + // what this is doing is basically tagging x and y and the + // result with the same 'a, telling rust not to let any + // of them expire before the others; that way nothing + // will go out of scope prematurely and the result will + // always have a non-null reference + + // basically, 'a gives all three values the same lifetime. + // so long as they're all alive at the same time, there are + // no reference errors + + // note that the lifetime selected for the result is + // equal to the smaller of the lifetimes of the + // parameters + + if x.len() > y.len() { + x + } + else { + y + } +} + +struct ImportantExcerpt<'a> { + part: &'a str, +} + +fn main() { + let string1 = String::from("abcd"); + { + let string2 = "xyz"; + + let result = longest(string1.as_str(), string2); + //dbg!(result); + } + + let script = String::from("Before time began, there was the cube. We know not where it comes from."); + let first_sentence = script.split('.') + .next() + .expect("Could not find a '.'"); + let i = ImportantExcerpt { part: first_sentence }; + dbg!(i.part); +} diff --git a/lifetimes/target/.rustc_info.json b/lifetimes/target/.rustc_info.json new file mode 100644 index 0000000..63426f8 --- /dev/null +++ b/lifetimes/target/.rustc_info.json @@ -0,0 +1 @@ +{"rustc_fingerprint":13848232676847739476,"outputs":{"15337506775154344876":["___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/adam/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\ndebug_assertions\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\nunix\n",""],"1617349019360157463":["___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/adam/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\ndebug_assertions\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\nunix\n",""],"1164083562126845933":["rustc 1.32.0 (9fda7c223 2019-01-16)\nbinary: rustc\ncommit-hash: 9fda7c2237db910e41d6a712e9a2139b352e558b\ncommit-date: 2019-01-16\nhost: x86_64-unknown-linux-gnu\nrelease: 1.32.0\nLLVM version: 8.0\n",""]},"successes":{}} \ No newline at end of file diff --git a/lifetimes/target/debug/.cargo-lock b/lifetimes/target/debug/.cargo-lock new file mode 100644 index 0000000..e69de29 diff --git a/lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/bin-lifetimes-efb5637f417930c3 b/lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/bin-lifetimes-efb5637f417930c3 new file mode 100644 index 0000000..f146f56 --- /dev/null +++ b/lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/bin-lifetimes-efb5637f417930c3 @@ -0,0 +1 @@ +c7df6e6b96a818a1 \ No newline at end of file diff --git a/lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/bin-lifetimes-efb5637f417930c3.json b/lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/bin-lifetimes-efb5637f417930c3.json new file mode 100644 index 0000000..3f090d3 --- /dev/null +++ b/lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/bin-lifetimes-efb5637f417930c3.json @@ -0,0 +1 @@ +{"rustc":11779505878581416876,"features":"[]","target":17218091323931530620,"profile":1241200217276728497,"path":1036222786711178230,"deps":[],"local":[{"MtimeBased":[[1550322003,293604958],".fingerprint/lifetimes-efb5637f417930c3/dep-bin-lifetimes-efb5637f417930c3"]}],"rustflags":[],"edition":"Edition2018"} \ No newline at end of file diff --git a/lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/dep-bin-lifetimes-efb5637f417930c3 b/lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/dep-bin-lifetimes-efb5637f417930c3 new file mode 100644 index 0000000..e046c38 Binary files /dev/null and b/lifetimes/target/debug/.fingerprint/lifetimes-efb5637f417930c3/dep-bin-lifetimes-efb5637f417930c3 differ diff --git a/lifetimes/target/debug/deps/lifetimes-efb5637f417930c3 b/lifetimes/target/debug/deps/lifetimes-efb5637f417930c3 new file mode 100755 index 0000000..8edfb67 Binary files /dev/null and b/lifetimes/target/debug/deps/lifetimes-efb5637f417930c3 differ diff --git a/lifetimes/target/debug/deps/lifetimes-efb5637f417930c3.d b/lifetimes/target/debug/deps/lifetimes-efb5637f417930c3.d new file mode 100644 index 0000000..0a866ec --- /dev/null +++ b/lifetimes/target/debug/deps/lifetimes-efb5637f417930c3.d @@ -0,0 +1,5 @@ +/home/adam/devel/learning-rust/lifetimes/target/debug/deps/lifetimes-efb5637f417930c3: src/main.rs + +/home/adam/devel/learning-rust/lifetimes/target/debug/deps/lifetimes-efb5637f417930c3.d: src/main.rs + +src/main.rs: diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/10oafshzgt3w3xeo.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/10oafshzgt3w3xeo.o new file mode 100644 index 0000000..46d47f0 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/10oafshzgt3w3xeo.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/12ep0b6r7gf5xev8.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/12ep0b6r7gf5xev8.o new file mode 100644 index 0000000..a010637 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/12ep0b6r7gf5xev8.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/15o4oy1d5i2cot5y.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/15o4oy1d5i2cot5y.o new file mode 100644 index 0000000..e4908a1 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/15o4oy1d5i2cot5y.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1dqcrqv4ajxjkaig.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1dqcrqv4ajxjkaig.o new file mode 100644 index 0000000..4e616c8 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1dqcrqv4ajxjkaig.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1dswbkuzj3w28w51.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1dswbkuzj3w28w51.o new file mode 100644 index 0000000..4fa58cd Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1dswbkuzj3w28w51.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1gqqj20irkfzwcwh.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1gqqj20irkfzwcwh.o new file mode 100644 index 0000000..30eb5b5 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1gqqj20irkfzwcwh.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1imy25kgsjnvggrs.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1imy25kgsjnvggrs.o new file mode 100644 index 0000000..32d6655 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1imy25kgsjnvggrs.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1ji0leyxj7ek98ow.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1ji0leyxj7ek98ow.o new file mode 100644 index 0000000..9c2dda3 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1ji0leyxj7ek98ow.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1mrdfm11mjvkc3ae.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1mrdfm11mjvkc3ae.o new file mode 100644 index 0000000..e972532 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1mrdfm11mjvkc3ae.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1nf5yxicd99au96g.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1nf5yxicd99au96g.o new file mode 100644 index 0000000..1b534ed Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1nf5yxicd99au96g.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1s7p0acfczq7s1kq.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1s7p0acfczq7s1kq.o new file mode 100644 index 0000000..27a89ac Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1s7p0acfczq7s1kq.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1umnfcvuqn4ilt61.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1umnfcvuqn4ilt61.o new file mode 100644 index 0000000..b22c7fa Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1umnfcvuqn4ilt61.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1wcconq124fi8jmy.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1wcconq124fi8jmy.o new file mode 100644 index 0000000..62acf8c Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/1wcconq124fi8jmy.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/20cjgxwra8j8ma5.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/20cjgxwra8j8ma5.o new file mode 100644 index 0000000..a6e8da1 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/20cjgxwra8j8ma5.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/2eb6dzxk4fpfgct2.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/2eb6dzxk4fpfgct2.o new file mode 100644 index 0000000..b9a374f Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/2eb6dzxk4fpfgct2.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/2kn7sctw717hdvxv.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/2kn7sctw717hdvxv.o new file mode 100644 index 0000000..8fb1747 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/2kn7sctw717hdvxv.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/36p29dusvnnao4l6.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/36p29dusvnnao4l6.o new file mode 100644 index 0000000..e32ab85 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/36p29dusvnnao4l6.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/37lsqijwyl9hcqdy.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/37lsqijwyl9hcqdy.o new file mode 100644 index 0000000..76c27d4 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/37lsqijwyl9hcqdy.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3mtnm9o8g1d4ay08.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3mtnm9o8g1d4ay08.o new file mode 100644 index 0000000..33c6a67 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3mtnm9o8g1d4ay08.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3o7odmue6rclr07q.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3o7odmue6rclr07q.o new file mode 100644 index 0000000..c96f742 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3o7odmue6rclr07q.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3ovm9mpazp54gvkw.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3ovm9mpazp54gvkw.o new file mode 100644 index 0000000..a72caa9 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3ovm9mpazp54gvkw.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3vrsmjefktbf358o.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3vrsmjefktbf358o.o new file mode 100644 index 0000000..ae25150 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3vrsmjefktbf358o.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3x4s2wz09up1dm2n.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3x4s2wz09up1dm2n.o new file mode 100644 index 0000000..e4e926b Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3x4s2wz09up1dm2n.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3znqya38t8dwe2at.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3znqya38t8dwe2at.o new file mode 100644 index 0000000..a159fc1 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/3znqya38t8dwe2at.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/45ny6671yk2ypgvo.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/45ny6671yk2ypgvo.o new file mode 100644 index 0000000..668efd9 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/45ny6671yk2ypgvo.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4git0qmjrupi8t61.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4git0qmjrupi8t61.o new file mode 100644 index 0000000..585cee6 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4git0qmjrupi8t61.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4glxfcni5mbpugli.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4glxfcni5mbpugli.o new file mode 100644 index 0000000..4f591ee Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4glxfcni5mbpugli.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4inaqhg23zqxyqnc.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4inaqhg23zqxyqnc.o new file mode 100644 index 0000000..f1af3d3 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4inaqhg23zqxyqnc.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4m39n3seakb54iax.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4m39n3seakb54iax.o new file mode 100644 index 0000000..7244487 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4m39n3seakb54iax.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4z4nzjl4q0pz1f04.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4z4nzjl4q0pz1f04.o new file mode 100644 index 0000000..4171c9b Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/4z4nzjl4q0pz1f04.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/50eev5qtb13tzx9b.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/50eev5qtb13tzx9b.o new file mode 100644 index 0000000..9886ab0 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/50eev5qtb13tzx9b.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/51gmswjzv1agzg8f.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/51gmswjzv1agzg8f.o new file mode 100644 index 0000000..8603195 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/51gmswjzv1agzg8f.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/5d28jwqkfvzyq5h1.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/5d28jwqkfvzyq5h1.o new file mode 100644 index 0000000..886b43c Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/5d28jwqkfvzyq5h1.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/b9nyaare4e7lyek.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/b9nyaare4e7lyek.o new file mode 100644 index 0000000..0081563 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/b9nyaare4e7lyek.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/dep-graph.bin b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/dep-graph.bin new file mode 100644 index 0000000..7761f62 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/dep-graph.bin differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/pqtu3yin1ijq83m.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/pqtu3yin1ijq83m.o new file mode 100644 index 0000000..1ec80cd Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/pqtu3yin1ijq83m.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/query-cache.bin b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/query-cache.bin new file mode 100644 index 0000000..4a19fa1 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/query-cache.bin differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/tq446ynsxari1o4.o b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/tq446ynsxari1o4.o new file mode 100644 index 0000000..3bc6782 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/tq446ynsxari1o4.o differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/work-products.bin b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/work-products.bin new file mode 100644 index 0000000..00826d6 Binary files /dev/null and b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8-20lj7ul63d9hr/work-products.bin differ diff --git a/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8.lock b/lifetimes/target/debug/incremental/lifetimes-2xzusyx2j7lm/s-f9jk3gevx7-13gs7v8.lock new file mode 100755 index 0000000..e69de29 diff --git a/lifetimes/target/debug/lifetimes b/lifetimes/target/debug/lifetimes new file mode 100755 index 0000000..8edfb67 Binary files /dev/null and b/lifetimes/target/debug/lifetimes differ diff --git a/lifetimes/target/debug/lifetimes.d b/lifetimes/target/debug/lifetimes.d new file mode 100644 index 0000000..deabab0 --- /dev/null +++ b/lifetimes/target/debug/lifetimes.d @@ -0,0 +1 @@ +/home/adam/devel/learning-rust/lifetimes/target/debug/lifetimes: /home/adam/devel/learning-rust/lifetimes/src/main.rs diff --git a/minigrep/src/lib.rs b/minigrep/src/lib.rs new file mode 100644 index 0000000..78610ba --- /dev/null +++ b/minigrep/src/lib.rs @@ -0,0 +1,29 @@ +use std::error::Error; +use std::fs; + +pub struct Config { + pub query: String, + pub filename: String, +} + +impl Config { + + pub fn new(args: &[String]) -> Result { + + if args.len() < 3 { + return Err("Not enough arguments."); + } + + let query = args[1].clone(); + let filename = args[2].clone(); + Ok(Config { query, filename }) + } + +} + +pub fn run(config: Config) -> Result<(), Box> { + let contents = fs::read_to_string(config.filename)?; + dbg!(contents); + Ok(()) +} + diff --git a/minigrep/src/main.rs b/minigrep/src/main.rs index 1e04b5e..fc5ae9a 100644 --- a/minigrep/src/main.rs +++ b/minigrep/src/main.rs @@ -1,6 +1,8 @@ use std::process; use std::env; -use std::fs; + +use minigrep; +use minigrep::Config; fn main() { let args: Vec = env::args().collect(); @@ -8,33 +10,11 @@ fn main() { println!("Problem parsing arguments: {}", err); process::exit(1); }); - - println!("Searching for {}", config.query); - println!("In file {}", config.filename); - - let contents = fs::read_to_string(config.filename) - .expect("something went wrong."); - - dbg!(contents); -} - -struct Config { - query: String, - filename: String, -} - -impl Config { - - - fn new(args: &[String]) -> Result { - - if args.len() < 3 { - panic!("not enough args"); - } - - let query = args[1].clone(); - let filename = args[2].clone(); - Ok(Config { query, filename }) + println!("\nSearching for {}", config.query); + println!(" in file {}", config.filename); + if let Err(e) = minigrep::run(config) { + println!("Application error: {}", e); + process::exit(1); } - } + -- cgit v1.2.3