]> git.lizzy.rs Git - rust.git/log
rust.git
6 years agorustdoc: discard struct ctors from imports
QuietMisdreavus [Thu, 14 Jun 2018 21:34:32 +0000 (16:34 -0500)]
rustdoc: discard struct ctors from imports

6 years agocreate multiple HIR items for a use statement
QuietMisdreavus [Wed, 13 Jun 2018 16:44:06 +0000 (11:44 -0500)]
create multiple HIR items for a use statement

6 years agoAuto merge of #51521 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
bors [Tue, 12 Jun 2018 17:37:12 +0000 (17:37 +0000)]
Auto merge of #51521 - Mark-Simulacrum:rollup, r=Mark-Simulacrum

Rollup of 3 pull requests

Successful merges:

 - #51261 (Updated RELEASES.md for 1.27.0)
 - #51502 (Make parse_seq_to_end and parse_path public)
 - #51510 (Long diagnostic for E0538)

Failed merges:

6 years agoRollup merge of #51510 - Havvy:diagnostic-list, r=GuillaumeGomez
Mark Rousskov [Tue, 12 Jun 2018 17:22:54 +0000 (11:22 -0600)]
Rollup merge of #51510 - Havvy:diagnostic-list, r=GuillaumeGomez

Long diagnostic for E0538

r? @GuillaumeGomez

6 years agoRollup merge of #51502 - jebrosen:pub_parse_methods, r=Mark-Simulacrum
Mark Rousskov [Tue, 12 Jun 2018 17:22:53 +0000 (11:22 -0600)]
Rollup merge of #51502 - jebrosen:pub_parse_methods, r=Mark-Simulacrum

Make parse_seq_to_end and parse_path public

(see SergioBenitez/Rocket#660, rust-lang/rust#51265)

Rocket currently uses `parse_seq_to_end` and `parse_path` in its codegen macros. Assuming I tested correctly, this is the minimal set of methods that are currently necessary to build Rocket again. I would be happy to add documentation of this and Rocket's other usages, if desired.

6 years agoRollup merge of #51261 - Aaronepower:master, r=Mark-Simulacrum
Mark Rousskov [Tue, 12 Jun 2018 17:22:52 +0000 (11:22 -0600)]
Rollup merge of #51261 - Aaronepower:master, r=Mark-Simulacrum

Updated RELEASES.md for 1.27.0

[Rendered](https://github.com/Aaronepower/rust/blob/master/RELEASES.md)
r? @Mark-Simulacrum
cc @rust-lang/release

6 years agoUpdated RELEASES.md for 1.27.0
Aaron Power [Thu, 31 May 2018 22:32:20 +0000 (23:32 +0100)]
Updated RELEASES.md for 1.27.0

6 years agoAuto merge of #51519 - ExpHP:issue-51331-b, r=petrochenkov
bors [Tue, 12 Jun 2018 15:23:28 +0000 (15:23 +0000)]
Auto merge of #51519 - ExpHP:issue-51331-b, r=petrochenkov

Fix for $crate var normalization in proc macro for externally defined macros

Fixes #51331, a bug that has existed in at least *some* form for a year and a half.

The PR includes the addition of a `fold_qpath` method to `syntax::fold::Folder`.  Overriding this method is useful for folds that modify paths in a way that invalidates indices (insertion or removal of a component), as it provides the opportunity to update `qself.position` in `<A as B>::C` paths.  I added it because the bugfix is messy without it.

(unfortunately, grepping around the codebase, I did not see anything else that could use it.)

6 years agoAuto merge of #51507 - Aaronepower:fix_51091, r=Mark-Simulacrum
bors [Tue, 12 Jun 2018 13:16:20 +0000 (13:16 +0000)]
Auto merge of #51507 - Aaronepower:fix_51091, r=Mark-Simulacrum

Removed incorrect release note.

 fixes #51091

6 years agofix issue #51331 by updating qself.position
Michael Lamparski [Mon, 11 Jun 2018 23:44:48 +0000 (19:44 -0400)]
fix issue #51331 by updating qself.position

6 years agoadd fold::Folder::fold_qpath
Michael Lamparski [Mon, 11 Jun 2018 23:26:53 +0000 (19:26 -0400)]
add fold::Folder::fold_qpath

6 years agoadd tests for $crate in QSelf paths
Michael Lamparski [Mon, 11 Jun 2018 23:29:12 +0000 (19:29 -0400)]
add tests for $crate in QSelf paths

6 years agoAuto merge of #51508 - PSeitz:master, r=Mark-Simulacrum
bors [Tue, 12 Jun 2018 11:06:09 +0000 (11:06 +0000)]
Auto merge of #51508 - PSeitz:master, r=Mark-Simulacrum

Make span_fatal and parse_block public

span_fatal and parse_block  were made private in #51265. These methods are used in stainless.

Related #51498 #51504

6 years agoAuto merge of #51505 - cuviper:these-go-to-11, r=estebank
bors [Tue, 12 Jun 2018 07:08:09 +0000 (07:08 +0000)]
Auto merge of #51505 - cuviper:these-go-to-11, r=estebank

Regenerate character tables for Unicode 11

None

6 years agoAuto merge of #51498 - topecongiro:pub-parse_ident, r=petrochenkov
bors [Tue, 12 Jun 2018 02:48:10 +0000 (02:48 +0000)]
Auto merge of #51498 - topecongiro:pub-parse_ident, r=petrochenkov

Make parse_ident public

`parse_ident` was made private in #51265. In rustfmt the method is used to create a custom parser for macro call.

6 years agoAuto merge of #51241 - glandium:globalalloc, r=sfackler,SimonSapin
bors [Tue, 12 Jun 2018 00:36:21 +0000 (00:36 +0000)]
Auto merge of #51241 - glandium:globalalloc, r=sfackler,SimonSapin

Stabilize GlobalAlloc and #[global_allocator]

This PR implements the changes discussed in https://github.com/rust-lang/rust/issues/49668#issuecomment-393263510

Fixes #49668
Fixes #27389

This does not change the default global allocator: #36963

6 years agoSlightly better summary for E0538
Havvy [Tue, 12 Jun 2018 00:21:15 +0000 (17:21 -0700)]
Slightly better summary for E0538

6 years agoLong diagnostic for E0538
Havvy [Mon, 11 Jun 2018 20:26:03 +0000 (13:26 -0700)]
Long diagnostic for E0538

6 years agoAuto merge of #50617 - GuillaumeGomez:fix-extern-prelude, r=QuietMisdreavus
bors [Mon, 11 Jun 2018 22:23:08 +0000 (22:23 +0000)]
Auto merge of #50617 - GuillaumeGomez:fix-extern-prelude, r=QuietMisdreavus

Fix extern prelude failure in rustdoc

Fixes #50561.

r? @QuietMisdreavus

6 years agoMore alloc docs tweaks
Simon Sapin [Fri, 1 Jun 2018 07:18:25 +0000 (09:18 +0200)]
More alloc docs tweaks

6 years agoAlloc docs teaks
Simon Sapin [Fri, 1 Jun 2018 00:19:36 +0000 (02:19 +0200)]
Alloc docs teaks

6 years agoMark alloc_jemalloc as perma-unstable
Simon Sapin [Thu, 31 May 2018 18:24:50 +0000 (20:24 +0200)]
Mark alloc_jemalloc as perma-unstable

6 years agoMove Unstable Book sections for #[global_allocator] and System to std::alloc docs
Simon Sapin [Thu, 31 May 2018 18:22:59 +0000 (20:22 +0200)]
Move Unstable Book sections for #[global_allocator] and System to std::alloc docs

6 years agoRemove some '#[feature]' attributes for stabilized features
Simon Sapin [Thu, 31 May 2018 17:31:00 +0000 (19:31 +0200)]
Remove some '#[feature]' attributes for stabilized features

6 years agoStabilize the #[global_allocator] attribute
Simon Sapin [Thu, 31 May 2018 17:33:13 +0000 (19:33 +0200)]
Stabilize the #[global_allocator] attribute

Fixes https://github.com/rust-lang/rust/issues/27389

6 years agoStabilize the `System` allocator
Simon Sapin [Thu, 31 May 2018 17:16:24 +0000 (19:16 +0200)]
Stabilize the `System` allocator

6 years agoMove set_oom_hook and take_oom_hook to a dedicated tracking issue
Simon Sapin [Thu, 31 May 2018 17:15:11 +0000 (19:15 +0200)]
Move set_oom_hook and take_oom_hook to a dedicated tracking issue

6 years agoStabilize alloc::oom (but not set_oom_hook or take_oom_hook)
Simon Sapin [Thu, 31 May 2018 17:13:57 +0000 (19:13 +0200)]
Stabilize alloc::oom (but not set_oom_hook or take_oom_hook)

6 years agoStabilize alloc free functions for the global allocators.
Simon Sapin [Thu, 31 May 2018 17:13:37 +0000 (19:13 +0200)]
Stabilize alloc free functions for the global allocators.

6 years agoStablize the GlobalAlloc trait
Simon Sapin [Thu, 31 May 2018 17:13:18 +0000 (19:13 +0200)]
Stablize the GlobalAlloc trait

Fixes https://github.com/rust-lang/rust/issues/49668

6 years agoStabilize alloc::Layout (with only some of its methods)
Simon Sapin [Thu, 31 May 2018 17:10:08 +0000 (19:10 +0200)]
Stabilize alloc::Layout (with only some of its methods)

6 years agoMark as permanently-unstable some implementation details
Simon Sapin [Thu, 31 May 2018 16:38:39 +0000 (18:38 +0200)]
Mark as permanently-unstable some implementation details

6 years agoStablize the alloc module without changing stability of its contents.
Simon Sapin [Thu, 31 May 2018 16:36:51 +0000 (18:36 +0200)]
Stablize the alloc module without changing stability of its contents.

6 years agoDocument memory allocation APIs
Simon Sapin [Thu, 31 May 2018 16:23:42 +0000 (18:23 +0200)]
Document memory allocation APIs

Add some docs where they were missing,
attempt to fix them where they were out of date.

6 years agoRemove some unneeded casts
Simon Sapin [Wed, 30 May 2018 19:04:17 +0000 (21:04 +0200)]
Remove some unneeded casts

6 years agoRemove the deprecated Heap type/const
Simon Sapin [Wed, 30 May 2018 19:15:40 +0000 (21:15 +0200)]
Remove the deprecated Heap type/const

6 years agoRemove deprecated heap modules
Simon Sapin [Wed, 30 May 2018 18:46:59 +0000 (20:46 +0200)]
Remove deprecated heap modules

The heap.rs file was already unused.

6 years agoReplace `impl GlobalAlloc for Global` with a set of free functions
Mike Hommey [Thu, 31 May 2018 07:10:01 +0000 (16:10 +0900)]
Replace `impl GlobalAlloc for Global` with a set of free functions

6 years agoRemove alloc::Opaque and use *mut u8 as pointer type for GlobalAlloc
Mike Hommey [Thu, 31 May 2018 06:57:43 +0000 (15:57 +0900)]
Remove alloc::Opaque and use *mut u8 as pointer type for GlobalAlloc

6 years agoFix extern prelude failure in rustdoc
Guillaume Gomez [Thu, 10 May 2018 18:13:25 +0000 (20:13 +0200)]
Fix extern prelude failure in rustdoc

6 years agoAuto merge of #51442 - tinaun:more-future-impls, r=cramertj
bors [Mon, 11 Jun 2018 20:14:39 +0000 (20:14 +0000)]
Auto merge of #51442 - tinaun:more-future-impls, r=cramertj

[futures] add a few blanket impls to std

these were defined in the futures crate, but with the core definitions moving to std these would need to move too.

6 years agoMake span_fatal and parse_block public
PSeitz [Mon, 11 Jun 2018 19:19:12 +0000 (21:19 +0200)]
Make span_fatal and parse_block public

span_fatal and parse_block  were made private in #51265. These methods are used in stainless.

Related #51498 #51504

6 years agoRemoved incorrect release note. fixes #51091
Aaron Power [Mon, 11 Jun 2018 19:11:28 +0000 (20:11 +0100)]
Removed incorrect release note. fixes #51091

6 years agoRegenerate character tables for Unicode 11
Josh Stone [Mon, 11 Jun 2018 17:54:30 +0000 (10:54 -0700)]
Regenerate character tables for Unicode 11

6 years agoMake parse_seq_to_end and parse_path public
jeb [Mon, 11 Jun 2018 16:40:58 +0000 (10:40 -0600)]
Make parse_seq_to_end and parse_path public

6 years agoAuto merge of #51490 - Havvy:diagnostic-list, r=GuillaumeGomez
bors [Mon, 11 Jun 2018 15:28:44 +0000 (15:28 +0000)]
Auto merge of #51490 - Havvy:diagnostic-list, r=GuillaumeGomez

Long diagnostic for E0541

r? @GuillaumeGomez

6 years agoMake parse_ident public
Seiichi Uchida [Mon, 11 Jun 2018 14:04:11 +0000 (23:04 +0900)]
Make parse_ident public

6 years agoAuto merge of #51478 - crlf0710:patch-2, r=QuietMisdreavus
bors [Mon, 11 Jun 2018 13:24:00 +0000 (13:24 +0000)]
Auto merge of #51478 - crlf0710:patch-2, r=QuietMisdreavus

Add #[doc(inline)] in std::task

Add #[doc(inline)] in `std::task` to make the nightly docs seem right.

6 years agoMore E0541 long diagnostic wording tweaks
Havvy [Mon, 11 Jun 2018 10:51:04 +0000 (03:51 -0700)]
More E0541 long diagnostic wording tweaks

6 years agoAuto merge of #51480 - dtolnay:lifetime, r=kennytm
bors [Mon, 11 Jun 2018 10:43:20 +0000 (10:43 +0000)]
Auto merge of #51480 - dtolnay:lifetime, r=kennytm

Enable fall through past $:lifetime matcher

```rust
macro_rules! is_lifetime {
    ($lifetime:lifetime) => { true };
    ($other:tt) => { false };
}

fn main() {
    println!("{}", is_lifetime!('lifetime));
    println!("{}", is_lifetime!(@));
}
```

Before this fix, the `is_lifetime!` invocation would fail to compile with:

```
error: expected a lifetime, found `@`
 --> src/main.rs:8:33
  |
8 |     println!("{}", is_lifetime!(@));
  |                                 ^
```

Fixes #50903.
Fixes #51477.

r? @kennytm

6 years agoMake tidy happy
Havvy [Mon, 11 Jun 2018 10:04:08 +0000 (03:04 -0700)]
Make tidy happy

6 years agoFix typos in previous commit
Havvy [Mon, 11 Jun 2018 09:44:55 +0000 (02:44 -0700)]
Fix typos in previous commit

6 years agoLong diagnostic for E0541
Havvy [Mon, 11 Jun 2018 08:52:12 +0000 (01:52 -0700)]
Long diagnostic for E0541

6 years agoAuto merge of #51467 - toidiu:ak-51409, r=nikomatsakis
bors [Mon, 11 Jun 2018 08:37:01 +0000 (08:37 +0000)]
Auto merge of #51467 - toidiu:ak-51409, r=nikomatsakis

create separate dep-nodes for predicates_of and explicit_predicates_of

Fix for https://github.com/rust-lang/rust/issues/51409

- added incremental compilation test for infer_outlives_requirements
- created separate dep-node for explicit_predicates_of

6 years agoAuto merge of #51423 - RalfJung:from_raw_parts, r=sfackler
bors [Mon, 11 Jun 2018 03:48:23 +0000 (03:48 +0000)]
Auto merge of #51423 - RalfJung:from_raw_parts, r=sfackler

Improve docs for slice::from_raw_parts

Explain why the pointer must be non-null and aligned.

Cc @hsivonen

6 years agoAuto merge of #51461 - estebank:e0423-doc, r=petrochenkov
bors [Mon, 11 Jun 2018 00:32:22 +0000 (00:32 +0000)]
Auto merge of #51461 - estebank:e0423-doc, r=petrochenkov

Update E0423 description

E0423 doesn't apply only to structs, update the error index description
to make this clear.

Fix #42077.

6 years agoAuto merge of #51475 - GuillaumeGomez:fix-error-codes, r=Manishearth
bors [Sun, 10 Jun 2018 22:30:14 +0000 (22:30 +0000)]
Auto merge of #51475 - GuillaumeGomez:fix-error-codes, r=Manishearth

Fix error codes

6 years agoEnable fall through past $:lifetime matcher
David Tolnay [Sun, 10 Jun 2018 21:26:26 +0000 (14:26 -0700)]
Enable fall through past $:lifetime matcher

6 years agoAuto merge of #50205 - topecongiro:include-parens-to-type-parameter, r=petrochenkov
bors [Sun, 10 Jun 2018 20:09:22 +0000 (20:09 +0000)]
Auto merge of #50205 - topecongiro:include-parens-to-type-parameter, r=petrochenkov

Include parens to type parameter

The motivation of this PR is to fix a bug in rustfmt (cc https://github.com/rust-lang-nursery/rustfmt/issues/2630).

6 years agoAdd #[doc(inline)] in std::task
CrLF0710 [Sun, 10 Jun 2018 19:09:30 +0000 (03:09 +0800)]
Add #[doc(inline)] in std::task

Add #[doc(inline)] in `std::task` to make the doc seem right.

6 years agoAuto merge of #51474 - llogiq:from-docs, r=TimNN
bors [Sun, 10 Jun 2018 18:00:12 +0000 (18:00 +0000)]
Auto merge of #51474 - llogiq:from-docs, r=TimNN

add some docs to `From` conversions

This adds a helpful document to the bool → int* conversions as well as to the lossless integer conversions.

One of #51430 down, some more to go.

6 years agoAuto merge of #51200 - tmccombs:stable-iter-repeat-with, r=Centril,kennytm
bors [Sun, 10 Jun 2018 15:48:14 +0000 (15:48 +0000)]
Auto merge of #51200 - tmccombs:stable-iter-repeat-with, r=Centril,kennytm

Stabilize iterator_repeat_with

Fixes #48169

6 years agoAuto merge of #51079 - GuillaumeGomez:stabilize-entry-or-default, r=SimonSapin
bors [Sun, 10 Jun 2018 12:46:14 +0000 (12:46 +0000)]
Auto merge of #51079 - GuillaumeGomez:stabilize-entry-or-default, r=SimonSapin

Stabilize entry-or-default

Fixes #44324.

cc @SimonSapin

6 years agoFix error codes
Guillaume Gomez [Sun, 10 Jun 2018 12:04:48 +0000 (14:04 +0200)]
Fix error codes

6 years agoadd some docs to conversions
Andre Bogus [Sun, 10 Jun 2018 11:16:34 +0000 (13:16 +0200)]
add some docs to  conversions

6 years agoStabilize entry-or-default
Guillaume Gomez [Sat, 26 May 2018 09:11:17 +0000 (11:11 +0200)]
Stabilize entry-or-default

6 years agoAuto merge of #51196 - Havvy:remove-keywords, r=petrochenkov
bors [Sun, 10 Jun 2018 08:26:10 +0000 (08:26 +0000)]
Auto merge of #51196 - Havvy:remove-keywords, r=petrochenkov

Implement RFC 2421, 'Keyword unreservations (pure, sizeof, alignof, offsetof)

On my local machine I was getting failures in `test/ui-fulldeps`, but I was also getting them again after reverting the change, so I'm hoping that this works.

I removed the test because that's what the other PR that unreserved a keyword did and I feel that it doesn't make sense/keep value to keep a test for something removed years ago.

6 years agocreate separate dep-nodes for predicates_of and explicit_predicates_of
toidiu [Sun, 10 Jun 2018 06:04:33 +0000 (02:04 -0400)]
create separate dep-nodes for predicates_of and explicit_predicates_of

6 years agoAuto merge of #51320 - tmccombs:step-by, r=SimonSapin
bors [Sun, 10 Jun 2018 01:45:42 +0000 (01:45 +0000)]
Auto merge of #51320 - tmccombs:step-by, r=SimonSapin

Stabilize Iterator::step_by

Fixes #27741

6 years agoUpdate tests
Seiichi Uchida [Sat, 9 Jun 2018 08:37:07 +0000 (17:37 +0900)]
Update tests

6 years agoSimplify an error handling in the parser
Seiichi Uchida [Sat, 9 Jun 2018 08:36:44 +0000 (17:36 +0900)]
Simplify an error handling in the parser

6 years agoInclude parens to type parameter
Seiichi Uchida [Fri, 27 Apr 2018 08:32:54 +0000 (17:32 +0900)]
Include parens to type parameter

6 years agoAuto merge of #51265 - Mark-Simulacrum:cleanup-syntax-parse, r=petrochenkov
bors [Sat, 9 Jun 2018 23:32:01 +0000 (23:32 +0000)]
Auto merge of #51265 - Mark-Simulacrum:cleanup-syntax-parse, r=petrochenkov

crate-ify and delete unused code from syntax::parse

This is intended primarily to ensure the compiler catches dead code for us in
more cases.

6 years agoCrate-ify and delete unused code in syntax::parse
Mark Simulacrum [Thu, 31 May 2018 22:53:30 +0000 (16:53 -0600)]
Crate-ify and delete unused code in syntax::parse

6 years agoUpdate E0423 description
Esteban Küber [Sat, 9 Jun 2018 21:21:07 +0000 (14:21 -0700)]
Update E0423 description

E0423 doesn't apply only to structs, update the error index description
to make this clear.

6 years agoAuto merge of #51459 - kennytm:dist-at-stage-0, r=Mark-Simulacrum
bors [Sat, 9 Jun 2018 21:22:36 +0000 (21:22 +0000)]
Auto merge of #51459 - kennytm:dist-at-stage-0, r=Mark-Simulacrum

Miscellaneous changes to rustbuild and CI.

1. Don't build LLVM when running rust-installer.
2. If toolstate is unchanged, don't push a commit to the toolstate repo.
3. Allow `./x.py build src/librustc_codegen_llvm`
4. Added log to track #50887.

6 years agoTest keyword unreservations
Havvy [Fri, 1 Jun 2018 16:01:16 +0000 (09:01 -0700)]
Test keyword unreservations

6 years agoImplement RFC 2421, 'Keyword unreservations (pure, sizeof, alignof, offsetof)'
Havvy [Wed, 30 May 2018 00:08:29 +0000 (17:08 -0700)]
Implement RFC 2421, 'Keyword unreservations (pure, sizeof, alignof, offsetof)'

6 years agoAdded comment to explain why only RustIstaller has `llvm_tools = false`.
kennytm [Sat, 9 Jun 2018 20:50:42 +0000 (04:50 +0800)]
Added comment to explain why only RustIstaller has `llvm_tools = false`.

6 years agoLog the clang_rt.asan-dynamic-i386.vers on failure to track #50887
kennytm [Sat, 9 Jun 2018 17:31:55 +0000 (01:31 +0800)]
Log the clang_rt.asan-dynamic-i386.vers on failure to track #50887

6 years agoAllowing building the codegen backend specifically.
kennytm [Sat, 9 Jun 2018 17:27:24 +0000 (01:27 +0800)]
Allowing building the codegen backend specifically.

Use `./x.py build src/librustc_codegen_llvm` to build the codegen backend.

6 years agoDo not push a commit if the toolstate is unchanged.
kennytm [Sat, 9 Jun 2018 14:49:02 +0000 (22:49 +0800)]
Do not push a commit if the toolstate is unchanged.

This should greatly reduce the commits on the rust-toolstate repository.

`publish_toolstate.py` defaults to keep the old status if a new one is not
found, so nothing needs to be changed to that file.

6 years agoAllow some tools to be run without first building LLVM.
kennytm [Sat, 9 Jun 2018 07:48:44 +0000 (15:48 +0800)]
Allow some tools to be run without first building LLVM.

Conservatively only disable LLVM for rust-installer. This should shave
5 minutes from the x86_64-gnu-distcheck job by not building LLVM twice.

6 years agoAuto merge of #51068 - Crazycolorz5:pluseqsplitting, r=petrochenkov
bors [Sat, 9 Jun 2018 17:46:36 +0000 (17:46 +0000)]
Auto merge of #51068 - Crazycolorz5:pluseqsplitting, r=petrochenkov

parser: Split `+=` into `+` and `=` where `+` is explicitly requested (such as generics)

Added functions in tokens to check whether a token leads with `+`. Used them when parsing to allow for token splitting of `+=` into `+` and `=`.
Fixes https://github.com/rust-lang/rust/issues/47856

6 years agoAuto merge of #51441 - bstrie:sizeof128, r=dtolnay
bors [Sat, 9 Jun 2018 15:41:44 +0000 (15:41 +0000)]
Auto merge of #51441 - bstrie:sizeof128, r=dtolnay

Document size_of for 128-bit integers

We might want to consider separately documenting the alignment of
primitives, rather than just their size, since 128-bit integers, unlike
all other primitives, have an alignment that is not identical to their
size (size_of is 16, align_of is 8)

6 years agoAuto merge of #51439 - Voultapher:feature/fix-contributing-spelling-error, r=kennytm
bors [Sat, 9 Jun 2018 12:35:21 +0000 (12:35 +0000)]
Auto merge of #51439 - Voultapher:feature/fix-contributing-spelling-error, r=kennytm

Fix spelling error in CONTRIBUTING.md

Thought I'd start with something small.

6 years agoAuto merge of #51400 - xfix:patch-6, r=kennytm
bors [Sat, 9 Jun 2018 10:22:59 +0000 (10:22 +0000)]
Auto merge of #51400 - xfix:patch-6, r=kennytm

Increase number of usages of `u8` in weird expressions u8 test

6 years agoBe more precise about why references need to be non-null and aligned
Ralf Jung [Sat, 9 Jun 2018 08:40:51 +0000 (10:40 +0200)]
Be more precise about why references need to be non-null and aligned

6 years agoadd inherent methods to Poll
tinaun [Sat, 9 Jun 2018 03:24:52 +0000 (23:24 -0400)]
add inherent methods to Poll

6 years agoAuto merge of #51359 - cramertj:fdio_spawn, r=sfackler
bors [Sat, 9 Jun 2018 03:41:31 +0000 (03:41 +0000)]
Auto merge of #51359 - cramertj:fdio_spawn, r=sfackler

[fuchsia] Migrate from launchpad to fdio_spawn_etc

fdio_spawn_etc is the preferred way of creating processes on Fuchsia
now.

cc @abarth

6 years agoaddressed nits
tinaun [Sat, 9 Jun 2018 03:16:51 +0000 (23:16 -0400)]
addressed nits

6 years agoAuto merge of #51042 - matthewjasper:reenable-trivial-bounds, r=nikomatsakis
bors [Sat, 9 Jun 2018 01:32:48 +0000 (01:32 +0000)]
Auto merge of #51042 - matthewjasper:reenable-trivial-bounds, r=nikomatsakis

Re-enable trivial bounds

cc #50825

Remove implementations from global bounds in winnowing when there is ambiguity.

This results in the reverse of #24066 happening sometimes. I'm not sure if anything can be done about that though.

cc #48214

r? @nikomatsakis

6 years agoAuto merge of #51448 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
bors [Fri, 8 Jun 2018 23:22:33 +0000 (23:22 +0000)]
Auto merge of #51448 - Mark-Simulacrum:rollup, r=Mark-Simulacrum

Rollup of 13 pull requests

Successful merges:

 - #50143 (Add deprecation lint for duplicated `macro_export`s)
 - #51099 (Fix Issue 38777)
 - #51276 (Dedup auto traits in trait objects.)
 - #51298 (Stabilize unit tests with non-`()` return type)
 - #51360 (Suggest parentheses when a struct literal needs them)
 - #51391 (Use spans pointing at the inside of a rustdoc attribute)
 - #51394 (Use scope tree depths to speed up `nearest_common_ancestor`.)
 - #51396 (Make the size of Option<NonZero*> a documented guarantee.)
 - #51401 (Warn on `repr` without hints)
 - #51412 (Avoid useless Vec clones in pending_obligations().)
 - #51427 (compiletest: autoremove duplicate .nll.* files (#51204))
 - #51436 (Do not require stage 2 compiler for rustdoc)
 - #51437 (rustbuild: generate full list of dependencies for metadata)

Failed merges:

6 years agoRollup merge of #51437 - est31:rustbuild_metadata, r=Mark-Simulacrum
Mark Rousskov [Fri, 8 Jun 2018 23:21:10 +0000 (17:21 -0600)]
Rollup merge of #51437 - est31:rustbuild_metadata, r=Mark-Simulacrum

rustbuild: generate full list of dependencies for metadata

Previously, we didn't send --features to our cargo metadata invocations,
and thus missed some dependencies that we enable through the --features
mechanism.

6 years agoRollup merge of #51436 - Mark-Simulacrum:doc-stage1, r=QuietMisdreavus
Mark Rousskov [Fri, 8 Jun 2018 23:21:09 +0000 (17:21 -0600)]
Rollup merge of #51436 - Mark-Simulacrum:doc-stage1, r=QuietMisdreavus

Do not require stage 2 compiler for rustdoc

r? @QuietMisdreavus

Fixes https://github.com/rust-lang/rust/issues/51424

I *think* this is correct; though I'm not certain. If it passes CI though I expect that to be good enough...

6 years agoRollup merge of #51427 - FelixMcFelix:nll-stderr-remover, r=oli-obk
Mark Rousskov [Fri, 8 Jun 2018 23:21:08 +0000 (17:21 -0600)]
Rollup merge of #51427 - FelixMcFelix:nll-stderr-remover, r=oli-obk

compiletest: autoremove duplicate .nll.* files (#51204)

UI tests in bless mode should now check to see if `.nll.*` files have a
matching `.*` file. If a match is found, it will be deleted.
This should be extensible to other modes (i.e., Polonius).
On running with `--bless`, the two files removed in #51186 are, in turn,
removed automatically.

fixes #51204

6 years agoRollup merge of #51412 - nnethercote:pending_obligations, r=estebank
Mark Rousskov [Fri, 8 Jun 2018 23:21:07 +0000 (17:21 -0600)]
Rollup merge of #51412 - nnethercote:pending_obligations, r=estebank

Avoid useless Vec clones in pending_obligations().

The only instance of `ObligationForest` in use has an obligation type of
`PendingPredicateObligation`, which contains a `PredicateObligation` and a
`Vec<Ty>`.

`FulfillmentContext::pending_obligations()` calls
`ObligationForest::pending_obligations()`, which clones all the
`PendingPredicateObligation`s. But the `Vec<Ty>` field of those cloned
obligations is never touched.

This patch changes `ObligationForest::pending_obligations()` to
`map_pending_obligations` -- which gives callers control about which part
of the obligation to clone -- and takes advantage of the change to avoid
cloning the `Vec<Ty>`. The change speeds up runs of a few rustc-perf
benchmarks, the best by 1%.

6 years agoRollup merge of #51401 - estebank:warn-repr, r=cramertj
Mark Rousskov [Fri, 8 Jun 2018 23:21:05 +0000 (17:21 -0600)]
Rollup merge of #51401 - estebank:warn-repr, r=cramertj

Warn on `repr` without hints

Fix #51376.

6 years agoRollup merge of #51396 - SimonSapin:option-nonzero-layout, r=SimonSapin
Mark Rousskov [Fri, 8 Jun 2018 23:21:04 +0000 (17:21 -0600)]
Rollup merge of #51396 - SimonSapin:option-nonzero-layout, r=SimonSapin

Make the size of Option<NonZero*> a documented guarantee.

Closes #49137, the tracking issue for `NonZero*`, as this was the last remaining open question.

Note that `ptr::NonNull<T>` already documents a similar guarantee.

6 years agoRollup merge of #51394 - nnethercote:NCA-depths, r=nikomatsakis
Mark Rousskov [Fri, 8 Jun 2018 23:21:03 +0000 (17:21 -0600)]
Rollup merge of #51394 - nnethercote:NCA-depths, r=nikomatsakis

Use scope tree depths to speed up `nearest_common_ancestor`.

This patch adds depth markings to all entries in the `ScopeTree`'s
`parent_map`. This change increases memory usage somewhat, but permits a
much faster algorithm to be used:

- If one scope has a greater depth than the other, the deeper scope is
  moved upward until they are at equal depths.

- Then we move the two scopes upward in lockstep until they match.

This avoids the need to keep track of which scopes have already been
seen, which was the major part of the cost of the old algorithm. It also
reduces the number of child-to-parent moves (which are hash table
lookups) when the scopes start at different levels, because it never
goes past the nearest common ancestor the way the old algorithm did.

Finally, the case where one of the scopes is the root is now handled in
advance, because that is moderately common and lets us skip everything.

This change speeds up runs of several rust-perf benchmarks, the best by
6%.

A selection of the bigger improvements:
```
clap-rs-check
        avg: -2.6%      min: -6.6%      max: 0.0%
syn-check
        avg: -2.2%      min: -5.0%      max: 0.0%
style-servo-check
        avg: -2.9%?     min: -4.8%?     max: 0.0%?
cargo-check
        avg: -1.3%      min: -2.8%      max: 0.0%
sentry-cli-check
        avg: -1.0%      min: -2.1%      max: 0.0%
webrender-check
        avg: -0.9%      min: -2.0%      max: 0.0%
style-servo
        avg: -0.9%?     min: -1.8%?     max: -0.0%?
ripgrep-check
        avg: -0.7%      min: -1.8%      max: 0.1%
clap-rs
        avg: -0.9%      min: -1.6%      max: -0.2%
regex-check
        avg: -0.2%      min: -1.3%      max: 0.1%
syn
        avg: -0.6%      min: -1.3%      max: 0.1%
hyper-check
        avg: -0.5%      min: -1.1%      max: 0.0%
```
The idea came from multiple commenters on my blog and on Reddit. Thank you!

r? @nikomatsakis