trackler 2.2.1.54 → 2.2.1.55
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/dominoes/description.md +3 -3
- data/problem-specifications/exercises/two-fer/description.md +0 -28
- data/tracks/c/config.json +12 -0
- data/tracks/c/exercises/queen-attack/README.md +65 -0
- data/tracks/c/exercises/queen-attack/makefile +15 -0
- data/tracks/c/exercises/queen-attack/src/example.c +25 -0
- data/tracks/c/exercises/queen-attack/src/queen_attack.h +19 -0
- data/tracks/c/exercises/queen-attack/test/test_queen_attack.c +190 -0
- data/tracks/c/exercises/queen-attack/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/queen-attack/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/queen-attack/test/vendor/unity_internals.h +701 -0
- data/tracks/common-lisp/exercises/acronym/README.md +1 -1
- data/tracks/delphi/exercises/two-fer/README.md +0 -28
- data/tracks/ecmascript/config.json +41 -0
- data/tracks/ecmascript/exercises/accumulate/package.json +5 -3
- data/tracks/ecmascript/exercises/acronym/package.json +5 -3
- data/tracks/ecmascript/exercises/all-your-base/package.json +5 -3
- data/tracks/ecmascript/exercises/allergies/package.json +5 -3
- data/tracks/ecmascript/exercises/alphametics/package.json +5 -3
- data/tracks/ecmascript/exercises/anagram/package.json +5 -3
- data/tracks/ecmascript/exercises/atbash-cipher/package.json +5 -3
- data/tracks/ecmascript/exercises/beer-song/package.json +5 -3
- data/tracks/ecmascript/exercises/binary-search-tree/package.json +5 -3
- data/tracks/ecmascript/exercises/binary-search/package.json +5 -3
- data/tracks/ecmascript/exercises/binary/package.json +5 -3
- data/tracks/ecmascript/exercises/bob/package.json +5 -3
- data/tracks/ecmascript/exercises/bowling/package.json +2 -2
- data/tracks/ecmascript/exercises/bracket-push/package.json +5 -3
- data/tracks/ecmascript/exercises/change/README.md +44 -0
- data/tracks/ecmascript/exercises/change/change.spec.js +80 -0
- data/tracks/ecmascript/exercises/change/example.js +120 -0
- data/tracks/ecmascript/exercises/change/package.json +69 -0
- data/tracks/ecmascript/exercises/circular-buffer/package.json +5 -3
- data/tracks/ecmascript/exercises/clock/package.json +5 -3
- data/tracks/ecmascript/exercises/collatz-conjecture/package.json +6 -4
- data/tracks/ecmascript/exercises/connect/package.json +5 -3
- data/tracks/ecmascript/exercises/crypto-square/package.json +5 -3
- data/tracks/ecmascript/exercises/custom-set/package.json +5 -3
- data/tracks/ecmascript/exercises/diamond/package.json +5 -3
- data/tracks/ecmascript/exercises/difference-of-squares/package.json +5 -3
- data/tracks/ecmascript/exercises/diffie-hellman/package.json +5 -3
- data/tracks/ecmascript/exercises/etl/package.json +5 -3
- data/tracks/ecmascript/exercises/flatten-array/package.json +5 -3
- data/tracks/ecmascript/exercises/food-chain/package.json +5 -3
- data/tracks/ecmascript/exercises/gigasecond/package.json +5 -3
- data/tracks/ecmascript/exercises/grade-school/package.json +5 -3
- data/tracks/ecmascript/exercises/grains/package.json +5 -3
- data/tracks/ecmascript/exercises/hamming/package.json +5 -3
- data/tracks/ecmascript/exercises/hello-world/package.json +5 -3
- data/tracks/ecmascript/exercises/hexadecimal/package.json +5 -3
- data/tracks/ecmascript/exercises/isbn-verifier/README.md +62 -0
- data/tracks/ecmascript/exercises/isbn-verifier/example.js +17 -0
- data/tracks/ecmascript/exercises/isbn-verifier/isbn-verifier.spec.js +81 -0
- data/tracks/ecmascript/exercises/isbn-verifier/package.json +71 -0
- data/tracks/ecmascript/exercises/isogram/package.json +5 -3
- data/tracks/ecmascript/exercises/kindergarten-garden/package.json +5 -3
- data/tracks/ecmascript/exercises/largest-series-product/package.json +5 -3
- data/tracks/ecmascript/exercises/leap/package.json +5 -3
- data/tracks/ecmascript/exercises/linked-list/package.json +5 -3
- data/tracks/ecmascript/exercises/list-ops/package.json +5 -3
- data/tracks/ecmascript/exercises/luhn/package.json +5 -3
- data/tracks/ecmascript/exercises/matrix/package.json +5 -3
- data/tracks/ecmascript/exercises/meetup/package.json +5 -3
- data/tracks/ecmascript/exercises/minesweeper/package.json +5 -3
- data/tracks/ecmascript/exercises/nth-prime/package.json +5 -3
- data/tracks/ecmascript/exercises/ocr-numbers/package.json +5 -3
- data/tracks/ecmascript/exercises/octal/package.json +5 -3
- data/tracks/ecmascript/exercises/palindrome-products/package.json +5 -3
- data/tracks/ecmascript/exercises/pangram/package.json +5 -3
- data/tracks/ecmascript/exercises/pascals-triangle/package.json +5 -3
- data/tracks/ecmascript/exercises/perfect-numbers/package.json +5 -3
- data/tracks/ecmascript/exercises/phone-number/package.json +5 -3
- data/tracks/ecmascript/exercises/pig-latin/package.json +5 -3
- data/tracks/ecmascript/exercises/prime-factors/package.json +5 -3
- data/tracks/ecmascript/exercises/proverb/package.json +5 -3
- data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +5 -3
- data/tracks/ecmascript/exercises/queen-attack/package.json +5 -3
- data/tracks/ecmascript/exercises/raindrops/package.json +5 -3
- data/tracks/ecmascript/exercises/rna-transcription/package.json +5 -3
- data/tracks/ecmascript/exercises/robot-name/package.json +5 -3
- data/tracks/ecmascript/exercises/robot-simulator/package.json +5 -3
- data/tracks/ecmascript/exercises/roman-numerals/package.json +5 -3
- data/tracks/ecmascript/exercises/run-length-encoding/package.json +5 -3
- data/tracks/ecmascript/exercises/saddle-points/package.json +5 -3
- data/tracks/ecmascript/exercises/say/package.json +5 -3
- data/tracks/ecmascript/exercises/scrabble-score/package.json +5 -3
- data/tracks/ecmascript/exercises/secret-handshake/package.json +5 -3
- data/tracks/ecmascript/exercises/series/package.json +5 -3
- data/tracks/ecmascript/exercises/sieve/package.json +5 -3
- data/tracks/ecmascript/exercises/simple-cipher/package.json +5 -3
- data/tracks/ecmascript/exercises/simple-linked-list/package.json +5 -3
- data/tracks/ecmascript/exercises/space-age/package.json +5 -3
- data/tracks/ecmascript/exercises/strain/package.json +5 -3
- data/tracks/ecmascript/exercises/sublist/package.json +5 -3
- data/tracks/ecmascript/exercises/sum-of-multiples/package.json +5 -3
- data/tracks/ecmascript/exercises/transpose/README.md +94 -0
- data/tracks/ecmascript/exercises/transpose/example.js +12 -0
- data/tracks/ecmascript/exercises/transpose/package.json +71 -0
- data/tracks/ecmascript/exercises/transpose/transpose.spec.js +67 -0
- data/tracks/ecmascript/exercises/triangle/package.json +5 -3
- data/tracks/ecmascript/exercises/trinary/package.json +5 -3
- data/tracks/ecmascript/exercises/twelve-days/package.json +5 -3
- data/tracks/ecmascript/exercises/two-bucket/package.json +5 -3
- data/tracks/ecmascript/exercises/two-fer/package.json +5 -3
- data/tracks/ecmascript/exercises/word-count/package.json +5 -3
- data/tracks/ecmascript/exercises/word-search/package.json +5 -3
- data/tracks/ecmascript/exercises/wordy/package.json +5 -3
- data/tracks/ecmascript/package-lock.json +6219 -0
- data/tracks/ecmascript/package.json +5 -3
- data/tracks/erlang/exercises/collatz-conjecture/src/collatz_conjecture.erl +3 -4
- data/tracks/erlang/exercises/collatz-conjecture/src/example.erl +3 -3
- data/tracks/erlang/exercises/collatz-conjecture/test/collatz_conjecture_tests.erl +13 -9
- data/tracks/erlang/exercises/hello-world/src/hello_world.erl +2 -2
- data/tracks/erlang/exercises/leap/src/example.erl +1 -1
- data/tracks/erlang/exercises/leap/src/leap.erl +3 -3
- data/tracks/erlang/exercises/leap/test/leap_tests.erl +9 -9
- data/tracks/erlang/testgen/src/testgen.erl +16 -13
- data/tracks/erlang/testgen/src/tgen.erl +65 -38
- data/tracks/erlang/testgen/src/tgen_collatz-conjecture.erl +38 -0
- data/tracks/erlang/testgen/src/tgen_hello-world.erl +11 -19
- data/tracks/erlang/testgen/src/tgen_leap.erl +31 -0
- data/tracks/erlang/testgen/src/tgs.erl +80 -0
- data/tracks/fsharp/exercises/alphametics/AlphameticsTest.fs +78 -23
- data/tracks/fsharp/exercises/anagram/AnagramTest.fs +66 -34
- data/tracks/fsharp/exercises/connect/ConnectTest.fs +81 -68
- data/tracks/fsharp/exercises/connect/Example.fs +9 -5
- data/tracks/fsharp/exercises/food-chain/Example.fs +5 -9
- data/tracks/fsharp/exercises/food-chain/FoodChain.fs +2 -2
- data/tracks/fsharp/exercises/food-chain/FoodChainTest.fs +143 -75
- data/tracks/fsharp/exercises/hamming/Example.fs +8 -4
- data/tracks/fsharp/exercises/hamming/Hamming.fs +1 -1
- data/tracks/fsharp/exercises/hamming/HammingTest.fs +53 -13
- data/tracks/fsharp/exercises/house/Example.fs +5 -6
- data/tracks/fsharp/exercises/house/House.fs +3 -1
- data/tracks/fsharp/exercises/house/HouseTest.fs +272 -96
- data/tracks/fsharp/exercises/meetup/Example.fs +1 -1
- data/tracks/fsharp/exercises/meetup/Meetup.fs +1 -1
- data/tracks/fsharp/exercises/meetup/MeetupTest.fs +384 -73
- data/tracks/fsharp/exercises/ocr-numbers/Example.fs +43 -35
- data/tracks/fsharp/exercises/ocr-numbers/OcrNumbersTest.fs +160 -125
- data/tracks/fsharp/exercises/two-fer/Example.fs +4 -2
- data/tracks/fsharp/exercises/two-fer/TwoFer.fs +1 -1
- data/tracks/fsharp/exercises/two-fer/TwoFerTest.fs +7 -4
- data/tracks/fsharp/generators/Common.fs +6 -2
- data/tracks/fsharp/generators/Exercise.fs +14 -13
- data/tracks/fsharp/generators/Generators.fs +145 -2
- data/tracks/fsharp/generators/Options.fs +4 -6
- data/tracks/fsharp/generators/Output.fs +2 -2
- data/tracks/fsharp/generators/Program.fs +4 -3
- data/tracks/java/exercises/saddle-points/README.md +1 -1
- data/tracks/java/exercises/two-fer/README.md +0 -28
- data/tracks/javascript/exercises/beer-song/example.js +18 -14
- data/tracks/kotlin/exercises/saddle-points/README.md +1 -1
- data/tracks/kotlin/exercises/two-fer/README.md +0 -28
- data/tracks/lua/config.json +12 -0
- data/tracks/lua/exercises/collatz-conjecture/README.md +43 -0
- data/tracks/lua/exercises/collatz-conjecture/collatz-conjecture_spec.lua +33 -0
- data/tracks/lua/exercises/collatz-conjecture/example.lua +16 -0
- data/tracks/python/config.json +4 -1
- data/tracks/python/exercises/binary-search/binary_search_test.py +2 -0
- data/tracks/python/exercises/change/change_test.py +2 -0
- data/tracks/python/exercises/circular-buffer/circular_buffer_test.py +56 -50
- data/tracks/python/exercises/forth/example.py +3 -1
- data/tracks/python/exercises/forth/forth_test.py +43 -26
- data/tracks/python/exercises/nth-prime/nth_prime.py +1 -1
- data/tracks/python/exercises/rna-transcription/README.md +5 -0
- data/tracks/python/exercises/rna-transcription/example.py +1 -1
- data/tracks/python/exercises/rna-transcription/rna_transcription_test.py +7 -4
- data/tracks/python/exercises/robot-simulator/robot_simulator_test.py +9 -7
- data/tracks/python/exercises/saddle-points/saddle_points_test.py +15 -5
- data/tracks/python/exercises/simple-cipher/simple_cipher.py +7 -1
- data/tracks/python/exercises/word-count/example.py +6 -4
- data/tracks/python/exercises/word-count/word_count_test.py +49 -22
- data/tracks/python/exercises/word-search/word_search_test.py +104 -12
- data/tracks/rust/.travis.yml +2 -0
- data/tracks/rust/README.md +5 -0
- data/tracks/rust/_test/check-exercises.sh +0 -6
- data/tracks/rust/_test/ensure-lib-src-rs-exist.sh +19 -0
- data/tracks/rust/_test/ensure-stubs-compile.sh +26 -0
- data/tracks/rust/config.json +12 -0
- data/tracks/rust/config/exercise-readme-insert.md +3 -2
- data/tracks/rust/docs/ABOUT.md +2 -2
- data/tracks/rust/docs/LEARNING.md +1 -1
- data/tracks/rust/docs/RESOURCES.md +1 -1
- data/tracks/rust/docs/TESTS.md +2 -2
- data/tracks/rust/exercises/accumulate/README.md +3 -2
- data/tracks/rust/exercises/acronym/README.md +3 -2
- data/tracks/rust/exercises/all-your-base/README.md +3 -2
- data/tracks/rust/exercises/allergies/README.md +3 -2
- data/tracks/rust/exercises/alphametics/README.md +3 -2
- data/tracks/rust/exercises/anagram/README.md +3 -2
- data/tracks/rust/exercises/atbash-cipher/README.md +3 -2
- data/tracks/rust/exercises/beer-song/README.md +3 -2
- data/tracks/rust/exercises/beer-song/src/lib.rs +2 -2
- data/tracks/rust/exercises/binary-search/README.md +3 -2
- data/tracks/rust/exercises/bob/README.md +3 -2
- data/tracks/rust/exercises/bob/src/lib.rs +1 -1
- data/tracks/rust/exercises/bowling/README.md +3 -2
- data/tracks/rust/exercises/bracket-push/HINTS.md +1 -1
- data/tracks/rust/exercises/bracket-push/README.md +4 -3
- data/tracks/rust/exercises/circular-buffer/README.md +3 -2
- data/tracks/rust/exercises/clock/README.md +3 -2
- data/tracks/rust/exercises/collatz-conjecture/README.md +3 -2
- data/tracks/rust/exercises/collatz-conjecture/src/lib.rs +1 -1
- data/tracks/rust/exercises/crypto-square/README.md +3 -2
- data/tracks/rust/exercises/custom-set/README.md +3 -2
- data/tracks/rust/exercises/decimal/.meta/ALLOWED_TO_NOT_COMPILE +2 -0
- data/tracks/rust/exercises/decimal/README.md +3 -2
- data/tracks/rust/exercises/difference-of-squares/README.md +3 -2
- data/tracks/rust/exercises/difference-of-squares/src/lib.rs +3 -3
- data/tracks/rust/exercises/dominoes/README.md +3 -2
- data/tracks/rust/exercises/etl/README.md +3 -2
- data/tracks/rust/exercises/forth/README.md +3 -2
- data/tracks/rust/exercises/forth/src/lib.rs +3 -0
- data/tracks/rust/exercises/gigasecond/README.md +3 -2
- data/tracks/rust/exercises/grade-school/README.md +3 -2
- data/tracks/rust/exercises/grains/README.md +3 -2
- data/tracks/rust/exercises/hamming/README.md +3 -2
- data/tracks/rust/exercises/hello-world/GETTING_STARTED.md +1 -1
- data/tracks/rust/exercises/hello-world/README.md +3 -2
- data/tracks/rust/exercises/hexadecimal/README.md +3 -2
- data/tracks/rust/exercises/isogram/.gitignore +8 -0
- data/tracks/rust/exercises/isogram/Cargo.toml +3 -0
- data/tracks/rust/exercises/isogram/README.md +52 -0
- data/tracks/rust/exercises/isogram/example.rs +12 -0
- data/tracks/rust/exercises/isogram/src/lib.rs +0 -0
- data/tracks/rust/exercises/isogram/tests/isogram.rs +72 -0
- data/tracks/rust/exercises/largest-series-product/README.md +3 -2
- data/tracks/rust/exercises/leap/README.md +3 -2
- data/tracks/rust/exercises/leap/src/lib.rs +1 -1
- data/tracks/rust/exercises/luhn-from/README.md +3 -2
- data/tracks/rust/exercises/luhn-trait/.meta/description.md +2 -2
- data/tracks/rust/exercises/luhn-trait/README.md +5 -4
- data/tracks/rust/exercises/luhn/README.md +3 -2
- data/tracks/rust/exercises/minesweeper/README.md +3 -2
- data/tracks/rust/exercises/nth-prime/README.md +3 -2
- data/tracks/rust/exercises/nucleotide-codons/README.md +3 -2
- data/tracks/rust/exercises/nucleotide-count/README.md +3 -2
- data/tracks/rust/exercises/ocr-numbers/README.md +3 -2
- data/tracks/rust/exercises/pangram/README.md +3 -2
- data/tracks/rust/exercises/parallel-letter-frequency/HINTS.md +1 -1
- data/tracks/rust/exercises/parallel-letter-frequency/README.md +4 -3
- data/tracks/rust/exercises/pascals-triangle/README.md +3 -2
- data/tracks/rust/exercises/perfect-numbers/README.md +3 -2
- data/tracks/rust/exercises/phone-number/README.md +3 -2
- data/tracks/rust/exercises/pig-latin/README.md +3 -2
- data/tracks/rust/exercises/poker/README.md +3 -2
- data/tracks/rust/exercises/prime-factors/README.md +3 -2
- data/tracks/rust/exercises/protein-translation/README.md +3 -2
- data/tracks/rust/exercises/proverb/README.md +3 -2
- data/tracks/rust/exercises/proverb/src/lib.rs +1 -1
- data/tracks/rust/exercises/pythagorean-triplet/README.md +3 -2
- data/tracks/rust/exercises/queen-attack/README.md +3 -2
- data/tracks/rust/exercises/raindrops/README.md +3 -2
- data/tracks/rust/exercises/raindrops/src/lib.rs +1 -1
- data/tracks/rust/exercises/react/README.md +3 -2
- data/tracks/rust/exercises/rectangles/README.md +3 -2
- data/tracks/rust/exercises/rna-transcription/README.md +3 -2
- data/tracks/rust/exercises/robot-name/README.md +3 -2
- data/tracks/rust/exercises/robot-simulator/README.md +3 -2
- data/tracks/rust/exercises/roman-numerals/README.md +3 -2
- data/tracks/rust/exercises/rotational-cipher/README.md +3 -2
- data/tracks/rust/exercises/run-length-encoding/README.md +3 -2
- data/tracks/rust/exercises/say/README.md +3 -2
- data/tracks/rust/exercises/scrabble-score/README.md +3 -2
- data/tracks/rust/exercises/sieve/README.md +3 -2
- data/tracks/rust/exercises/space-age/README.md +3 -2
- data/tracks/rust/exercises/sublist/README.md +3 -2
- data/tracks/rust/exercises/sum-of-multiples/README.md +3 -2
- data/tracks/rust/exercises/sum-of-multiples/src/lib.rs +1 -1
- data/tracks/rust/exercises/tournament/README.md +3 -2
- data/tracks/rust/exercises/triangle/HINTS.md +2 -2
- data/tracks/rust/exercises/triangle/README.md +5 -4
- data/tracks/rust/exercises/variable-length-quantity/README.md +3 -2
- data/tracks/rust/exercises/word-count/README.md +3 -2
- data/tracks/rust/exercises/wordy/README.md +3 -2
- metadata +38 -3
- data/tracks/ecmascript/yarn.lock +0 -3144
@@ -40,7 +40,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
40
40
|
also remove the ignore flag from all the tests to get them to run all at once
|
41
41
|
if you wish.
|
42
42
|
|
43
|
-
Make sure to read the [
|
43
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
44
44
|
haven't already, it will help you with organizing your files.
|
45
45
|
|
46
46
|
## Feedback, Issues, Pull Requests
|
@@ -50,7 +50,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
50
50
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
51
51
|
|
52
52
|
[help-page]: http://exercism.io/languages/rust
|
53
|
-
[
|
53
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
54
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
54
55
|
|
55
56
|
## Source
|
56
57
|
|
@@ -45,7 +45,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
45
45
|
also remove the ignore flag from all the tests to get them to run all at once
|
46
46
|
if you wish.
|
47
47
|
|
48
|
-
Make sure to read the [
|
48
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
49
49
|
haven't already, it will help you with organizing your files.
|
50
50
|
|
51
51
|
## Feedback, Issues, Pull Requests
|
@@ -55,7 +55,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
55
55
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
56
56
|
|
57
57
|
[help-page]: http://exercism.io/languages/rust
|
58
|
-
[
|
58
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
59
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
59
60
|
|
60
61
|
## Source
|
61
62
|
|
@@ -29,7 +29,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
29
29
|
also remove the ignore flag from all the tests to get them to run all at once
|
30
30
|
if you wish.
|
31
31
|
|
32
|
-
Make sure to read the [
|
32
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
33
33
|
haven't already, it will help you with organizing your files.
|
34
34
|
|
35
35
|
## Feedback, Issues, Pull Requests
|
@@ -39,7 +39,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
39
39
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
40
40
|
|
41
41
|
[help-page]: http://exercism.io/languages/rust
|
42
|
-
[
|
42
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
43
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
43
44
|
|
44
45
|
## Source
|
45
46
|
|
@@ -12,6 +12,6 @@ In "Luhn: Using the From Trait" you implemented a From trait, which also require
|
|
12
12
|
|
13
13
|
Instead of creating a Struct just to perform the validation, what if you you validated the primitives (i.e, String, u8, etc.) themselves?
|
14
14
|
|
15
|
-
In this exercise you'll create and implement a custom [trait](https://doc.rust-lang.org/book/traits.html) that performs the validation.
|
15
|
+
In this exercise you'll create and implement a custom [trait](https://doc.rust-lang.org/book/second-edition/ch10-02-traits.html) that performs the validation.
|
16
16
|
|
17
|
-
Note: It is [not idiomatic Rust to implement traits on on primitives](https://doc.rust-lang.org/book/traits.html#
|
17
|
+
Note: It is [not idiomatic Rust to implement traits on on primitives](https://doc.rust-lang.org/book/second-edition/ch10-02-traits.html#implementing-a-trait-on-a-type). In this exercise we're showing something that you _can_ do, not something you _should_ do. If you find yourself implementing traits on primitives, perhaps you have a case of [Primitive Obsession](http://wiki.c2.com/?PrimitiveObsession).
|
@@ -14,9 +14,9 @@ In "Luhn: Using the From Trait" you implemented a From trait, which also require
|
|
14
14
|
|
15
15
|
Instead of creating a Struct just to perform the validation, what if you you validated the primitives (i.e, String, u8, etc.) themselves?
|
16
16
|
|
17
|
-
In this exercise you'll create and implement a custom [trait](https://doc.rust-lang.org/book/traits.html) that performs the validation.
|
17
|
+
In this exercise you'll create and implement a custom [trait](https://doc.rust-lang.org/book/second-edition/ch10-02-traits.html) that performs the validation.
|
18
18
|
|
19
|
-
Note: It is [not idiomatic Rust to implement traits on on primitives](https://doc.rust-lang.org/book/traits.html#
|
19
|
+
Note: It is [not idiomatic Rust to implement traits on on primitives](https://doc.rust-lang.org/book/second-edition/ch10-02-traits.html#implementing-a-trait-on-a-type). In this exercise we're showing something that you _can_ do, not something you _should_ do. If you find yourself implementing traits on primitives, perhaps you have a case of [Primitive Obsession](http://wiki.c2.com/?PrimitiveObsession).
|
20
20
|
|
21
21
|
## Rust Installation
|
22
22
|
|
@@ -37,7 +37,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
37
37
|
also remove the ignore flag from all the tests to get them to run all at once
|
38
38
|
if you wish.
|
39
39
|
|
40
|
-
Make sure to read the [
|
40
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
41
41
|
haven't already, it will help you with organizing your files.
|
42
42
|
|
43
43
|
## Feedback, Issues, Pull Requests
|
@@ -47,7 +47,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
47
47
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
48
48
|
|
49
49
|
[help-page]: http://exercism.io/languages/rust
|
50
|
-
[
|
50
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
51
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
51
52
|
|
52
53
|
## Source
|
53
54
|
|
@@ -83,7 +83,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
83
83
|
also remove the ignore flag from all the tests to get them to run all at once
|
84
84
|
if you wish.
|
85
85
|
|
86
|
-
Make sure to read the [
|
86
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
87
87
|
haven't already, it will help you with organizing your files.
|
88
88
|
|
89
89
|
## Feedback, Issues, Pull Requests
|
@@ -93,7 +93,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
93
93
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
94
94
|
|
95
95
|
[help-page]: http://exercism.io/languages/rust
|
96
|
-
[
|
96
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
97
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
97
98
|
|
98
99
|
## Source
|
99
100
|
|
@@ -45,7 +45,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
45
45
|
also remove the ignore flag from all the tests to get them to run all at once
|
46
46
|
if you wish.
|
47
47
|
|
48
|
-
Make sure to read the [
|
48
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
49
49
|
haven't already, it will help you with organizing your files.
|
50
50
|
|
51
51
|
## Feedback, Issues, Pull Requests
|
@@ -55,7 +55,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
55
55
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
56
56
|
|
57
57
|
[help-page]: http://exercism.io/languages/rust
|
58
|
-
[
|
58
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
59
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
59
60
|
|
60
61
|
|
61
62
|
## Submitting Incomplete Solutions
|
@@ -27,7 +27,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
27
27
|
also remove the ignore flag from all the tests to get them to run all at once
|
28
28
|
if you wish.
|
29
29
|
|
30
|
-
Make sure to read the [
|
30
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
31
31
|
haven't already, it will help you with organizing your files.
|
32
32
|
|
33
33
|
## Feedback, Issues, Pull Requests
|
@@ -37,7 +37,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
37
37
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
38
38
|
|
39
39
|
[help-page]: http://exercism.io/languages/rust
|
40
|
-
[
|
40
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
41
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
41
42
|
|
42
43
|
## Source
|
43
44
|
|
@@ -37,7 +37,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
37
37
|
also remove the ignore flag from all the tests to get them to run all at once
|
38
38
|
if you wish.
|
39
39
|
|
40
|
-
Make sure to read the [
|
40
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
41
41
|
haven't already, it will help you with organizing your files.
|
42
42
|
|
43
43
|
## Feedback, Issues, Pull Requests
|
@@ -47,7 +47,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
47
47
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
48
48
|
|
49
49
|
[help-page]: http://exercism.io/languages/rust
|
50
|
-
[
|
50
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
51
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
51
52
|
|
52
53
|
|
53
54
|
## Submitting Incomplete Solutions
|
@@ -45,7 +45,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
45
45
|
also remove the ignore flag from all the tests to get them to run all at once
|
46
46
|
if you wish.
|
47
47
|
|
48
|
-
Make sure to read the [
|
48
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
49
49
|
haven't already, it will help you with organizing your files.
|
50
50
|
|
51
51
|
## Feedback, Issues, Pull Requests
|
@@ -55,7 +55,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
55
55
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
56
56
|
|
57
57
|
[help-page]: http://exercism.io/languages/rust
|
58
|
-
[
|
58
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
59
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
59
60
|
|
60
61
|
## Source
|
61
62
|
|
@@ -97,7 +97,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
97
97
|
also remove the ignore flag from all the tests to get them to run all at once
|
98
98
|
if you wish.
|
99
99
|
|
100
|
-
Make sure to read the [
|
100
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
101
101
|
haven't already, it will help you with organizing your files.
|
102
102
|
|
103
103
|
## Feedback, Issues, Pull Requests
|
@@ -107,7 +107,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
107
107
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
108
108
|
|
109
109
|
[help-page]: http://exercism.io/languages/rust
|
110
|
-
[
|
110
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
111
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
111
112
|
|
112
113
|
## Source
|
113
114
|
|
@@ -27,7 +27,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
27
27
|
also remove the ignore flag from all the tests to get them to run all at once
|
28
28
|
if you wish.
|
29
29
|
|
30
|
-
Make sure to read the [
|
30
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
31
31
|
haven't already, it will help you with organizing your files.
|
32
32
|
|
33
33
|
## Feedback, Issues, Pull Requests
|
@@ -37,7 +37,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
37
37
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
38
38
|
|
39
39
|
[help-page]: http://exercism.io/languages/rust
|
40
|
-
[
|
40
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
41
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
41
42
|
|
42
43
|
## Source
|
43
44
|
|
@@ -11,7 +11,7 @@ list of texts and that employs parallelism.
|
|
11
11
|
|
12
12
|
Learn more about concurrency in Rust here:
|
13
13
|
|
14
|
-
- [Concurrency](https://doc.rust-lang.org/book/concurrency.html)
|
14
|
+
- [Concurrency](https://doc.rust-lang.org/book/second-edition/ch16-00-concurrency.html)
|
15
15
|
|
16
16
|
## Bonus
|
17
17
|
|
@@ -60,7 +60,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
60
60
|
also remove the ignore flag from all the tests to get them to run all at once
|
61
61
|
if you wish.
|
62
62
|
|
63
|
-
Make sure to read the [
|
63
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
64
64
|
haven't already, it will help you with organizing your files.
|
65
65
|
|
66
66
|
## Feedback, Issues, Pull Requests
|
@@ -70,7 +70,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
70
70
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
71
71
|
|
72
72
|
[help-page]: http://exercism.io/languages/rust
|
73
|
-
[
|
73
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
74
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
74
75
|
|
75
76
|
|
76
77
|
## Submitting Incomplete Solutions
|
@@ -33,7 +33,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
33
33
|
also remove the ignore flag from all the tests to get them to run all at once
|
34
34
|
if you wish.
|
35
35
|
|
36
|
-
Make sure to read the [
|
36
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
37
37
|
haven't already, it will help you with organizing your files.
|
38
38
|
|
39
39
|
## Feedback, Issues, Pull Requests
|
@@ -43,7 +43,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
43
43
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
44
44
|
|
45
45
|
[help-page]: http://exercism.io/languages/rust
|
46
|
-
[
|
46
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
47
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
47
48
|
|
48
49
|
## Source
|
49
50
|
|
@@ -36,7 +36,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
36
36
|
also remove the ignore flag from all the tests to get them to run all at once
|
37
37
|
if you wish.
|
38
38
|
|
39
|
-
Make sure to read the [
|
39
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
40
40
|
haven't already, it will help you with organizing your files.
|
41
41
|
|
42
42
|
## Feedback, Issues, Pull Requests
|
@@ -46,7 +46,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
46
46
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
47
47
|
|
48
48
|
[help-page]: http://exercism.io/languages/rust
|
49
|
-
[
|
49
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
50
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
50
51
|
|
51
52
|
## Source
|
52
53
|
|
@@ -46,7 +46,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
46
46
|
also remove the ignore flag from all the tests to get them to run all at once
|
47
47
|
if you wish.
|
48
48
|
|
49
|
-
Make sure to read the [
|
49
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
50
50
|
haven't already, it will help you with organizing your files.
|
51
51
|
|
52
52
|
## Feedback, Issues, Pull Requests
|
@@ -56,7 +56,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
56
56
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
57
57
|
|
58
58
|
[help-page]: http://exercism.io/languages/rust
|
59
|
-
[
|
59
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
60
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
60
61
|
|
61
62
|
## Source
|
62
63
|
|
@@ -36,7 +36,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
36
36
|
also remove the ignore flag from all the tests to get them to run all at once
|
37
37
|
if you wish.
|
38
38
|
|
39
|
-
Make sure to read the [
|
39
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
40
40
|
haven't already, it will help you with organizing your files.
|
41
41
|
|
42
42
|
## Feedback, Issues, Pull Requests
|
@@ -46,7 +46,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
46
46
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
47
47
|
|
48
48
|
[help-page]: http://exercism.io/languages/rust
|
49
|
-
[
|
49
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
50
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
50
51
|
|
51
52
|
## Source
|
52
53
|
|
@@ -34,7 +34,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
34
34
|
also remove the ignore flag from all the tests to get them to run all at once
|
35
35
|
if you wish.
|
36
36
|
|
37
|
-
Make sure to read the [
|
37
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
38
38
|
haven't already, it will help you with organizing your files.
|
39
39
|
|
40
40
|
## Feedback, Issues, Pull Requests
|
@@ -44,7 +44,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
44
44
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
45
45
|
|
46
46
|
[help-page]: http://exercism.io/languages/rust
|
47
|
-
[
|
47
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
48
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
48
49
|
|
49
50
|
## Source
|
50
51
|
|
@@ -48,7 +48,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
48
48
|
also remove the ignore flag from all the tests to get them to run all at once
|
49
49
|
if you wish.
|
50
50
|
|
51
|
-
Make sure to read the [
|
51
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
52
52
|
haven't already, it will help you with organizing your files.
|
53
53
|
|
54
54
|
## Feedback, Issues, Pull Requests
|
@@ -58,7 +58,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
58
58
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
59
59
|
|
60
60
|
[help-page]: http://exercism.io/languages/rust
|
61
|
-
[
|
61
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
62
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
62
63
|
|
63
64
|
## Source
|
64
65
|
|
@@ -61,7 +61,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
61
61
|
also remove the ignore flag from all the tests to get them to run all at once
|
62
62
|
if you wish.
|
63
63
|
|
64
|
-
Make sure to read the [
|
64
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
65
65
|
haven't already, it will help you with organizing your files.
|
66
66
|
|
67
67
|
## Feedback, Issues, Pull Requests
|
@@ -71,7 +71,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
71
71
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
72
72
|
|
73
73
|
[help-page]: http://exercism.io/languages/rust
|
74
|
-
[
|
74
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
75
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
75
76
|
|
76
77
|
## Source
|
77
78
|
|
@@ -30,7 +30,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
30
30
|
also remove the ignore flag from all the tests to get them to run all at once
|
31
31
|
if you wish.
|
32
32
|
|
33
|
-
Make sure to read the [
|
33
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
34
34
|
haven't already, it will help you with organizing your files.
|
35
35
|
|
36
36
|
## Feedback, Issues, Pull Requests
|
@@ -40,7 +40,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
40
40
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
41
41
|
|
42
42
|
[help-page]: http://exercism.io/languages/rust
|
43
|
-
[
|
43
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
44
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
44
45
|
|
45
46
|
## Source
|
46
47
|
|
@@ -36,7 +36,7 @@ to pass again. The test file is located in the `tests` directory. You can
|
|
36
36
|
also remove the ignore flag from all the tests to get them to run all at once
|
37
37
|
if you wish.
|
38
38
|
|
39
|
-
Make sure to read the [
|
39
|
+
Make sure to read the [Modules](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html) chapter if you
|
40
40
|
haven't already, it will help you with organizing your files.
|
41
41
|
|
42
42
|
## Feedback, Issues, Pull Requests
|
@@ -46,7 +46,8 @@ The [exercism/rust](https://github.com/exercism/rust) repository on GitHub is th
|
|
46
46
|
If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
47
47
|
|
48
48
|
[help-page]: http://exercism.io/languages/rust
|
49
|
-
[
|
49
|
+
[modules]: https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html
|
50
|
+
[cargo]: https://doc.rust-lang.org/book/second-edition/ch14-00-more-about-cargo.html
|
50
51
|
|
51
52
|
## Source
|
52
53
|
|