516 Commits

Author SHA1 Message Date
Steve Klabnik
f8df5ea8a7 Rollup merge of #25282 - badboy:reference-macro-1, r=alexcrichton
As mentioned in https://github.com/rust-lang/rust/issues/16676#issuecomment-100676326 this makes it a little bit more correct.

I'm a bit unsure whether or not it should be explained that the transcriber can be wrapped in parentheses or curly braces if necessary.
2015-05-11 23:24:18 -04:00
Steve Klabnik
dd7d0f5e9c Fix links in the referece
and remove references to the unit type, which no longer exists

Fixes #24999
2015-05-11 12:49:17 -04:00
Manish Goregaokar
dec422541b Rollup merge of #25291 - johannhof:let-expressions-example, r=steveklabnik
Maybe it's me, but I really needed an example to understand if let and refutable statements.
Playpen: http://is.gd/mjX3Gf

Let me know if the variable names are too, uh, culinary.
2015-05-11 19:58:57 +05:30
Manish Goregaokar
f2c2736cd8 Rollup merge of #25290 - bluss:docfixes, r=steveklabnik
Several Minor API / Reference Documentation Fixes

- Fix a few small errors in the reference.
- Fix paper cuts in the API docs.

Fixes #24882
Fixes #25233
Fixes #25250
2015-05-11 19:58:57 +05:30
Ulrik Sverdrup
12d50b2da0 docs: Fixes in Reference Chapter 6.1 2015-05-11 03:41:54 +02:00
Johann
6a19046423 Four spaces indent, rephrasing 2015-05-11 02:40:02 +02:00
Johann Hofmann
770f0e95a1 Add if let expressions example 2015-05-11 02:03:37 +02:00
Johann Hofmann
295b62dfb9 Docs: Compile-time bounds check in index expression
The reference was claiming all vectors all bounds-checked at run-time, when constant vectors are usually checked at compile-time.

For the changed example see http://is.gd/28ak9E
2015-05-11 01:22:57 +02:00
Jan-Erik Rediger
f11c4ba30c Remove extra parentheses 2015-05-10 23:22:00 +02:00
Nick Hamann
7984074e25 Convert #[lang=".."] to #[lang = ".."] for docs too. 2015-05-09 16:08:02 -05:00
Manish Goregaokar
ac478ecb50 Rollup merge of #25216 - barosl:no-more-task, r=Manishearth
I've found that there are still huge amounts of occurrences of `task`s in the documentation. This PR tries to eliminate all of them in favor of `thread`.
2015-05-09 18:40:19 +05:30
Carol Nichols
bf06163ea7 Remove references to deprecated extern crate "foo" as bar syntax
This syntax was removed in b24a3b8 but references remained in the
grammar, the reference, rustdoc generation, and some auxiliary test
files that don't seem to have been used since 812637e.
2015-05-08 20:48:54 -04:00
Barosl Lee
ff332b6467 Squeeze the last bits of tasks in documentation in favor of thread
An automated script was run against the `.rs` and `.md` files,
subsituting every occurrence of `task` with `thread`. In the `.rs`
files, only the texts in the comment blocks were affected.
2015-05-09 02:24:18 +09:00
Steve Klabnik
76bbb3237c Rollup merge of #25052 - jooert:misc_attr_reference, r=steveklabnik
Unsafe destructors were removed, added remarks about needed feature gates.

cc #16676 
r? @steveklabnik
2015-05-07 12:21:02 +02:00
Jake Goulding
7826711dcb Clean up the grammar around the inline attribute 2015-05-03 17:52:11 -04:00
Johannes Oertel
685a6f7086 Update "Miscellaneous attributes" section of reference manual 2015-05-02 12:44:57 +02:00
Manish Goregaokar
d3b7c5258f Rollup merge of #24992 - steveklabnik:gh24730, r=alexcrichton
Fixes #24730

r? @alexcrichton
2015-05-01 20:20:20 +05:30
Manish Goregaokar
70020aa066 Rollup merge of #24981 - carols10cents:remove-more-priv, r=alexcrichton
Hi! While researching stuff for the reference and the grammar, I came across a few mentions of using the `priv` keyword that was removed in 0.11.0 (#13547, #8122, rust-lang/rfcs#26, [RFC 0026](https://github.com/rust-lang/rfcs/blob/master/text/0026-remove-priv.md)).

One occurrence is a mention in the reference, a few are in comments, and a few are marking test functions. I left the test that makes sure you can't name an ident `priv` since it's still a reserved keyword. I did a little grepping around for `priv `, priv in backticks, `Private` etc and I think the remaining instances are fine, but if anyone knows anywhere in particular I should check for any other lingering mentions of `priv`, please let me know and I would be happy to! 🍂 🌊
2015-05-01 20:20:18 +05:30
Steve Klabnik
8c38dfd537 Describe (a,) vs (a) in docs
Fixes #24730
2015-04-30 15:10:58 -04:00
bors
2568a4d8c5 Auto merge of #24924 - carols10cents:grammar-improvements, r=pnkfelix
I'm interested in helping out with #16676 but more in the grammar than the reference-- here's my first chunk, more to come!! 🎉 

I did pull a bit *out* of the reference, though, that was more relevant to the grammar but wasn't moved over as part of #24729.

I'm looking at, e.g. https://github.com/rust-lang/rust/blob/master/src/libsyntax/ast.rs, as the source of truth, please let me know if I should be checking against something else instead/in addition.

r? @steveklabnik
2015-04-30 17:07:14 +00:00
Carol Nichols
899d4180ef Remove lingering mention of 'priv' in the reference 2015-04-29 22:43:26 -04:00
Alex Crichton
a24e036126 rollup merge of #24871: mbrubeck/doc-edit
r? @steveklabnik
2015-04-29 15:45:40 -07:00
Alex Crichton
18a0269d9d rollup merge of #24870: tshepang/reference-fix-brackets
Also, remove the other brackets, because they make the whole sentence look awkward.
2015-04-29 15:45:39 -07:00
Carol Nichols
0ddee94cfe Move explanation that references lexical grammar to the grammar
Reword so that the references to things above/below are up to date and a
bit more specific.
2015-04-28 22:02:53 -04:00
bors
857ef6e272 Auto merge of #23606 - quantheory:associated_const, r=nikomatsakis
Closes #17841.

The majority of the work should be done, e.g. trait and inherent impls, different forms of UFCS syntax, defaults, and cross-crate usage. It's probably enough to replace the constants in `f32`, `i8`, and so on, or close to good enough.

There is still some significant functionality missing from this commit:

 - ~~Associated consts can't be used in match patterns at all. This is simply because I haven't updated the relevant bits in the parser or `resolve`, but it's *probably* not hard to get working.~~
 - Since you can't select an impl for trait-associated consts until partway through type-checking, there are some problems with code that assumes that you can check constants earlier. Associated consts that are not in inherent impls cause ICEs if you try to use them in array sizes or match ranges. For similar reasons, `check_static_recursion` doesn't check them properly, so the stack goes ka-blooey if you use an associated constant that's recursively defined. That's a bit trickier to solve; I'm not entirely sure what the best approach is yet.
 - Dealing with consts associated with type parameters will raise some new issues (e.g. if you have a `T: Int` type parameter and want to use `<T>::ZERO`). See rust-lang/rfcs#865.
 - ~~Unused associated consts don't seem to trigger the `dead_code` lint when they should. Probably easy to fix.~~

Also, this is the first time I've been spelunking in rustc to such a large extent, so I've probably done some silly things in a couple of places.
2015-04-27 16:45:21 +00:00
Matt Brubeck
d8797b090f [reference] Fix a typo in 3.4 Whitespace 2015-04-27 09:31:49 -07:00
Tshepang Lekhonkhobe
f6c673e9f0 reference: add missing bracket
Also, remove the other brackets, because they make the whole sentence
look awkward.
2015-04-27 16:53:25 +02:00
Steve Klabnik
1b18da4a46 Rollup merge of #24867 - tshepang:patch-3, r=steveklabnik 2015-04-27 10:26:20 -04:00
Tshepang Lekhonkhobe
14a6a9f5e2 reference: block-comment -> block comment 2015-04-27 15:42:46 +02:00
Diggory Hardy
cf650a2174 Update reference.md: floating-point section
Clarify type inference of floating-point literals
2015-04-27 12:24:47 +01:00
Diggory Hardy
709f3c5130 Update reference.md: string literals section
Remove the name "multi-line string literal" since the rule appears to affect each line-break individually rather than the whole string literal. Re-word, and remove the stray reference to raw strings.
2015-04-27 11:39:42 +01:00
Robin Kruppe
0ea193def9 Reference audit: comments and whitespace sections 2015-04-26 02:02:13 +02:00
Robin Kruppe
85ee89ae70 Redo PR #24811 properly
Transplant the grammar-related changes to grammar.md,
and remove all grammar talk from reference.md
2015-04-25 22:56:00 +02:00
Manish Goregaokar
007c81b83d Rollup merge of #24811 - rkruppe:reference-audit, r=steveklabnik
Mention `non_ascii_idents` feature gate and remove unused productions.

r? @steveklabnik
2015-04-25 21:18:47 +05:30
Manish Goregaokar
23782ad9a8 Rollup merge of #24809 - conradkleinespel:master, r=Manishearth
The reference has broken links. This should fix it.
2015-04-25 21:18:47 +05:30
Robin Kruppe
702f17566c Audit reference manual: 3.2 Special unicode productions
Mention non_ascii_idents feature gate and remove unused productions
2015-04-25 14:38:23 +02:00
Conrad Kleinespel
b66f858e8f fix compiler plugins path in doc/reference.md 2015-04-25 13:43:26 +02:00
Skyler
b6dd0197f3 Reference manual 3.5.2.3.1
The description of the syntax for single byte literals is missing the preceding `b` distinction.
2015-04-24 23:26:56 -07:00
Michael Rosenberg
23b1d172a8 More small syntax changes in reference.md 2015-04-24 22:56:32 -04:00
Steve Klabnik
c7279b4214 Rollup merge of #24775 - mbrubeck:reference, r=steveklabnik
Update 7.2.20 (`for` expressions):

* `for` loops now use `IntoIterator` instead of just `Iterator`
* Simplify the example by removing unnecessary `Vec::iter` call.

...and a fix for a minor formatting error.

r? @steveklabnik
2015-04-24 22:54:27 -04:00
Steve Klabnik
120065e7f2 Rollup merge of #24766 - nwin:patch-1, r=steveklabnik
Changed in #22838.

audited (raw) byte string literals @ #16676
2015-04-24 22:54:26 -04:00
mdinger
7089c5e79c Remove keywords from reference because they're already in grammar 2015-04-24 16:50:23 -04:00
mdinger
8cf255268c Remove ebnf from reference 2015-04-24 16:50:22 -04:00
Matt Brubeck
331821e3a0 [reference] Update 7.2.20: For expressions.
* `for` loops now use `IntoIterator` instead of just `Iterator`
* Simplify the example by removing unnecessary `Vec::iter` call.
2015-04-24 09:24:53 -07:00
Matt Brubeck
7972fbb735 [reference] Fix missing formatting. 2015-04-24 09:24:53 -07:00
bors
714bd493c7 Auto merge of #24744 - bluss:reference-1, r=steveklabnik
Audit & Edit Chapter 8.1 Types in reference manual

- Remove mention of unit type
- Update closure types and reference types sections
- Fix minor typos
2015-04-24 15:48:35 +00:00
Ulrik Sverdrup
b22ea2db9c reference: Audit & Edit chapter 8.1 Types.
- Remove mention of unit type
- Update closure types and reference types sections
- Fix minor typos
2015-04-24 16:55:57 +02:00
Manish Goregaokar
1447ee4c20 Rollup merge of #24727 - rkruppe:reference-audit, r=steveklabnik
It was in pretty good shape, but since that is my pet peeve, I clarified the compiler/interpreter distinction and why it is irrelevant for this section. Otherwise only a couple of minor clarifications, and weasel words where reality is more complicated than the text accounted for (e.g., there is more than one kind of library).

r? @steveklabnik
2015-04-24 19:21:14 +05:30
Manish Goregaokar
0c1df5dadf Rollup merge of #24721 - vosen:patch-1, r=steveklabnik
`us` and `is` were replaced with `usize` and `isize` some time ago. Other than that, 3.5.2.1.5 is correct.
2015-04-24 19:21:14 +05:30
nwin
38c3b62e83 Byte string literals are now fixed-size arrays
Changed in #22838.

audited (raw) byte string literals @ #16676
2015-04-24 11:12:53 +02:00