Commit Graph

46115 Commits

Author SHA1 Message Date
Steve Klabnik
54279e0ced Rollup merge of #28205 - matklad:grammar-remove-proc, r=alexcrichton
As I understand, there are no proc closures in Rust any more. So this pr removes `procedure_type` production. It isn't used anywhere. The `proc` is still a keyword.

r? @steveklabnik
@bors: r+ rollup
2015-09-03 20:10:07 -04:00
Steve Klabnik
35019737cc Rollup merge of #28204 - matklad:grammar-duplicate-else-tail, r=steveklabnik
The rule `else_tail` was duplicated in `if` and `if_let` sections. I guess that this is a mistake.

r? @steveklabnik
2015-09-03 20:10:07 -04:00
Steve Klabnik
723ebc2471 Rollup merge of #28203 - benschulz:book-deref-coercion, r=brson
I have two issues with the section "Deref and method calls" of the book's chapter "Deref coercions".

 - (Minor) It says "In other words, these are the same two things in Rust:", followed by a code block in which no two things seem similar, much less the same. Presumably this sentence made more sense in a previous revision.

 - The next paragraph conflates two concepts which, imho, should kept separate. They are
    - deref coercion, i.e. inserting as many `*` as necessary and
    - implicitly referencing the receiver, i.e. inserting a single `&` to satisfy the method's `self` parameter type.

I appreciate that with the proposed changes the example becomes very contrived, even for a foo-bar-baz one. However, the current exmplanation is just wrong.
2015-09-03 20:10:07 -04:00
Steve Klabnik
b96618e18b Rollup merge of #28202 - matklad:grammar-loop-labels, r=steveklabnik
This adds missing `?` marks to productions for loops and break/continue.

It also adds missing option label to while let loop.


Note that '[' foo ']' means grouping in BNF, and '?' is used for possible missing items.

r? @steveklabnik
2015-09-03 20:10:07 -04:00
Steve Klabnik
055c23da7b Rollup merge of #28167 - petrochenkov:bytelit, r=nikomatsakis
Avoid confusion with binary integer literals and binary operator expressions in libsyntax
2015-09-03 20:10:07 -04:00
bors
1b908be9a0 Auto merge of #28200 - Manishearth:rollup, r=Manishearth
- Successful merges: #28164, #28170, #28184, #28186, #28187, #28188, #28191, #28193, #28194, #28195
- Failed merges:
2015-09-03 20:10:42 +00:00
Manish Goregaokar
e6e175b828 Add ptr import (fixup #28187) 2015-09-04 01:40:05 +05:30
Manish Goregaokar
94807b2f9c Rollup merge of #28195 - AlisdairO:diagnostics214, r=Manishearth
As title :-)
Part of #24407.

r? @Manishearth
2015-09-04 01:40:04 +05:30
Manish Goregaokar
956c5977ac Rollup merge of #28194 - steveklabnik:add_fixme, r=alexcrichton 2015-09-04 01:40:04 +05:30
Manish Goregaokar
75ca401f2d Rollup merge of #28193 - dhuseby:fixing_bitrig_alloc_crate_tests, r=alexcrichton
@alexcrichton this will get the bitrig buildbot back to green.
2015-09-04 01:40:03 +05:30
Manish Goregaokar
3c4d6d626f Rollup merge of #28191 - llogiq:iter, r=Manishearth
Nothing too big, a few needless returns and a few closures eliminated (the latter may improve performance in some cases, at least compilation should be a bit faster).
2015-09-04 01:40:03 +05:30
Manish Goregaokar
cac4a1c5c8 Rollup merge of #28188 - Manishearth:elide-core, r=alexcrichton
Makes things more greppable.

This change was made automatically by clippy + bash scripts, though I will run test passes, please review carefully.
2015-09-04 01:40:02 +05:30
Manish Goregaokar
9ea8f3e2dd Rollup merge of #28187 - petrochenkov:null, r=aturon
And replace more `0 as *const T`/`0 as *mut T`s with `null()`/`null_mut()`s

I'm not sure what is the general policy about making simple functions `const`, but `null()` and `null_mut()` seem to be good candidates.
2015-09-04 01:40:02 +05:30
Manish Goregaokar
67616f7191 Rollup merge of #28186 - thomas07vt:thomas07vt-patch-trpl-rust-inside-other-languages.md, r=steveklabnik
The embed rust file that we compile prints out 'Thread finished..' messages along with a 'done!' r? @steveklabnik
2015-09-04 01:40:02 +05:30
Manish Goregaokar
0c2924386d Rollup merge of #28184 - xiaochuanyu:patch-1, r=alexcrichton
Originally in an example it reads as follows:
```rust
fn inverse<T>() -> T
        // this is using ConvertTo as if it were "ConvertFrom<i32>"
         where i32: ConvertTo<T> {
     42.convert()
 }
```
There was no mention of `ConvertFrom` elsewhere in the page other than in this comment. Is this supposed to be `ConvertTo<i64>` ?
I'm confused by this example.
2015-09-04 01:40:01 +05:30
Aleksey Kladov
59f2343bdb reference grammar: remove procedure_type 2015-09-03 22:25:47 +03:00
Aleksey Kladov
000fe00726 reference grammar: remove duplicate else_tail rule 2015-09-03 22:19:56 +03:00
benshu
986f523b89 Take method invocation semantics out of chapter on deref coercion. 2015-09-03 21:17:59 +02:00
Aleksey Kladov
83aee74fce reference grammar: loop label should be optional
This adds missing `?` marks to productions for loops and break/continue.

It also adds missing option label to while let loop
2015-09-03 22:13:50 +03:00
Manish Goregaokar
2a40e46f18 Rollup merge of #28164 - AlisdairO:diagnostics329, r=Manishearth
As title :-)
Part of #24407.

r? @Manishearth
2015-09-03 23:30:36 +05:30
Alisdair Owens
130e8d4ff2 add long diagnostics for E0214 2015-09-03 17:01:50 +01:00
bors
0762f58c11 Auto merge of #28192 - Manishearth:lint-hir, r=eddyb
LintPass still uses the AST, though there isn't any need to. This makes it hard to move lints to the HIR.

r? @eddyb @nrc
2015-09-03 15:42:16 +00:00
Manish Goregaokar
7732ad85df Move lints to HIR 2015-09-03 20:58:07 +05:30
Steve Klabnik
9e79fc2d22 Add an issue number to this FIXME 2015-09-03 11:00:40 -04:00
Dave Huseby
e5e4744766 Fixes #27886 -- bitrig does not use jemalloc (yet) 2015-09-03 07:26:17 -07:00
bors
9e9c83b899 Auto merge of #28176 - arielb1:fast-index, r=eddyb
r? @eddyb
2015-09-03 13:01:03 +00:00
llogiq
e1f89196a0 take mapped function by mutable reference 2015-09-03 14:50:06 +02:00
Manish Goregaokar
a520568ae7 Elide lifetimes in libcore 2015-09-03 17:46:35 +05:30
llogiq
b6a3978886 clippy improvements to iterators 2015-09-03 12:35:34 +02:00
Ariel Ben-Yehuda
cde09e7ca3 rewrite metadata indexing
this improves the compilation time for small crates by ~20%
2015-09-03 12:59:51 +03:00
Ariel Ben-Yehuda
fcad49e416 remove totally useless struct-field index 2015-09-03 12:23:56 +03:00
Vadim Petrochenkov
405c616eaf Use consistent terminology for byte string literals
Avoid confusion with binary integer literals and binary operator expressions in libsyntax
2015-09-03 10:54:53 +03:00
Vadim Petrochenkov
06fb196256 Use null()/null_mut() instead of 0 as *const T/0 as *mut T 2015-09-03 09:49:50 +03:00
John Thomas
6fcdead4ee Bash output fix to match real 'ruby embed.rb' call
The embed rust file that we compile prints out 'Thread finished..' messages along with a 'done!'
2015-09-02 23:13:56 -07:00
Vadim Petrochenkov
3903ea96f5 Make null() and null_mut() const functions 2015-09-03 09:03:52 +03:00
Xiao Chuan Yu
865d6c3b5b Fix mistake in trait.md 2015-09-03 01:36:22 -04:00
bors
1661947014 Auto merge of #28182 - jackwilsonv:patch-2, r=steveklabnik
r? @steveklabnik

##### About the `struct` section specifically:
I wasn't sure how you'd feel about the first instance since it was originally capitalized, happy to change it back if you think that's better.

Also, I left 'tuple struct' as is since together it isn't a keyword. The first instance currently has single quotes but the others have nothing. I think that feels right.

##### Generally:
I'm working through the book now and I'm happy to keep updating this branch with any formatting tweaks or updates I find if that's easier for you guys, otherwise I'll just create smaller PRs as I go. Just let me know.
2015-09-03 04:43:40 +00:00
bors
69c3b39d0d Auto merge of #28174 - steveklabnik:gh14705, r=alexcricton
Because 'doc' is a directory, when running `make doc`, you'll see
this:

    make: Nothing to be done for `doc'.

By adding a target for `doc` to build `docs`, both work.

Fixes #14705
2015-09-03 02:12:21 +00:00
Steve Klabnik
7c8c72d3b0 Introduce 'make doc' -> 'make docs'
Because 'doc' is a directory, when running `make doc`, you'll see
this:

    make: Nothing to be done for `doc'.

By adding a target for `doc` to build `docs`, both work.

Fixes #14705
2015-09-02 22:00:58 -04:00
Jack Wilson
28bf68f3fe Makes formatting of struct keyword consistent 2015-09-02 18:58:18 -07:00
bors
cd138dc447 Auto merge of #28138 - nrc:hir, r=nikomatsakis
r? @nikomatsakis 

Trying to land this first stab, which basically just duplicates the AST. Will file issues for the various things I've got in mind to improve.
2015-09-02 22:44:25 +00:00
Nick Cameron
facdf2ebb1 Add an intital HIR and lowering step 2015-09-03 10:02:36 +12:00
bors
b7b1dced3c Auto merge of #28117 - marcusklaas:continue-break, r=alexcrichton
Fixes https://github.com/rust-lang/rust/issues/28108.
2015-09-02 21:02:34 +00:00
bors
cfd76b364c Auto merge of #28135 - jackwilsonv:patch-1, r=steveklabnik
Small formatting change

r? @steveklabnik
2015-09-02 19:08:18 +00:00
Marcus Klaas
3a360fca78 Fix overly long spans for break and continue
The spans of break and continue would include the next token.
2015-09-02 20:55:17 +02:00
bors
a53d31a51b Auto merge of #28165 - mneumann:dragonfly_snapshots, r=alexcrichton
@alexcrichton: The snapshot file is here: http://www.ntecs.de/downloads/rust/rust-stage0-2015-08-11-1af31d4-dragonfly-x86_64-08e7dd9d77434b377c0905cc5f8c705b2daf3a0e.tar.bz2.

This is the first part in getting Continuous builds for DragonFly (#16298).
2015-09-02 17:27:10 +00:00
Michael Neumann
ebf311cef5 Add snapshot for DragonFly BSD 2015-09-02 18:21:02 +02:00
bors
ef02ffa9fb Auto merge of #28162 - mneumann:dragonfly_fix_stat, r=alexcrichton 2015-09-02 14:51:11 +00:00
Alisdair Owens
c6b0fccac8 Add long diagnostics for E0329 2015-09-02 15:35:56 +01:00
bors
370fe27861 Auto merge of #28163 - llogiq:master, r=Manishearth 2015-09-02 10:20:41 +00:00