Skip to content

Replace links to first edition of the Rust book with second edition #356

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
janczer opened this issue Oct 4, 2017 · 6 comments · Fixed by #491
Closed

Replace links to first edition of the Rust book with second edition #356

janczer opened this issue Oct 4, 2017 · 6 comments · Fixed by #491

Comments

@janczer
Copy link
Contributor

janczer commented Oct 4, 2017

This is the link to first edition of the rust book:

* https://doc.rust-lang.org/book/guessing-game.html#generating-a-secret-number

I'm not sure, maybe link to second edition would be more useful:

https://doc.rust-lang.org/book/second-edition/ch02-00-guessing-game-tutorial.html#generating-a-random-number
@ijanos
Copy link
Contributor

ijanos commented Oct 5, 2017

You are right. You can create a pull request if you wish and we will merge it.

@shaleh
Copy link

shaleh commented Oct 6, 2017

This should also happen in the Getting Started doc in hello-world

@petertseng
Copy link
Member

OK, I guess since the https://doc.rust-lang.org/book/ says "We suggest reading the second edition and then checking out the first edition later to pick up some of the more esoteric parts of the language." I guess it's prudent for all our links to go to the second edition.

It looks like this issue should be kept open until all links to specific parts in the first edition are replaced with second edition.

I think those are:

config/exercise-readme-insert.md:Make sure to read the [Crates and Modules](https://doc.rust-lang.org/stable/book/crates-and-modules.html) chapter if you
config/exercise-readme-insert.md:[crates-and-modules]: http://doc.rust-lang.org/stable/book/crates-and-modules.html
docs/ABOUT.md:Rust aims to bring modern language design and an advanced type system to systems programming. Rust does not use a garbage collector, but instead ensures safety and optimizes code at compile time. The concept of [ownership](https://doc.rust-lang.org/book/ownership.html) is how Rust achieves its largest goal, memory safety.
docs/TESTS.md:The directory must be named `src` and the file must be named `lib.rs` otherwise your code will not compile. For more details, check out the rustlang book [chapter on crates and modules](http://doc.rust-lang.org/stable/book/crates-and-modules.html)
docs/TESTS.md:Because Rust checks all code at compile time you may find that your tests won't compile until you write the required code. Even `ignore`d tests are checked at compile time. You can [comment out](https://doc.rust-lang.org/stable/book/comments.html) tests that won't compile by starting each line with a `//`. Then, when you're ready to work on that test, you can un-comment it.
exercises/bracket-push/HINTS.md:- Lifetimes and Structs: https://doc.rust-lang.org/book/lifetimes.html#impl-blocks
exercises/hello-world/GETTING_STARTED.md:Follow the [Getting Started chapter in the Rust book](https://doc.rust-lang.org/stable/book/getting-started.html).
exercises/luhn-trait/.meta/description.md:In this exercise you'll create and implement a custom [trait](https://doc.rust-lang.org/book/traits.html) that performs the validation.
exercises/luhn-trait/.meta/description.md:Note: It is [not idiomatic Rust to implement traits on on primitives](https://doc.rust-lang.org/book/traits.html#rules-for-implementing-traits). 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).
exercises/parallel-letter-frequency/HINTS.md:- [Concurrency](https://doc.rust-lang.org/book/concurrency.html)
exercises/parallel-letter-frequency/HINTS.md:- [Benchmark tests](https://doc.rust-lang.org/book/benchmark-tests.html)
exercises/parallel-letter-frequency/HINTS.md:- [Nightly Rust](https://doc.rust-lang.org/book/nightly-rust.html)
exercises/triangle/HINTS.md:- [Enums](https://doc.rust-lang.org/book/enums.html)
exercises/triangle/HINTS.md:- [Traits](https://doc.rust-lang.org/book/traits.html)

petertseng pushed a commit that referenced this issue Oct 10, 2017
Discussed in #356.

Second edition is now recommended by authors.
petertseng added a commit that referenced this issue Oct 28, 2017
Update all references from first to second edition of Rust book

These are all current we can take for
#356
@petertseng
Copy link
Member

Because of #368, I believe that all actions that can currently be taken have been.

Remaining references:

$ git grep doc.rust-lang.org/book | grep -v second-edition                                                                          
exercises/decimal/.meta/description.md:- You might be able to [derive](https://doc.rust-lang.org/book/first-edition/traits.html#deriving) some of the required traits.
exercises/decimal/README.md:- You might be able to [derive](https://doc.rust-lang.org/book/first-edition/traits.html#deriving) some of the required traits.
exercises/parallel-letter-frequency/HINTS.md:- [Benchmark tests](https://doc.rust-lang.org/book/benchmark-tests.html)
exercises/parallel-letter-frequency/HINTS.md:- [Nightly Rust](https://doc.rust-lang.org/book/nightly-rust.html)
exercises/parallel-letter-frequency/README.md:- [Benchmark tests](https://doc.rust-lang.org/book/benchmark-tests.html)
exercises/parallel-letter-frequency/README.md:- [Nightly Rust](https://doc.rust-lang.org/book/nightly-rust.html)

It was our belief that as of this moment, these links do not have second-edition analogues.

From time to time, it would be appropriate to check whether the the second edition now contains analogues of the designated chapters.

If it still does not, the person who checked should post in this issue saying so.

If it does, the person who checked should create a PR that changes the chapters.

I would advise that there is no need to re-check if someone has posted in the past month, to avoid having too many people check with no result.

@coriolinus
Copy link
Member

$ git grep doc.rust-lang.org/book | grep -v second-edition
exercises/decimal/.meta/description.md:- You might be able to [derive](https://doc.rust-lang.org/book/first-edition/traits.html#deriving) some of the required traits.
exercises/decimal/README.md:- You might be able to [derive](https://doc.rust-lang.org/book/first-edition/traits.html#deriving) some of the required traits.
exercises/macros/.meta/description.md:For further information about macros in Rust, The Rust Book has a [good chapter](https://doc.rust-lang.org/book/first-edition/macros.html) on them.
exercises/macros/README.md:For further information about macros in Rust, The Rust Book has a [good chapter](https://doc.rust-lang.org/book/first-edition/macros.html) on them.
exercises/parallel-letter-frequency/HINTS.md:- [Nightly Rust](https://doc.rust-lang.org/book/first-edition/release-channels.html)
exercises/parallel-letter-frequency/README.md:- [Nightly Rust](https://doc.rust-lang.org/book/first-edition/release-channels.html)

With the addition of the macros exercise, we've actually added to the number of exercises which contain first-edition links. Checking now, I find that no chapters have been added to the second-edition book covering any of these topics.

@petertseng petertseng changed the title Link to first edition of the rust book Replace links to first edition of the Rust book with second edition Mar 4, 2018
@petertseng
Copy link
Member

petertseng commented Apr 6, 2018

ErikSchierboom pushed a commit to ErikSchierboom/rust that referenced this issue Jan 26, 2021
Closes exercism#248

Approached a little different this time now that the core set of concepts start crystallizing. I've taken two reasonably different solutions and extracted applied language components. There's some overlap between some concepts (like `Ordering` and `conditionals`), but I think it's reasonable to touch such concepts in different concept-exercises.
ErikSchierboom pushed a commit to ErikSchierboom/rust that referenced this issue Jan 27, 2021
Closes exercism#248

Approached a little different this time now that the core set of concepts start crystallizing. I've taken two reasonably different solutions and extracted applied language components. There's some overlap between some concepts (like `Ordering` and `conditionals`), but I think it's reasonable to touch such concepts in different concept-exercises.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants