Commit graph

3469 commits

Author SHA1 Message Date
Oliver 'ker' Schneider
3ae71b1b69 the reference was inferring values that didn't fit into their target type 2016-01-13 14:50:04 +01:00
Simonas Kazlauskas
8dd7eabad7 Rollup merge of #30814 - brson:docidx, r=steveklabnik
These are the same descriptions as on the website.

re https://www.reddit.com/r/rust/comments/409nlo/i_just_noticed_the_docs_nightly_all_docs_got_more/cytc4ab

r? @steveklabnik
2016-01-11 21:17:54 +02:00
Simonas Kazlauskas
0b8370c397 Rollup merge of #30812 - D101101:patch-2, r=steveklabnik
r? @steveklabnik
2016-01-11 21:17:53 +02:00
Brian Anderson
bcf20a7cb1 doc: Add descriptions to links in the index
These are the same descriptions as on the website.
2016-01-10 22:30:09 +00:00
Sergey Veselkov
8cc149dbc1 Fix link in getting-started.md 2016-01-11 00:13:54 +03:00
Steve Klabnik
b2e670a7f3 Rollup merge of #30789 - D101101:patch-1, r=steveklabnik 2016-01-09 14:04:20 -05:00
Steve Klabnik
6ba952020f Remove many instances of 'just'
Doing so is considered weaker writing. Thanks @Charlotteis!

Fixes #28810
2016-01-09 14:03:58 -05:00
Sergey Veselkov
31e39cd05c Remove unused link from enums.md 2016-01-09 12:17:44 +03:00
Steve Klabnik
2908385fc7 Rollup merge of #30760 - jonastepe:nomicon_vec_insert_remove_len, r=apasel422
len needs to be prefixed by self for this to work. That is something which trips me up all the time. It's reassuring to see that happening to seasoned Rust programmers.
2016-01-08 13:02:31 -05:00
Steve Klabnik
0b5f7946d8 Rollup merge of #30755 - datagrok:master, r=steveklabnik
I'm working my way through TRPL beginning at "Syntax and Semantics" as was recommended in a previous version.

I'm expecting the chapter to incrementally build up my knowledge of the language section by section, assuming no prior Rust experience. So it was a bit of a speed-bump to encounter references and the vector type in a code example long before they had been defined and explained.

Another commit in this PR tries to make consistent what is a "chapter" of TRPL versus a "section." Just a nit-pick, but not thinking about that stuff keeps my focus on the important material.

My background: Python programmer since ~2000, with moderate exposure to C, C++, assembly, operating systems, and system architecture in university several years ago.

For your kind consideration, feel welcome to use or drop or rework any part of this.
2016-01-08 13:02:31 -05:00
Michael F. Lamb
fcc356373b Remove extraneous [], replace accidental removed link to heap section 2016-01-07 11:44:03 -08:00
jonastepe
a0731008fd len needs to be prefixed by self for this to work. The final code in this section of the book is correct. 2016-01-07 12:13:22 +01:00
Michael F. Lamb
3a6dbb30a2 Be consistent about what is a "chapter" versus a "section" 2016-01-06 16:06:55 -08:00
Michael F. Lamb
936678adb1 Link to section on references when we use the term prior to defining it 2016-01-06 16:06:55 -08:00
Michael F. Lamb
3557e6941d Link to references section when they first appear
In a straight-through read of "Syntax and Semantics," the concept of a
"reference" is used here before it is explained. Mention that and link to
the section explaining references.
2016-01-06 16:06:55 -08:00
Michael F. Lamb
e22ceea1a7 Explain surprising new syntax appearing in example code
In a straight-through read of "Syntax and Semantics," the first time we
meet a generic, and the first time we meet a vector, is when a Vec<T> shows
up in this example. I'm not sure that I could argue that the whole section
should appear later in the book than the ones on vectors and generics, so
instead just give the reader a brief introduction to both and a promise to
follow up later.
2016-01-06 16:06:55 -08:00
Steve Klabnik
e78de13783 Rollup merge of #30735 - jonastepe:nomicon_vec_dealloc_pointer_type, r=steveklabnik
heap::deallocate expects a *mut u8, but here a *mut T is given as the type of the argument. This would not compile. The final code is correct, however.
2016-01-06 18:31:58 -05:00
Steve Klabnik
fcb1ccf8c0 Rollup merge of #30727 - tbu-:pr_doc_escaped_newline, r=steveklabnik
Rust differs in that behavior from C: In C, the newline escapes are resolved
before anything else, and in Rust this depends on whether the backslash is
escaped itself.

A difference can be observed in the following two programs:

```c
int main()
{
	printf("\\
n\n");
	return 0;
}
```

```rust
fn main() {
	println!("\\
n");
}
```

The first program prints two newlines, the second one prints a backslash, a
newline, the latin character n and a final newline.
2016-01-06 18:31:58 -05:00
Steve Klabnik
eb41060ce2 Rollup merge of #30720 - BChip:patch-1, r=steveklabnik
Declare what LIFO stands for
2016-01-06 18:31:57 -05:00
Steve Klabnik
ba41e3c292 Rollup merge of #30699 - steveklabnik:gh30254, r=apasel422
Fixes #30254
2016-01-06 18:31:57 -05:00
Steve Klabnik
4c90f5dc9f Rollup merge of #30683 - LawrenceWoodman:patch-1, r=steveklabnik
I noticed the alignment was off in the error handling part of the book.  This was caused because two tabs had crept into the file.  I have changed these for spaces.
2016-01-06 18:31:56 -05:00
jonastepe
eb30c661c0 heap::deallocate expects a *mut u8 but here a *mut T is given. The final code is correct, the example here would not compile without the cast. I used *mut _ instead of *mut u8 to be consistent with the final code. 2016-01-06 12:13:47 +01:00
Tobias Bucher
ce6baa77fe Clarify how Rust treats backslashes at end of line in string literals
Rust differs in that behavior from C: In C, the newline escapes are resolved
before anything else, and in Rust this depends on whether the backslash is
escaped itself.

A difference can be observed in the following two programs:

```c
#include <stdio.h>
int main()
{
	printf("\\
n\n");
	return 0;
}
```

```rust
fn main() {
	println!("\\
n");
}
```

The first program prints two newlines, the second one prints a backslash, a
newline, the latin character n and a final newline.
2016-01-06 00:04:25 +01:00
BChip
7d6d39bcd9 Clarify What LIFO Is
Declare what LIFO stands for
2016-01-05 15:32:54 -05:00
bors
803c3e2ee8 Auto merge of #30595 - steveklabnik:remove_learn_rust, r=gankro
Some history:

While getting Rust to 1.0, it was a struggle to keep the book in a
working state. I had always wanted a certain kind of TOC, but couldn't
quite get it there.

At the 11th hour, I wrote up "Rust inside other langauges" and "Dining
Philosophers" in an attempt to get the book in the direction I wanted to
go. They were fine, but not my best work. I wanted to further expand
this section, but it's just never going to end up happening. We're doing
the second draft of the book now, and these sections are basically gone
already.

Here's the issues with these two sections, and removing them just fixes
it all:

// Philosophers

There was always controversy over which ones were chosen, and why. This
is kind of a perpetual bikeshed, but it comes up every once in a while.

The implementation was originally supposed to show off channels, but
never did, due to time constraints. Months later, I still haven't
re-written it to use them.

People get different results and assume that means they're wrong, rather
than the non-determinism inherent in concurrency. Platform differences
aggrivate this, as does the exact amount of sleeping and printing.

// Rust Inside Other Languages

This section is wonderful, and shows off a strength of Rust. However,
it's not clear what qualifies a language to be in this section. And I'm
not sure how tracking a ton of other languages is gonna work, into the
future; we can't test _anything_ in this section, so it's prone to
bitrot.

By removing this section, and making the Guessing Game an initial
tutorial, we will move this version of the book closer to the future
version, and just eliminate all of these questions.

In addition, this also solves the 'split-brained'-ness of having two
paths, which has endlessly confused people in the past.

I'm sad to see these sections go, but I think it's for the best.

Fixes #30471
Fixes #30163
Fixes #30162
Fixes #25488
Fixes #30345
Fixes #29590
Fixes #28713
Fixes #28915

And probably others. This lengthy list alone is enough to show that
these should have been removed.

RIP.
2016-01-05 03:32:12 +00:00
Steve Klabnik
723ead6c9c Mention that structs can contain &mut Ts
Fixes #30254
2016-01-04 14:06:54 -05:00
Lawrence Woodman
0c3d6b46ac Add missing use statements
fs::File was being referenced without either calling via std::fs::File or by using File after having used fs::File.  Also Path was being referenced without first having used std::path::Path.
2016-01-04 07:21:48 +00:00
Lawrence Woodman
e5a846e90e Correct formatting use of tab instead of spaces 2016-01-03 08:15:24 +00:00
Steve Klabnik
a73df6bf24 Rollup merge of #30620 - salty-horse:an_mut, r=brson
As discussed in issue #30568.
2015-12-30 09:24:24 -05:00
Steve Klabnik
f37e69ebb0 Rollup merge of #30502 - Luke-Nukem:master, r=steveklabnik
Rewrite of a paragraph in in the `match` section.

The colon `:` should be used only when the sentence preceeding it is a
complete sentence. If this is not the case, then a `;` should be used;
this denotes that the following fragment is a part of the previous
fragment.

I got a new bike; it has two wheels. (Similar to I got a new bike, it has two wheels)
The ice cream truck has great flavours; blueberry, blackberry, berryberry.

Writing a complete sentence:
- with a list under it
- You can join two sentences with it: Much like this.

r? @steveklabnik
2015-12-30 09:24:24 -05:00
Ori Avtalion
e8e649239c book: Replace "an &mut" with "a mut". Fixes #30568 2015-12-29 23:13:23 +02:00
Steve Klabnik
ccaa7e5146 Rollup merge of #30405 - durka:patch-12, r=steveklabnik
Fixes #30217.
2015-12-29 15:55:09 -05:00
Steve Klabnik
0c6c34de87 Remove "Learn Rust" from TRPL.
Some history:

While getting Rust to 1.0, it was a struggle to keep the book in a
working state. I had always wanted a certain kind of TOC, but couldn't
quite get it there.

At the 11th hour, I wrote up "Rust inside other langauges" and "Dining
Philosophers" in an attempt to get the book in the direction I wanted to
go. They were fine, but not my best work. I wanted to further expand
this section, but it's just never going to end up happening. We're doing
the second draft of the book now, and these sections are basically gone
already.

Here's the issues with these two sections, and removing them just fixes
it all:

// Philosophers

There was always controversy over which ones were chosen, and why. This
is kind of a perpetual bikeshed, but it comes up every once in a while.

The implementation was originally supposed to show off channels, but
never did, due to time constraints. Months later, I still haven't
re-written it to use them.

People get different results and assume that means they're wrong, rather
than the non-determinism inherent in concurrency. Platform differences
aggrivate this, as does the exact amount of sleeping and printing.

// Rust Inside Other Languages

This section is wonderful, and shows off a strength of Rust. However,
it's not clear what qualifies a language to be in this section. And I'm
not sure how tracking a ton of other languages is gonna work, into the
future; we can't test _anything_ in this section, so it's prone to
bitrot.

By removing this section, and making the Guessing Game an initial
tutorial, we will move this version of the book closer to the future
version, and just eliminate all of these questions.

In addition, this also solves the 'split-brained'-ness of having two
paths, which has endlessly confused people in the past.

I'm sad to see these sections go, but I think it's for the best.

Fixes #30471
Fixes #30163
Fixes #30162
Fixes #25488
Fixes #30345
Fixes #28713
Fixes #28915

And probably others. This lengthy list alone is enough to show that
these should have been removed.

RIP.
2015-12-29 10:58:31 -05:00
bors
ded10f4313 Auto merge of #30575 - jswalden:error-handling-typo, r=apasel422
Didn't build/test the change, but if that one-character fix isn't correct, I'll eat my hat.  :-)  Found this reading the book over the last week or two since Mozlando -- much enjoying the book so far.
2015-12-27 19:50:09 +00:00
Jeff Walden
68c0f024cf Change the typo 'that' to 'than' in the book error-handling chapter. 2015-12-27 00:24:45 -06:00
Ori Avtalion
d6d949a62a book: Fix typo 2015-12-26 22:29:02 +02:00
Manish Goregaokar
288a7e52ee Rollup merge of #30545 - bluss:operator-overload, r=steveklabnik
book: Some operator fixes for the syntax index

- Correct the names of the comparison traits (PartialOrd)
- Mention only the traits that overload the operator (PartialOrd,
  PartialEq), not operator-unrelated traits (Ord, Eq).
- Add `!=` operator.
2015-12-25 18:39:56 +05:30
Ulrik Sverdrup
1b438314a0 book: Some operator fixes for the syntax index
- Correct the names of the comparison traits (PartialOrd)
- Mention only the traits that overload the operator (PartialOrd,
  PartialEq), not operator-unrelated traits (Ord, Eq).
- Add `!=` operator.
2015-12-24 00:41:10 +01:00
Steve Klabnik
944b337c95 Rollup merge of #30543 - brson:doc, r=steveklabnik
The website will [shortly](https://github.com/rust-lang/rust-www/pull/241) provide the main documentation landing page as well as the [FAQ](https://github.com/rust-lang/rust-www/issues/202). All of the content here will be there.

This strips out everything and makes the index *just* an index into the in-tree content. My only real qualm with this is that this will become the content on doc.rust-lang.org (a sweet URL), while the main documentation page will be www.rust-lang.org/documentation.html.

r? @steveklabnik
2015-12-23 18:09:12 -05:00
Steve Klabnik
cc2731222b Rollup merge of #30473 - nwin:patch-2, r=steveklabnik
Clarify the difference between compiler-panic and libcore-panic.
2015-12-23 18:09:11 -05:00
Steve Klabnik
884021b79a Rollup merge of #30461 - lnmx:doc-typo, r=steveklabnik 2015-12-23 18:09:11 -05:00
Brian Anderson
9e99a27907 Strip the documentation index down to the essentials.
The main documentation page is now www.rust-lang.org/documentation.html
2015-12-23 14:15:13 -08:00
Brian Anderson
6c65cc1f8f Remove links to out-of-tree docs 2015-12-23 14:04:43 -08:00
Brian Anderson
2f3c472d10 Remove the FAQs in favor of the website 2015-12-23 14:03:45 -08:00
bors
da4a21e91a Auto merge of #30400 - fbergr:master, r=steveklabnik
See: https://github.com/rust-lang/rust/issues/30397

r? @steveklabnik
2015-12-21 06:02:13 +00:00
Luke Jones
1522350ecc Revert to colon. The text is introducing a list. 2015-12-21 16:24:17 +13:00
Luke Jones
1bb131cdca Update patterns.md 2015-12-21 16:20:56 +13:00
Luke Jones
fc4bb5f770 Correct line wrap 2015-12-21 16:20:20 +13:00
Luke Jones
981ac6d332 Rewrite paragraph in 'match' to be more concise and readable. Start
correcting use of ':' in sentences.
The colon `:` should be used only when the sentence preceeding it is a
complete sentence. If this is not the case, then a `;` should be used;
this denotes that the following fragment is a part of the previous
fragment.
2015-12-21 09:53:07 +13:00
nwin
aacdfb8a2a Update no-stdlib.md
Clarify the difference between compiler-panic and libcore-panic.
2015-12-19 09:19:05 +01:00