Commit Graph

54628 Commits

Author SHA1 Message Date
Jeffrey Seyfried
4a13bcb4fb groundwork: use resolve_identifier instead of resolve_path to classify ident patterns 2016-06-28 05:28:23 +00:00
Jeffrey Seyfried
2dc15f2b96 cleanup: use DummyResult to implement MacroGenerable::dummy 2016-06-28 05:28:22 +00:00
Jeffrey Seyfried
b968ee3656 cleanup: don't count attributes on an item in a statement position as on the statement 2016-06-28 05:28:20 +00:00
Corey Farwell
a350ca62cd Minor rewrite of std::io::empty doc example.
Remove unnecessary hidden `foo` function.
Demonstrate this emptiness of the resulting string.
Combine imports.
2016-06-27 22:28:28 -04:00
Alex Crichton
3fd411e017 mk: Make some LLVM building support more robust
* Implement the clean-llvm target for those cases where makefiles are being used
* Have all cross-compiled LLVMs depend on the **host** LLVM as they'll require
  the llvm-tablegen executable from there
2016-06-27 18:59:55 -07:00
Alex Crichton
ea1818f1ca rustbuild: Update how compiler-rt is called
Looks like compiler-rt has been tweaked slightly during the last update,
propagate these changes to rustbuild as well.
2016-06-27 18:53:17 -07:00
Corey Farwell
18b094bdbd Add doc example for std::io::repeat. 2016-06-27 21:23:53 -04:00
Alex Crichton
cb74a5874f configure: Check for valid Python on MinGW as well
The LLVM build system is somewhat picky about which Python is used to build it
as it's known to be incompatible with the default `python2` package that ships
with MinGW. This was previously detected for MSVC builds but the logic was left
out for MinGW by accident (now that we've switched to cmake builds for LLVM
everywhere).

This corrects the `./configure` check and also updates the `README.md`
accordingly. Additionally, a number of instructions were updated to work with
the most recent copy of MSYS2.

Closes #34489
2016-06-27 18:14:54 -07:00
bors
ea0dc92972 Auto merge of #34424 - jseyfried:breaking_batch, r=Manishearth
Batch up libsyntax breaking changes

Batch of the following syntax-[breaking-change] changes:
 - #34213: Add a variant `Macro` to `TraitItemKind`
 - #34368: Merge the variant `QPath` of `PatKind` into the variant `PatKind::Path`
 - #34385: Move `syntax::ast::TokenTree` into a new module `syntax::tokenstream`
 - #33943:
  - Remove the type parameter from `visit::Visitor`
  - Remove `attr::WithAttrs` -- use `attr::HasAttrs` instead.
  - Change `fold_tt`/`fold_tts` to take token trees by value and avoid wrapping token trees in `Rc`.
  - Remove the field `ctxt` of `ast::Mac_`
  - Remove inherent method `attrs()` of types -- use the method `attrs` of `HasAttrs` instead.
 - #34316:
  - Remove `ast::Decl`/`ast::DeclKind` and add variants `Local` and `Item` to `StmtKind`.
  - Move the node id for statements from the `StmtKind` variants to a field of `Stmt` (making `Stmt` a struct instead of an alias for `Spanned<StmtKind>`)
  - Rename `ast::ExprKind::Again` to `Continue`.
 - #34339: Generalize and abstract `ThinAttributes` to `ThinVec<Attribute>`
  - Use `.into()` in convert between `Vec<Attribute>` and `ThinVec<Attribute>`
  - Use autoderef instead of `.as_attr_slice()`
 - #34436: Remove the optional expression from `ast::Block` and instead use a `StmtKind::Expr` at the end of the statement list.
 - #34403: Move errors into a separate crate (unlikely to cause breakage)
2016-06-27 16:42:03 -07:00
Jeffrey Seyfried
360dcae419 Update src/rustc/Cargo.lock 2016-06-27 23:40:04 +00:00
Jonathan Price
15a0299299 many small grammatical and stylistic changes
grammatical: "Here's" should be "Here are", "rules" is plural.
stylistic: "rules for" is more idiomatic than "rules about".
grammatical: No verb in "One or the other"; changed to "It's one or the other".
code: added implied `fn main() { ... }` because it is referenced in "note: previous borrow ends here"
semantic: "But" seems like the wrong word here, there is now, contrast, only further explanation. "so", "thus" or "therefor" is clearer.
grammatical: Another misuse of "Here's", should be "Here are" (or possibly "Here're").
grammatical: "use" should be capitalized. All other subheadings capitalize the first word.
2016-06-27 18:06:40 -05:00
Oliver Middleton
beebaf1366 rustdoc: Fix a few stripping issues
We need to recurse into stripped modules to strip things like impl methods
but when doing so we must not add any items to the `retained` set.
2016-06-27 23:26:29 +01:00
Jonathan Price
9dd5540540 "also ... as well" is redundant
Also "to access" is cleaner than "for accessing"
2016-06-27 16:52:39 -05:00
Jonathan Price
4a327e0e14 "errors with" is idiomatic in English 2016-06-27 16:49:58 -05:00
CensoredUsername
37f0f67682 Support CMake installations in paths containing spaces 2016-06-27 23:39:51 +02:00
Jonathan Price
cae02fff6a fixed backquotes and awkward borrowing clause 2016-06-27 16:34:35 -05:00
Michael Woerister
f41de0ff3a Disable debuginfo tests for a given blacklist of LLDB versions 2016-06-27 14:38:41 -04:00
Jeffrey Seyfried
542ba8c5f7 Fix Cargo.tomls 2016-06-27 18:30:46 +00:00
bors
a0f572e98b Auto merge of #34169 - scottcarr:dominator-cache, r=nikomatsakis
[MIR] Add Dominators to MIR and Add Graph Algorithms

~~This PR assumes PR #34149 lands.~~

Add generic graph algorithms to rustc_data_structures.

Add dominators and successors to the ~~cache (that currently only holds predecessors).~~ `Mir`.
2016-06-27 11:12:25 -07:00
Corey Farwell
a7b9e5441b Add example for std:🧵:sleep. 2016-06-27 13:06:20 -04:00
bors
126af085be Auto merge of #34477 - ollie27:patch-1, r=GuillaumeGomez
rustdoc: Fix search result layout for enum variants and struct fields

This was broken in #34234.

For example:
[before](https://doc.rust-lang.org/nightly/std/?search=cow%3A%3Aborrowed) [after](https://ollie27.github.io/rust_doc_test/std/?search=cow%3A%3Aborrowed)
[before](https://doc.rust-lang.org/nightly/std/?search=range%3A%3Astart) [after](https://ollie27.github.io/rust_doc_test/std/?search=range%3A%3Astart)

cc @GuillaumeGomez
2016-06-27 06:43:49 -07:00
Oliver Schneider
b8f9c88c2d
Revert "skip double negation in const eval"
This reverts commit 735c018974.
2016-06-27 11:44:10 +02:00
bors
f019e381fe Auto merge of #34453 - frewsxcv:regress, r=sanxiyn
Add regression test for #24424.

Fixes https://github.com/rust-lang/rust/issues/24424.
2016-06-27 01:10:49 -07:00
bors
b42884fc64 Auto merge of #34419 - eddyb:virtually-inexistent, r=Aatch
Don't translate vtable methods with Self: Sized bounds.

Fixes #34416.
2016-06-26 22:24:03 -07:00
Jeffrey Seyfried
b4611b1ff2 Add regression test 2016-06-27 03:17:55 +00:00
Jeffrey Seyfried
e01a2ba274 Forbid type parameters and global paths in macro invocations 2016-06-27 03:17:46 +00:00
bors
af2fe634bf Auto merge of #34491 - eddyb:return-in-peace, r=nagisa
Remove the return_address intrinsic.

This intrinsic to get the return pointer was introduced in #16248 / #16081 by @pcwalton for Servo.
However, as explained in #34227, it's impossible to ensure it's used correctly, and it broke with `-Zorbit`.

Servo's usage is being replaced in servo/servo#11872, and I expect nobody else to have abused it.
But I've also started a crater run, just in case this is a `[breaking-change]` for anyone else.
2016-06-26 19:02:12 -07:00
Corey Farwell
f1d600c6f8 Expand std::path::Component documentation.
Indicate how it gets created and add an example.
2016-06-26 20:22:12 -04:00
Eduard Burtescu
b30134dbc3 Remove the return_address intrinsic. 2016-06-27 01:47:28 +03:00
bors
3059bb9e38 Auto merge of #34450 - jseyfried:fix_include_path, r=nrc
Revert a change to the relative path for macro-expanded `include!`s

Fixes #34431 (c.f. discussion in that issue).
r? @nrc
2016-06-26 14:50:27 -07:00
Eduard Burtescu
fe7207f6af Disallow constants and statics from having unsized types. 2016-06-26 18:28:17 +03:00
bors
15e8a67c47 Auto merge of #34469 - frewsxcv:path-components, r=GuillaumeGomez
Indicate how the `std::path::Components` struct is created.

None
2016-06-25 22:06:35 -07:00
bors
c12eb1d7a2 Auto merge of #34468 - frewsxcv:doc-links, r=GuillaumeGomez
Add hyperlinks to `std::fs` functions from `std::path`.

None
2016-06-25 19:24:29 -07:00
Jeffrey Seyfried
9bb3ea0feb Rollup merge of #34436 - jseyfried:no_block_expr, r=eddyb
To allow these braced macro invocation, this PR removes the optional expression from `ast::Block` and instead uses a `StmtKind::Expr` at the end of the statement list.

Currently, braced macro invocations in blocks can expand into statements (and items) except when they are last in a block, in which case they can only expand into expressions.

For example,
```rust
macro_rules! make_stmt {
    () => { let x = 0; }
}

fn f() {
    make_stmt! {} //< This is OK...
    let x = 0; //< ... unless this line is commented out.
}
```

Fixes #34418.
2016-06-26 02:20:14 +00:00
Jeffrey Seyfried
8eddf02800 Rollup merge of #34339 - jseyfried:thin_vec, r=petrochenkov,Manishearth
Generalize and abstract `ThinAttributes` to `ThinVec<Attribute>`.
2016-06-26 02:18:43 +00:00
Jeffrey Seyfried
8748cd92d0 Rollup merge of #34316 - jseyfried:refactor_ast_stmt, r=eddyb
Refactor away `ast::Decl`, refactor `ast::Stmt`, and rename `ast::ExprKind::Again` to `ast::ExprKind::Continue`.
2016-06-26 02:17:27 +00:00
Jeffrey Seyfried
33ea1e330c Rollup merge of #33943 - jseyfried:libsyntax_cleanup, r=nrc
Miscellaneous low priority cleanup in `libsyntax`.
2016-06-26 02:15:04 +00:00
Jeffrey Seyfried
82a15a6a0a Rollup merge of #34385 - cgswords:tstream, r=nrc
syntax-[breaking-change] cc #31645
(Only breaking because ast::TokenTree is now tokenstream::TokenTree.)

This pull request refactors TokenTrees into their own file as src/libsyntax/tokenstream.rs, moving them out of src/libsyntax/ast.rs, in order to prepare for an accompanying TokenStream implementation (per RFC 1566).
2016-06-26 02:11:59 +00:00
Oliver Middleton
ec7da3dbd7 rustdoc: Fix inlined renamed reexports in import lists 2016-06-26 03:08:10 +01:00
Guillaume Gomez
58955dee66 Add new error codes and improve some explanations 2016-06-26 02:26:42 +02:00
bors
2cfd91d0ce Auto merge of #34465 - frewsxcv:builder-name-example, r=GuillaumeGomez
Add doc example for `std:🧵:Builder::name`.

None
2016-06-25 15:47:31 -07:00
Jeffrey Seyfried
d3ae56d755 Rollup merge of #34403 - jonathandturner:move_liberror, r=alexcrichton
This PR refactors the 'errors' part of libsyntax into its own crate (librustc_errors).  This is the first part of a few refactorings to simplify error reporting and potentially support more output formats (like a standardized JSON output and possibly an --explain mode that can work with the user's code), though this PR stands on its own and doesn't assume further changes.

As part of separating out the errors crate, I have also refactored the code position portion of codemap into its own crate (libsyntax_pos).  While it's helpful to have the common code positions in a separate crate for the new errors crate, this may also enable further simplifications in the future.
2016-06-25 22:35:09 +00:00
Jeffrey Seyfried
4e2e31c118 Rollup merge of #34368 - petrochenkov:astqpath, r=Manishearth
The AST part of https://github.com/rust-lang/rust/pull/34365

plugin-[breaking-change] cc https://github.com/rust-lang/rust/issues/31645
2016-06-25 22:35:06 +00:00
Jeffrey Seyfried
f0310e061b Rollup merge of #34213 - josephDunne:trait_item_macros, r=jseyfried
**syntax-[breaking-change]** cc #31645
New `TraitItemKind::Macro` variant

This change adds support for macro expansion inside trait items by adding the new `TraitItemKind::Macro` and associated parsing code.
2016-06-25 22:35:01 +00:00
Oliver Middleton
27e4ecd721 rustdoc: Fix search result layout for enum variants and struct fields 2016-06-25 23:24:10 +01:00
bors
91c0d04943 Auto merge of #34410 - frewsxcv:code-like, r=apasel422
Parameters in doc comment should be formatted code-like.

None
2016-06-25 13:01:31 -07:00
Guillaume Gomez
988ca464e4 Fix E0269 error explanation 2016-06-25 18:25:53 +02:00
Corey Farwell
f300fafccd Indicate how the std::path::Components struct is created. 2016-06-25 10:05:01 -04:00
bors
b8214dc6c6 Auto merge of #34464 - Manishearth:rollup, r=Manishearth
Rollup of 8 pull requests

- Successful merges: #34379, #34406, #34411, #34414, #34435, #34438, #34445, #34449
- Failed merges:
2016-06-25 06:45:07 -07:00
Corey Farwell
c55f0922aa Add hyperlinks to std::fs functions from std::path. 2016-06-25 09:26:41 -04:00