Commit Graph

1264 Commits

Author SHA1 Message Date
Alex Crichton
6939e4f58c rollup merge of #19307: steveklabnik/gh19199
Fixes #19199
2014-11-26 16:49:49 -08:00
Alex Crichton
ea4944233e rollup merge of #19304: steveklabnik/gh19302
Fixes #19302.

Also made a minor cosmetic change to bring the example in line with style guidelines.
2014-11-26 16:49:49 -08:00
Alex Crichton
b095eb1720 rollup merge of #19300: killercup/patch-1
Just saw this when looking at #19297 and couldn't find an issue/PR dealing with this. #18773 seems to have missed this file.

Compiler output is generated [here](770378a313/src/librustc_trans/driver/mod.rs (L466)).

cc @steveklabnik
2014-11-26 16:49:48 -08:00
Steve Klabnik
e2fe7a083e Lifetime guide -> ownership guide 2014-11-26 15:03:12 -05:00
Steven Fackler
348cc9418a Remove special casing for some meta attributes
Descriptions and licenses are handled by Cargo now, so there's no reason
to keep these attributes around.
2014-11-26 11:44:45 -08:00
Andrew Paseltiner
b7520f595f fix errors in the guide
- `s/(left|right) hand/\1-hand/`
- `s/parenthesis/parentheses/`
- `s/unicode/Unicode/`
- `s/validly-encoded/validly encoded/`
2014-11-26 08:41:40 -05:00
Ulysse Carion
6cb03baffa Fix formatting of the pointers guide. 2014-11-25 16:32:53 -08:00
Steve Klabnik
55853c532f We now support 64 bit Windows.
Fixes #18844
2014-11-25 11:43:05 -05:00
Steve Klabnik
8369a607ed add slice patterns to the guide
Fixes #19177.
2014-11-25 11:37:20 -05:00
Steve Klabnik
72beb1f885 Extra note about struct matching order
Fixes #19178
2014-11-25 11:31:49 -05:00
Steve Klabnik
d7b29a6ccd Make note that examples need a main()
Fixes #19199
2014-11-25 11:18:39 -05:00
Steve Klabnik
71b8b04f48 Make note about cross-borrowing.
Fixes #19302.
2014-11-25 10:57:17 -05:00
Pascal Hertleif
96880be0e3 Change 'Failure' to 'Panic' in Bug Report Docs 2014-11-25 13:20:47 +01:00
bors
2264049577 auto merge of #19172 : alfie/rust/impl-traitless, r=steveklabnik
An example of how implementations work without traits would be handy
2014-11-25 11:46:39 +00:00
bors
e197a2b0ac auto merge of #18140 : JelteF/rust-1/guide-fix, r=cmr
The reason given didn't make any sense when I read it when reading through the docs. I think this is more clear. Please let me know it is also more correct.
2014-11-23 13:51:47 +00:00
Jelte Fennema
17f9de387a Fix the reason for calling a file lib.rs 2014-11-23 14:43:22 +01:00
bors
ccc4a7cebc auto merge of #19136 : alfie/rust/master, r=steveklabnik
An example of how type definitions work would be handy
2014-11-22 22:36:40 +00:00
Alfie John
93ba558588 doc: adding example for implementations without traits 2014-11-21 04:43:07 +00:00
bors
c9f6d69642 auto merge of #18967 : aturon/rust/remove-runtime, r=alexcrichton
This PR completes the removal of the runtime system and green-threaded abstractions as part of implementing [RFC 230](https://github.com/rust-lang/rfcs/pull/230).

Specifically:

* It removes the `Runtime` trait, welding the scheduling infrastructure directly to native threads.

* It removes `libgreen` and `libnative` entirely.

* It rewrites `sync::mutex` as a trivial layer on top of native mutexes. Eventually, the two modules will be merged.

* It hides the vast majority of `std::rt`.

This completes the basic task of removing the runtime system (I/O and scheduling) and components that depend on it. 

After this lands, a follow-up PR will pull the `rustrt` crate back into `std`, turn `std::task` into `std::thread` (with API changes to go along with it), and completely cut out the remaining startup/teardown sequence. Other changes, including new [TLS](https://github.com/rust-lang/rfcs/pull/461) and synchronization are in the RFC or pre-RFC phase.

Closes #17325
Closes #18687

[breaking-change]

r? @alexcrichton
2014-11-21 03:41:45 +00:00
Aaron Turon
40c78ab037 Fallout from libgreen and libnative removal 2014-11-20 17:19:24 -08:00
mdinger
16bb4e6400 Add examples for all literal types in reference grouped together 2014-11-20 16:05:33 -05:00
Alfie John
e87894ef04 doc: adding example for type definitions 2014-11-20 09:44:57 +00:00
bors
dd5ce5ae2f auto merge of #19105 : alfie/rust/master, r=thestinger
As discussed in pull #19068, trying to make the wording more clear for unsafe code vs undefined behavior.
2014-11-20 06:11:36 +00:00
Jakub Bukaj
ee66c84165 Fixes to the roll-up 2014-11-19 23:34:01 +01:00
Jakub Bukaj
1b8ee82b54 rollup merge of #19107: cakebaker/change_an_box_to_a_box 2014-11-19 22:41:24 +01:00
Jakub Bukaj
f71b852d38 rollup merge of #19103: huonw/literal-suffixes
Futureproof Rust for fancier suffixed literals. The Rust compiler tokenises a literal followed immediately (no whitespace) by an identifier as a single token: (for example) the text sequences `"foo"bar`, `1baz` and `1u1024` are now a single token rather than the pairs `"foo"` `bar`, `1` `baz` and `1u` `1024` respectively.

The compiler rejects all such suffixes in the parser, except for the 12 numeric suffixes we have now.

I'm fairly sure this will affect very few programs, since it's not currently legal to have `<literal><identifier>` in a Rust program, except in a macro invocation. Any macro invocation relying on this behaviour can simply separate the two tokens with whitespace: `foo!("bar"baz)` becomes `foo!("bar" baz)`.

This implements [RFC 463](https://github.com/rust-lang/rfcs/blob/master/text/0463-future-proof-literal-suffixes.md), and so closes https://github.com/rust-lang/rust/issues/19088.
2014-11-19 22:41:05 +01:00
Jakub Bukaj
8997b098d3 rollup merge of #19072: cakebaker/add_missing_dot 2014-11-19 22:39:06 +01:00
Jakub Bukaj
384f611aa9 rollup merge of #18968: danluu/guide_play
As-is, there's no indication that the code examples pop out into a window that runs on `play.rust-lang.org` until you mouse over them. I managed to get to section 4 of the guide before realizing you could do this since it didn't occur to me to mouse over the example text.

cc @rose since we went through the tutorial together and I think it wasn't obvious to her either.
2014-11-19 22:37:18 +01:00
Jakub Bukaj
cbdaf2ebc7 rollup merge of #18903: steveklabnik/error_handling_guide
Now that we've done `fail` -> `panic`, I feel bringing back the error handling guide is a good idea. We had one long ago, but it was removed when conditions were removed.

This doesn't cover the new FromError stuff, but I feel like it's already useful in this state, so I'm sending this PR now.
2014-11-19 22:37:07 +01:00
Daniel Hofstetter
ebe812f0c6 Reference: Change "an box" to "a box" 2014-11-19 15:11:09 +01:00
Huon Wilson
a11078f8c3 Update documentation for literal suffixes.
This changes the stated grammar of literals to move all suffixes into
the generic literal production.
2014-11-20 00:03:21 +11:00
Alfie John
e0b0c83138 doc: clarifying unsafe code vs undefined behavior 2014-11-19 12:43:13 +00:00
Daniel Micay
210e059750 clearly define int and uint to fix unsoundness
This fixes the gap in the language definition causing #18726 by defining
a clear bound on the maximum size for libraries to enforce.

Closes #18069
2014-11-19 05:17:56 -05:00
Steve Klabnik
16b9f67bf3 Error handling guide 2014-11-18 19:30:05 -05:00
Steve Klabnik
0e6d97aab2 New guide: error handling 2014-11-18 12:56:55 -05:00
Niko Matsakis
56ba260749 Update test for equivalency to include region binders in object types, add new tests relating to HRTB, consolidate the unboxed_closures and overloaded_calls feature gates. 2014-11-18 12:32:38 -05:00
Niko Matsakis
058abcc209 Place parenthetical notation under the unboxed_closure feature-gate.
Consolidate the `unboxed_closure_sugar` and `unboxed_closure` feature gates.
2014-11-18 12:26:04 -05:00
Daniel Hofstetter
2aa241d76f Reference: Add missing third dot of range 2014-11-18 15:14:34 +01:00
Jakub Bukaj
f3759dd2b6 rollup merge of #19026: alfie/doc-fixes
Updated all the adjacent character literals in the BCNF that cannot have an optional space between them
2014-11-18 00:24:06 +01:00
Steven Fackler
3dcd215740 Switch to purely namespaced enums
This breaks code that referred to variant names in the same namespace as
their enum. Reexport the variants in the old location or alter code to
refer to the new locations:

```
pub enum Foo {
    A,
    B
}

fn main() {
    let a = A;
}
```
=>
```
pub use self::Foo::{A, B};

pub enum Foo {
    A,
    B
}

fn main() {
    let a = A;
}
```
or
```
pub enum Foo {
    A,
    B
}

fn main() {
    let a = Foo::A;
}
```

[breaking-change]
2014-11-17 07:35:51 -08:00
Nick Cameron
ca08540a00 Fix fallout from coercion removal 2014-11-17 22:41:33 +13:00
Alfie John
9a5237d7ae doc: extend a893397 to make whole document consistent 2014-11-17 05:15:24 +00:00
bors
245c7fbef5 auto merge of #18995 : alfie/rust/comment-docs, r=aturon
Start comment is a string literal while end comment is made up of two character literals. This change is to make them consistent.
2014-11-16 20:32:12 +00:00
Jakub Bukaj
c425ed2a8d Update the reference 2014-11-16 14:23:15 +01:00
Jakub Bukaj
b22afe9ee7 rollup merge of #18990: alfie/master 2014-11-16 10:22:43 +01:00
Jakub Bukaj
a9f9e80de5 rollup merge of #18989: alex/fix-typos 2014-11-16 10:22:35 +01:00
Jakub Bukaj
4c30cb2564 rollup merge of #18976: bjz/rfc369-numerics 2014-11-16 10:21:42 +01:00
Jakub Bukaj
ecf765d97b rollup merge of #18933: IanConnolly/doc-fake-rust 2014-11-16 10:19:22 +01:00
Alfie John
a8933973f9 doc: make end comment consistent with start comment 2014-11-16 04:12:43 +00:00
Brendan Zabarauskas
29bc9c632e Move FromStr to core::str 2014-11-16 12:41:55 +11:00
Alfie John
c5232615b6 doc: small grammar fix 2014-11-15 23:17:36 +00:00
Alex Gaynor
e94cd40f7e Fixed several typos 2014-11-15 15:00:47 -08:00
bors
7e43f419cb auto merge of #18924 : cakebaker/rust/fix_list, r=steveklabnik 2014-11-15 13:22:24 +00:00
bors
bc0b6120c1 auto merge of #18901 : steveklabnik/rust/quickfix, r=alexcrichton
Small copy/paste error from the crates guide.
2014-11-15 07:12:27 +00:00
Dan Luu
0f11eb5479 Guide: add a pointer to play.rust-lang.org and explain how to run the code examples. 2014-11-14 22:16:25 -06:00
Ian Connolly
769d49a8b7 Don't use rust keyword for fake code 2014-11-13 19:52:08 +00:00
Daniel Hofstetter
e8056a452f Reference: Fix list in Expressions section 2014-11-13 16:05:07 +01:00
Brendan Zabarauskas
e965ba85ca Remove lots of numeric traits from the preludes
Num, NumCast, Unsigned, Float, Primitive and Int have been removed.
2014-11-13 03:46:03 +11:00
Steve Klabnik
607eb12ab7 Fix po4a.conf 2014-11-12 11:34:00 -05:00
Jeff Parsons
2df9a085bd Rogue 'panic' -> 'fail' in guide.
Should refer to handling panicking tasks like any other computation
that may _fail_, not any other computation that may _panic_.
2014-11-10 21:20:11 +11:00
bors
efc9a441b9 auto merge of #18762 : mdinger/rust/str_coerce, r=steveklbanik
I had slight confusion when using this as a reference and was told it was imprecise. Most of the rewording was suggested by @huonw.

cc @steveklabnik
2014-11-09 17:06:45 +00:00
mdinger
c39e9f3437 Reword &str coercion into viewing 2014-11-08 00:46:11 -05:00
Carol Nichols
fc47dd9c0f Prepend should be append in the 30 minute intro
The examples are about adding to the end of the array, not the
beginning.
2014-11-07 14:59:42 -05:00
Alex Crichton
3c81f33ada rollup merge of #18708 : qwitwa/master 2014-11-06 13:53:26 -08:00
Alex Crichton
0047b84a00 rollup merge of #18696 : tshakah/patch-1 2014-11-06 13:53:26 -08:00
Alex Crichton
fcfd307493 rollup merge of #18373 : steveklabnik/gh18288 2014-11-06 13:30:10 -08:00
qwitwa
31ce92d910 14.3 - helpfully implied code sample is broken
As a new user, I spent a while confused when flycheck told me the code sample I'd typed in was invalid. I ended up figuring out some of what comes after the code sample more painfully by myself because there was no indication that it was broken in the text beforehand. This one line change makes it clear that the code following it is an experiment that may not work rather than something to assume just works.
2014-11-06 19:25:00 +00:00
tshakah
00ae767609 Update guide.md
Corrected singular/plural reference to enums
2014-11-06 15:19:00 +00:00
Steve Klabnik
d108613ba0 expand description of the link attribute
Fixes #18288
2014-11-06 10:13:29 -05:00
Niko Matsakis
63718792df Update the guide examples and try not to leave user hanging as to what
this `&x` sigil is all about.
2014-11-05 11:29:15 -05:00
bors
ceeac26de8 auto merge of #18338 : chastell/rust/guide_pointer_fixes, r=alexcrichton
This removes some leftover line-numbering cruft from elided error examples and brings some minor clarifications.

I’m not super happy about the ‘we cannot have two mutable pointers that point to the same memory’ wording (to the best of my understanding we can’t even have one mutable and one immutable), but other attempts to word this were derailing the flow a bit too much.
2014-11-04 21:26:23 +00:00
bors
bb70ee56db auto merge of #18528 : seanjensengrey/rust/doc-18498, r=brson
This addresses https://github.com/rust-lang/rust/issues/18498 by adding a prepopulated search box to do site search on `doc.rust-lang.org` using duckduckgo AND generating a search url against the rust documentation using the internal search facilities.

* https://duckduckgo.com/?q=type+Option+unwrap_or_else+site%3Adoc.rust-lang.org
* http://doc.rust-lang.org/core/?search=unwrap_or_else
2014-11-04 18:46:19 +00:00
Piotr Szotkowski
9be04d574a Guide: drop line-number cruft from elided error examples 2014-11-04 19:39:12 +01:00
Piotr Szotkowski
c7182ba997 Guide: minor clarifications for the Pointers part 2014-11-04 19:39:12 +01:00
bors
1b2ad7831f auto merge of #18497 : gamazeps/rust/enumsmatch, r=steveklabnik
Closes #18169
2014-11-04 16:16:28 +00:00
gamazeps
dc7c8da74b Guide: explains the enum/match relationship
Closes #18169
2014-11-04 13:47:53 +01:00
Alex Crichton
1b363f08e1 rollup merge of #18572 : cakebaker/small_doc_changes 2014-11-03 15:56:00 -08:00
Alex Crichton
fff2b35a6e rollup merge of #18355 : chastell/guide_iterators_macros_unsafe_fixes 2014-11-03 15:29:13 -08:00
Alex Crichton
59d47a3ca4 rollup merge of #18132 : P1start/more-help 2014-11-03 15:28:54 -08:00
Alex Crichton
b3f8b8f238 rollup merge of #18522 : jbcrail/rename-missing-doc-attribute 2014-11-03 08:31:46 -08:00
Alex Crichton
e5a8840033 rollup merge of #18519 : Gankro/collect-smash 2014-11-03 08:31:45 -08:00
Alex Crichton
67840513f4 rollup merge of #18509 : cakebaker/missing_ofs 2014-11-03 08:31:45 -08:00
Alex Crichton
048902db52 rollup merge of #18508 : cakebaker/fix_variable_name 2014-11-03 08:31:45 -08:00
Alex Crichton
82efef76c3 rollup merge of #18500 : adrientetar/fonts 2014-11-03 08:31:45 -08:00
Daniel Hofstetter
e9618ce701 Small doc fixes 2014-11-03 15:34:56 +01:00
Alexis Beingessner
112c8a966f refactor libcollections as part of collection reform
* Moves multi-collection files into their own directory, and splits them into seperate files
* Changes exports so that each collection has its own module
* Adds underscores to public modules and filenames to match standard naming conventions

(that is, treemap::{TreeMap, TreeSet} => tree_map::TreeMap, tree_set::TreeSet)

* Renames PriorityQueue to BinaryHeap
* Renames SmallIntMap to VecMap
* Miscellanious fallout fixes

[breaking-change]
2014-11-02 18:58:11 -05:00
Sean Jensen-Grey
eca7ab508d cleaned up ids, added direct rust doc search
Search functionality uses both duckduckgo for site wide doc search
and the rust specific documentation search @

http://doc.rust-lang.org/core/?search=unwrap_or_else
2014-11-02 08:06:32 -08:00
Sean Jensen-Grey
7fbcdc75a9 add populated search box to docs 404 page
reference https://github.com/rust-lang/rust/issues/18498
2014-11-01 20:43:02 -07:00
P1start
5bf9ef2122 Convert some notes to help messages
Closes #18126.
2014-11-02 16:12:23 +13:00
Joseph Crail
835b92efb8 Replace deprecated missing_doc attribute. 2014-11-01 21:12:13 -04:00
Daniel Hofstetter
83225cc38d Reference: Add missing of's 2014-11-01 15:34:01 +01:00
Daniel Hofstetter
88d7f0a8da Guide: Fix variable name 2014-11-01 14:56:48 +01:00
Adrien Tétar
f4fb57b110 doc: enable OpenType kerning and ligatures 2014-11-01 00:16:48 +01:00
Rolf van de Krol
66b8cc8692 small fix to output of code sample in intro.md 2014-10-31 20:28:58 +01:00
bors
221fc1e3cd auto merge of #18459 : alexcrichton/rust/rollup, r=alexcrichton 2014-10-31 02:27:15 +00:00
Alex Crichton
d7ee04c5c4 rollup merge of #18442 : Manishearth/rust_panic 2014-10-30 17:36:48 -07:00
bors
a12d06b73f auto merge of #18381 : pelmers/rust/patch-1, r=alexcrichton
Happened to be reading through the doc.
2014-10-31 00:22:19 +00:00
bors
fd53657484 auto merge of #18339 : chastell/rust/guide_pattern_fixes, r=nikomatsakis
I think it helps to show that the variables introduced in match blocks are indeed independent from the matched variable `x` (especially when `x` is still reachable inside those blocks and might be useful), so this renames them accordingly. Maybe some linter (or language-level warning?) will eventually warn about shadowing `x` in such cases. ;)

I’m not super happy about the matching-on-range example, as it’s too contrived (`e` and `x` are exactly the same here), but I couldn’t come up with something both simple and non-redundant.
2014-10-30 20:17:15 +00:00
bors
52c3fe9533 auto merge of #18377 : steveklabnik/rust/fix_wording_about_errors, r=nikomatsakis
see https://github.com/rust-lang/rust/pull/18176#discussion_r19374679

/cc @eddyb @huonw @nikomatsakis
2014-10-30 17:57:09 +00:00
Alex Crichton
1e919c93c7 rollup merge of #18408 : thestinger/unsafe 2014-10-30 09:29:23 -07:00
Alex Crichton
b85780e7ea rollup merge of #18395 : cakebaker/fix_use_of_sqrt 2014-10-30 09:29:23 -07:00
bors
301ed5e579 auto merge of #18376 : steveklabnik/rust/gh7963, r=alexcrichton
FIxes #7963.
2014-10-30 15:57:03 +00:00
Alex Crichton
88946f72d5 rollup merge of #18381 : pelmers/patch-1 2014-10-30 08:55:39 -07:00
Manish Goregaokar
13d19bbf10 Rename rust_fail to rust_panic 2014-10-30 05:09:50 +05:30
bors
77f44d4a7b auto merge of #17894 : steveklabnik/rust/fail_to_panic, r=aturon
This in-progress PR implements https://github.com/rust-lang/rust/issues/17489.

I made the code changes in this commit, next is to go through alllllllll the documentation and fix various things.

- Rename column headings as appropriate, `# Panics` for panic conditions and `# Errors` for `Result`s.
- clean up usage of words like 'fail' in error messages

Anything else to add to the list, @aturon ? I think I should leave the actual functions with names like `slice_or_fail` alone, since you'll get to those in your conventions work?

I'm submitting just the code bits now so that we can see it separately, and I also don't want to have to keep re-building rust over and over again if I don't have to 😉 

Listing all the bits so I can remember as I go:

- [x] compiler-rt
- [x] compiletest
- [x] doc
- [x] driver
- [x] etc
- [x] grammar
- [x] jemalloc
- [x] liballoc
- [x] libarena
- [x] libbacktrace
- [x] libcollections
- [x] libcore
- [x] libcoretest
- [x] libdebug
- [x] libflate
- [x] libfmt_macros
- [x] libfourcc
- [x] libgetopts
- [x] libglob
- [x] libgraphviz
- [x] libgreen
- [x] libhexfloat
- [x] liblibc
- [x] liblog
- [x] libnative
- [x] libnum
- [x] librand
- [x] librbml
- [x] libregex
- [x] libregex_macros
- [x] librlibc
- [x] librustc
- [x] librustc_back
- [x] librustc_llvm
- [x] librustdoc
- [x] librustrt
- [x] libsemver
- [x] libserialize
- [x] libstd
- [x] libsync
- [x] libsyntax
- [x] libterm
- [x] libtest
- [x] libtime
- [x] libunicode
- [x] liburl
- [x] libuuid
- [x] llvm
- [x] rt
- [x] test
2014-10-29 20:16:57 +00:00
Steve Klabnik
6ac7fc73f5 Update infrastructure for fail -> panic
This includes updating the language items and marking what needs to
change after a snapshot.

If you do not use the standard library, the language items you need to
implement have changed. For example:

```rust
 #[lang = "fail_fmt"] fn fail_fmt() -> ! { loop {} }
```

is now

```rust
 #[lang = "panic_fmt"] fn panic_fmt() -> ! { loop {} }
```

Related, lesser-implemented language items `fail` and
`fail_bounds_check` have become `panic` and `panic_bounds_check`, as
well. These are implemented by `libcore`, so it is unlikely (though
possible!) that these two renamings will affect you.

[breaking-change]

Fix test suite
2014-10-29 16:06:13 -04:00
Steve Klabnik
7828c3dd28 Rename fail! to panic!
https://github.com/rust-lang/rfcs/pull/221

The current terminology of "task failure" often causes problems when
writing or speaking about code. You often want to talk about the
possibility of an operation that returns a Result "failing", but cannot
because of the ambiguity with task failure. Instead, you have to speak
of "the failing case" or "when the operation does not succeed" or other
circumlocutions.

Likewise, we use a "Failure" header in rustdoc to describe when
operations may fail the task, but it would often be helpful to separate
out a section describing the "Err-producing" case.

We have been steadily moving away from task failure and toward Result as
an error-handling mechanism, so we should optimize our terminology
accordingly: Result-producing functions should be easy to describe.

To update your code, rename any call to `fail!` to `panic!` instead.
Assuming you have not created your own macro named `panic!`, this
will work on UNIX based systems:

    grep -lZR 'fail!' . | xargs -0 -l sed -i -e 's/fail!/panic!/g'

You can of course also do this by hand.

[breaking-change]
2014-10-29 11:43:07 -04:00
bors
dd7113609c auto merge of #18375 : steveklabnik/rust/gh17969, r=alexcrichton
Fixes #17969
2014-10-29 15:17:01 +00:00
bors
3bc545373d auto merge of #18365 : bjz/rust/token, r=alexcrichton
[breaking-change]

(for syntax-extensions)

- Token variant identifiers have been converted to PascalCase for consistency with Rust coding standards
- Some free-functions in `syntax::token` have been converted to methods on `syntax::token::Token`:
    - `can_begin_expr`         -> `Token::can_begin_expr`
    - `close_delimiter_for`    -> `Token::get_close_delimiter`
    - `is_lit`                 -> `Token::is_lit`
    - `is_ident`               -> `Token::is_ident`
    - `is_path`                -> `Token::is_path`
    - `is_plain_ident`         -> `Token::is_plain_ident`
    - `is_lifetime`            -> `Token::is_lifetime`
    - `is_mutability`          -> `Token::is_mutability`
    - `to_binop`               -> `Token::to_binop`
    - `is_keyword`             -> `Token::is_keyword`
    - `is_any_keyword`         -> `Token:is_any_keyword`
    - `is_strict_keyword`      -> `Token::is_strict_keyword`
    - `is_reserved_keyword`    -> `Token::is_reserved_keyword`
    - `mtwt_token_eq`          -> `Token::mtwt_eq`
- `token::Ident` now takes an enum instead of a boolean for clarity
- `token::{to_string, binop_to_string}` were moved to `pprust::{token_to_string, binop_to_string}`
2014-10-29 10:22:01 +00:00
bors
124508dea1 auto merge of #18340 : chastell/rust/guide_closures_fixes, r=steveklabnik
Some minor wording fixes to the Closures chapter; my brain tripped a few times when reading it, so I tried to come up with something a bit smoother. I’m not a native speaker, so please do review this critically.
2014-10-29 06:36:57 +00:00
Daniel Micay
8a71925558 reference: document unwinding unsafety issues 2014-10-28 19:00:16 -04:00
Daniel Micay
768a7e1a4a reference: slices are now regular types 2014-10-28 18:37:42 -04:00
Daniel Micay
321de979d8 reference: note the existence of UnsafeCell 2014-10-28 18:31:09 -04:00
Steve Klabnik
b7e177d242 update keyword list
Fixes #17969
2014-10-28 15:55:04 -04:00
Piotr Szotkowski
1bfe6a2a54 Guide: Iterators: …are always lazy + rewrap as per request 2014-10-28 20:24:02 +01:00
Steve Klabnik
4d43d163df Describe doc attribute in the reference
FIxes #7963.
2014-10-28 12:11:26 -04:00
Daniel Hofstetter
54babf8aa3 Guide: Fix use of sqrt() in example 2014-10-28 16:09:14 +01:00
bors
d1bfd6515c auto merge of #18273 : gamazeps/rust/issue18218, r=steveklabnik
Closes #18218
2014-10-28 14:36:54 +00:00
Brendan Zabarauskas
d8b1fa0ae0 Use PascalCase for token variants 2014-10-28 15:55:37 +11:00
Peter Elmers
7163d65e24 Small grammar fix in rustdoc.md
Happened to be reading through
2014-10-27 20:58:05 -05:00
Alex Crichton
c5cc27f9a2 rollup merge of #18364 : cakebaker/missing_a 2014-10-27 15:12:48 -07:00
Alex Crichton
a1d719dad4 rollup merge of #18347 : cakebaker/ffi 2014-10-27 15:12:47 -07:00
Alex Crichton
dac3234bba rollup merge of #18321 : chastell/guide_refresh_testing_output 2014-10-27 15:12:29 -07:00
Alex Crichton
54647bd317 rollup merge of #18320 : chastell/guide_simplify_formatting 2014-10-27 15:12:29 -07:00
Alex Crichton
0c736c7b1d rollup merge of #18309 : cakebaker/fix_off_by_one 2014-10-27 15:12:29 -07:00
Alex Crichton
ecdb19cc98 rollup merge of #18257 : globin/master 2014-10-27 12:53:02 -07:00
Alex Crichton
6f65ad1a44 rollup merge of #18251 : steveklabnik/build_module_guide 2014-10-27 12:53:02 -07:00
Alex Crichton
a6883d4054 rollup merge of #18244 : areski/pr-fix-string-doc 2014-10-27 12:53:01 -07:00
Alex Crichton
da57aa57d4 rollup merge of #18231 : cakebaker/fix_greater_than_forty_two_closure 2014-10-27 12:53:01 -07:00
Alex Crichton
b3c676ed86 rollup merge of #18229 : bjz/ttdelim 2014-10-27 12:53:01 -07:00
Steve Klabnik
13e4daee26 Fix some wording about errors
see https://github.com/rust-lang/rust/pull/18176#discussion_r19374679
2014-10-27 15:51:52 -04:00
Daniel Hofstetter
25650e0eeb Guide: Add missing "a" 2014-10-27 15:41:24 +01:00
John Kleint
d257b37608 Guide: motivate Box and Rc pointers with need, uses, benefits, and examples.
Explain that Rust has different pointer types because there is a
tradeoff between flexibility and efficiency. Motivate boxes as
fixed-size containers of variable-sized objects. Clarify that Box and Rc
are pointer types that you deref with * just like references. Stick to
explaining the semantics and avoid implementation details.  Scope isn't
the most accurate framework to think about deallocation (since you
return boxes and otherwise move values out of scopes); it's more "when
the value is done being used," i.e., lifetime. Provide a connection
between Rust's pointer types by locating them on a flexibiltiy /
performance scale. Explain the compiler can't statically analyze
lifetimes with multiple owners; hence the need for (runtime) reference
counting.
2014-10-26 23:41:51 -04:00
Piotr Szotkowski
56f1a67cc7 Guide: Iterators, Macros and Unsafe wording fixes 2014-10-26 22:27:43 +01:00
Piotr Szotkowski
16bae692be Guide: Closures fix suggested by @cakebaker 2014-10-26 18:15:08 +01:00
Daniel Hofstetter
622ae41e90 Guide: Add link to FFI explanation 2014-10-26 16:58:17 +01:00
Piotr Szotkowski
4eedd873ec Guide: Closures: minor wording fixes 2014-10-26 09:50:16 +01:00
Piotr Szotkowski
aa1cd6e707 Guide: Patterns: use non-x variables in match blocks 2014-10-26 09:41:50 +01:00
Brendan Zabarauskas
dfb4163f83 Use standard capitalisation for TokenTree variants 2014-10-26 09:53:30 +11:00
Brendan Zabarauskas
ec3f0201e7 Rename TokenTree variants for clarity
This should be clearer, and fits in better with the `TTNonterminal` variant.

Renames:

- `TTTok` -> `TTToken`
- `TTDelim` -> `TTDelimited`
- `TTSeq` -> `TTSequence`
2014-10-26 09:53:29 +11:00
Piotr Szotkowski
eb903b4843 Guide: update Testing output and fix contents to match 2014-10-25 23:10:27 +02:00
Piotr Szotkowski
6a22454145 Guide: Cargo now adds bang and drops the semicolon for ‘Hello, world’ 2014-10-25 23:10:10 +02:00
Piotr Szotkowski
019a982f51 Guide: drop :d formatting where unnecessary 2014-10-25 22:50:38 +02:00
Daniel Hofstetter
122199909d Guide: Fix off-by-one error 2014-10-25 16:22:04 +02:00
bors
80e5fe1a56 auto merge of #18176 : jkleint/rust/guide-borrow-wording, r=steveklabnik
Explain the primary disadvantage of garbage collection is runtime
overhead and unpredictable pauses.  Elucidate where the name "race
condition" comes from.  Emphasize that Rust can guarantee your code is
free of race conditions and other memory errors, with no runtime
overhead.

cc @steveklabnik
2014-10-25 09:17:05 +00:00
gamazeps
b4697f0612 Changes a little the description of take in the guide
Closes #18218
2014-10-24 17:19:09 +02:00
P1start
ead6c4b9d4 Add a lint for not using field pattern shorthands
Closes #17792.
2014-10-24 15:44:18 +13:00
bors
091b9811c8 auto merge of #18253 : steveklabnik/rust/small_doc_fixes, r=huonw
All these stars aren't needed anymore.
2014-10-23 16:57:24 +00:00
Robin Gloster
0b8bd6f667 plugin-guide: nicer creation of the parser 2014-10-23 17:21:24 +02:00
Steve Klabnik
4a74af62c6 Improve code in the intro.
All these stars aren't needed anymore.
2014-10-23 09:36:34 -04:00
Steve Klabnik
0c3ad8be5b build the crates guide 2014-10-23 07:40:29 -04:00
bors
37f2db769f auto merge of #18217 : mikedilger/rust/bug_report_instructions, r=pnkfelix
Fixed as per @pnkfelix comments in #17848
2014-10-23 11:37:12 +00:00
areski
ebdc3046a4 Fixed single quote around string slice and simplify example
This patch contains a fix for:
- single quote around string slice
- string: String is confusing for newbies and it's more readble if the
  argument name is different that the argument type name
2014-10-23 00:44:17 +02:00
Daniel Hofstetter
cb5593a448 Guide: Change >= to > in closure 2014-10-22 16:16:05 +02:00
Daniel Hofstetter
88cf0b92dd Guide: Adapt range values to variable name 2014-10-22 15:32:28 +02:00
Mike Dilger
f11f58dc97 Fix issue #17848 (Questionable advice in bug report instructions) 2014-10-22 13:58:31 +13:00
John Kleint
f0b7065e6f Guide: articulate the advantages of ownership over garbage collection.
Explain the primary disadvantage of garbage collection is runtime
overhead and unpredictable pauses.  Elucidate where the name "race
condition" comes from.  Emphasize that Rust can guarantee your code is
free of race conditions and other memory errors, with no runtime
overhead.
2014-10-21 09:09:32 -04:00
bors
2fffbe0663 auto merge of #17555 : steveklabnik/rust/module_guide, r=alexcrichton
This is an almost-done draft of a guide on crates and modules. This is a hard guide to get right, I had to remove a chunk of the Guide because it was confusing.

I've also pushed up https://github.com/steveklabnik/phrases which has matching code. Whenever we finish this guide, I think it'd be good to have a sample crate like this in the rust-lang org for people to compare against. The hardest part of a guide like this is that it depends on multiple files being correct, and being able to point to a repository would be very helpful.

Things yet to do:

1. external crates via cargo
2. documentation

I'm super open to still revising this if it's still confusing. There's been a lot of Reddit discussion about the module system, and I tried to incorporate those posts and the comments into this.
2014-10-21 00:07:33 +00:00
bors
6ef8392b3f auto merge of #17453 : steveklabnik/rust/gh17340, r=alexcrichton
/cc @huonw
2014-10-20 22:17:49 +00:00
Steve Klabnik
8851ec647a New Guide: crates and modules 2014-10-20 17:29:57 -04:00
bors
b2e5773655 auto merge of #18145 : neilpa/rust/master, r=steveklabnik
Noticed a type while reading through the intro
2014-10-20 20:27:32 +00:00
Steve Klabnik
f358407dcf Some String Guide improvements.
Fixes #17340
2014-10-20 16:25:35 -04:00
bors
6353465f4d auto merge of #18186 : cakebaker/rust/fix_test_count, r=alexcrichton 2014-10-20 17:57:39 +00:00
Daniel Hofstetter
555ab2b3a4 Guide: Fix test count 2014-10-20 16:17:59 +02:00
Daniel Hofstetter
cf3d3dc486 Guide: Fix typo in path 2014-10-20 15:26:09 +02:00
bors
c121cbab35 auto merge of #18139 : JelteF/rust-1/patch-1, r=steveklabnik
The explanation of fold talks about three elements that should be summed, but it uses different values in the provided code.
2014-10-19 13:52:06 +00:00
bors
4bb21f37ef auto merge of #18135 : EduardoBautista/rust/fix-misaligned-carot, r=steveklabnik 2014-10-19 07:17:15 +00:00
bors
c46812f659 auto merge of #18120 : jrincayc/rust/match_exp, r=thestinger
Use a match expression directly in the println statement, instead of creating a second variable.  It seems weird that the current guide.md complains about creating an extra variable, when the same feature could be demonstrated without creating the extra variable.
2014-10-19 00:47:18 +00:00
Neil Pankey
66939dfe64 [Docs] more intro typos 2014-10-18 17:40:57 -07:00
Neil Pankey
e1389530cf [Docs] intro typo 2014-10-18 17:37:54 -07:00
Jelte Fennema
2a668149c2 Fix fold explanation in the guide
The explanation of fold talks about three elements that should be summed, but it uses different values in the provided code.
2014-10-18 19:29:53 +02:00
Eduardo Bautista
cef0b55c78 Fix misaligned carot in guide 2014-10-18 01:34:50 -05:00
bors
1270f8e77a auto merge of #17955 : rjz/rust/tweak-tasks-guide, r=brson 2014-10-18 02:37:16 +00:00
jrincayc
ce83a24b5f Use match expression directly in guide.md
Use a match expression directly in the println statement, instead of creating a second variable.
2014-10-17 07:00:29 -06:00
bors
fa59bb0869 auto merge of #18052 : IvanUkhov/rust/raw-byte-string-literals, r=aturon
Hello,


The pull request fixes a typo in the description of raw string literals in [reference.md](https://github.com/rust-lang/rust/blob/master/src/doc/reference.md#byte-and-byte-string-literals).


Regards,
Ivan
2014-10-17 07:32:17 +00:00
Luqman Aden
3410c52eec librustc: Remove trans::reflect and the opaque and ty_visitor lang items. 2014-10-16 11:15:36 -04:00
Luqman Aden
38aca17c47 Remove libdebug and update tests. 2014-10-16 11:15:34 -04:00
Ivan Ukhov
a923b4ff6d Fix the description of raw byte string literals 2014-10-15 06:36:13 +02:00
John Kleint
1ce5a5626e Guide: develop the exposition of arrays, vectors, and slices.
The array is the fundamental concept; vectors are growable arrays, and
slices are views into either.  Show common array ops up front: length
and iteration.  Mention arrays are immutable by default.  Highlight
definite initialization and bounds-checking as safety features.  Show
that you only need a type suffix on one element of initializers.
Explain that vectors are a value-add library type over arrays, not a
fundamental type; show they have the same "interface." Motivate slices
as efficient views into arrays; explain you can slice vectors, Strings,
&str because they're backed by arrays.
2014-10-14 23:23:57 -04:00
Alex Crichton
1263a36a62 rollup merge of #17993 : redcape/fix-ffi-docs 2014-10-13 15:10:10 -07:00
Alex Crichton
f006e86eed rollup merge of #17992 : jkleint/guide-double-borrow 2014-10-13 15:10:08 -07:00
Alex Crichton
ad25e560a0 rollup merge of #17986 : gamazeps/docissue 2014-10-13 15:10:01 -07:00
Alex Crichton
48d0359273 rollup merge of #17979 : jkleint/guide-guess-counter 2014-10-13 15:09:52 -07:00
Alex Crichton
001814fda2 rollup merge of #17977 : Behemecoatyl/master 2014-10-13 15:09:48 -07:00
Alex Crichton
0dd4cd57fe rollup merge of #17968 : nodakai/really-fix-kw-table 2014-10-13 15:09:35 -07:00
bors
c7e0724274 auto merge of #17733 : jgallagher/rust/while-let, r=alexcrichton
This is *heavily* based on `if let` (#17634) by @jakub- and @kballard

This should close #17687
2014-10-13 19:37:40 +00:00
bors
d670d76221 auto merge of #17963 : sfackler/rust/cfg-error, r=alexcrichton
All deprecation warnings have been converted to errors. This includes
the warning for multiple cfgs on one item. We'll leave that as an error
for some period of time to ensure that all uses are updated before the
behavior changes from "or" to "and".
2014-10-13 12:27:43 +00:00
Gil Cottle
c6f9b8ff17 Doc: Fix C-Code Example in FFI Docs
Add missing void* for passed RustObject.
2014-10-13 01:36:10 -04:00
John Kleint
ed7d1be12f Guide: specify that both shared and mutable borrows can be re-lent. 2014-10-12 23:50:22 -04:00
Felix Raimundo
1cbce309fe Fixes small error on the doc (task part) 2014-10-13 00:13:41 +02:00
John Kleint
67418f5509 Guide: remove promise of a counter in the guessing game.
Issue #17964.
2014-10-12 15:24:39 -04:00
Steven Fackler
aa3b1261b1 Continue cfg syntax transition
All deprecation warnings have been converted to errors. This includes
the warning for multiple cfgs on one item. We'll leave that as an error
for some period of time to ensure that all uses are updated before the
behavior changes from "or" to "and".
2014-10-12 11:40:19 -07:00
Erwan
d7dc97e384 fix broken link in guide-strings.md 2014-10-12 18:51:11 +02:00
NODA, Kai
e2fed746c2 src/doc/README.md: fix a dead link.
Also make some typographical changes.
2014-10-12 17:29:07 +08:00
NODA, Kai
b2949ae543 Fix HTML version of the keyword table.
This should really fix rust-lang/rust#17528.
2014-10-12 17:26:37 +08:00
rjz
a35c53d65b Tweak copy and formatting of Tasks guide 2014-10-11 13:00:01 -07:00
Jakub Wieczorek
4442e6d890 Remove virtual structs from the reference 2014-10-11 19:42:26 +02:00
bors
ba246100ca auto merge of #17928 : steveklabnik/rust/remove_runtime_guide, r=alexcrichton
Now that libgreen is gone, this is all wrong.

Fixes #17923
2014-10-11 07:12:02 +00:00
John Gallagher
0d6dafa51f Add while let to the reference
Closes #17687
2014-10-10 20:30:32 -04:00
John Gallagher
660cf18070 Move while let behind while_let feature gate 2014-10-10 20:30:32 -04:00