Commit graph

97314 commits

Author SHA1 Message Date
Esteban Küber
b9865d9e3f Mention that tuple structs are private if their fields are 2019-08-09 12:52:02 -07:00
bors
813a3a5d4b Auto merge of #63302 - nikic:bump-llvm, r=alexcrichton
Update LLVM submodule

This pulls in a newer version of the LLVM 9 release branch.

Fixes #62932.

r? @alexcrichton
2019-08-09 08:24:43 +00:00
bors
d8f8be4636 Auto merge of #61937 - AaronKutch:master, r=scottmcm
Improve `ptr_rotate` performance, tests, and benches

The corresponding issue is #61784. I am not actually sure if miri can handle the test, but I can change the commit if necessary.
2019-08-09 04:41:20 +00:00
bors
5aa3d9a7b5 Auto merge of #63395 - Centril:rollup-kt805cj, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #63162 (Miri tests: use xargo to build separate libstd)
 - #63289 (Don't recommend `extern crate` syntax)
 - #63373 (gitignore: add comment explaining policy)
 - #63374 (move of packed fields might or might not occur when they actually are sufficiently aligned)
 - #63381 (reduce visibility)
 - #63387 (Test interaction between `async { ... }` and `?`, `return`, and `break`)

Failed merges:

r? @ghost
2019-08-08 23:39:01 +00:00
Mazdak Farrokhzad
87fb0ad485
Rollup merge of #63387 - Centril:async-block-control-flow-tests, r=cramertj
Test interaction between `async { ... }` and `?`, `return`, and `break`

Per the second checkbox in https://github.com/rust-lang/rust/issues/62121#issuecomment-506884048, test that `async { .. }` blocks:
1. do not allow `break` expressions.
2. get targeted by `return` and not the parent function.
3. get targeted by `?` and not the parent function.

Works towards resolving blockers in #63209.

r? @cramertj
2019-08-09 01:38:36 +02:00
Mazdak Farrokhzad
c9dd9309f2
Rollup merge of #63381 - matklad:reduce-visibility, r=Centril
reduce visibility

r? @petrochenkov
2019-08-09 01:38:34 +02:00
Mazdak Farrokhzad
432b55e457
Rollup merge of #63374 - RalfJung:pin-packed, r=cramertj
move of packed fields might or might not occur when they actually are sufficiently aligned

See https://github.com/taiki-e/pin-project/pull/34, where it was pointed out that we actually don't move fields of 1-aligned types when dropping a packed struct -- but e.g. in a `packed(2)` struct, we don't do something similar for 2-aligned types. The code for that is [here](db7c773a6b/src/librustc_mir/util/alignment.rs (L7)).
2019-08-09 01:38:33 +02:00
Mazdak Farrokhzad
82e976212f
Rollup merge of #63373 - RalfJung:gitignore, r=alexcrichton
gitignore: add comment explaining policy

Based on https://github.com/rust-lang/rust/pull/63307#issuecomment-518539503, I added a comment what I think should be gitignored and what not. This is just a proposal, obviously.  Also see https://github.com/rust-lang/rust/pull/53768 for some more discussion.

The summary is that if there are junk files that you create locally and are fine leaving around (such as `mir_dump`), git has the option for you to add them to `.git/info/exclude`. Others might prefer to keep their working dir clean of those same junk files, so we shouldn't just ignore them for everyone.

I then also cleaned up a few more things, but there were many things that I had no idea where they came from so I didn't touch them.
2019-08-09 01:38:32 +02:00
Mazdak Farrokhzad
74b22c9007
Rollup merge of #63289 - kornelski:missingcrate, r=zackmdavis
Don't recommend `extern crate` syntax

`extern crate` syntax is not a good recommendation any more, so I've changed it to just print a suggested crate name.
2019-08-09 01:38:30 +02:00
Mazdak Farrokhzad
fea43aae5d
Rollup merge of #63162 - RalfJung:miri-xargo, r=alexcrichton
Miri tests: use xargo to build separate libstd

This uses `cargo miri setup` to prepare the libstd that is used for testing Miri, instead of adjusting the entire bootstrap process to make sure the libstd that already gets built is fit for Miri.

The issue with our current approach is that with `test-miri = true`, libstd and the test suite get built with `--cfg miri`, which e.g. means hashbrown uses no SIMD, and not all things are tested. Such global side-effects seem like footguns waiting to go off.

On the other hand, the new approach means we install xargo as a side-effect of doing `./x.py test src/tools/miri`, which might be surprising, and we also both have to build xargo and another libstd which costs some extra time. Not sure if the tools builders have enough time budget for that. Maybe there is a way to cache xargo?

We have to first first land https://github.com/rust-lang/miri/pull/870 in Miri and then update this PR to include that change (also to get CI to test Miri before bors), but I wanted to get the review started here.

Cc @oli-obk (for Miri) @alexcrichton (for CI) @Mark-Simulacrum (for bootstrap)

Fixes https://github.com/rust-lang/rust/issues/61833, fixes https://github.com/rust-lang/rust/issues/63219
2019-08-09 01:38:29 +02:00
Mazdak Farrokhzad
48fbf4891a Test interaction btw async blocks and ?, return, break. 2019-08-09 00:21:21 +02:00
Ralf Jung
fa58c27830 remove confusing remark 2019-08-08 21:02:11 +02:00
Ralf Jung
798767ca21 more alphabetical 2019-08-08 19:43:44 +02:00
Ralf Jung
4bde056ed2 tweak ignores 2019-08-08 19:42:46 +02:00
Ralf Jung
e6be1d7134 update miri 2019-08-08 19:32:33 +02:00
Ralf Jung
82b3b8229b don't set RUSTC_DEBUG_ASSERTIONS here; let cargo-miri do that 2019-08-08 19:31:46 +02:00
Ralf Jung
03de7fdbfa install and use xargo inside the build dir 2019-08-08 19:31:46 +02:00
Ralf Jung
05aa983f4c let us try to find out where that panic is coming from 2019-08-08 19:31:46 +02:00
Ralf Jung
ceda77486f dont test Miri by default (also be more verbose when being verbose) 2019-08-08 19:31:46 +02:00
Ralf Jung
295f894b18 remove test-miri from config.toml.example 2019-08-08 19:31:46 +02:00
Ralf Jung
2d49118fb4 more comments 2019-08-08 19:31:46 +02:00
Ralf Jung
946bed89da remove test-miri flag from bootstrap 2019-08-08 19:31:46 +02:00
Ralf Jung
78b658004c Miri test: call 'cargo miri test' and use the sysroot it has set up 2019-08-08 19:31:46 +02:00
Ralf Jung
ffb5f18a52 simplify a match 2019-08-08 19:31:45 +02:00
Ralf Jung
c4a654d9cd bootstrap: get rid of TEST_MIRI env var 2019-08-08 19:31:45 +02:00
bors
2d1a551e14 Auto merge of #63380 - Centril:rollup-tzfhtnu, r=Centril
Rollup of 8 pull requests

Successful merges:

 - #63261 (bump rand in libcore/liballoc test suites)
 - #63316 (Update rustfmt to 1.4.4)
 - #63332 (Add an overflow check in truncate implementation for Unix.)
 - #63342 (Don't use remap-path-prefix in dep-info files.)
 - #63366 (doc: Fix typo in float from bytes methods)
 - #63370 (Fix ICE #63364)
 - #63377 (Improved documentation for compile_error!())
 - #63379 (Add test for issue 53096)

Failed merges:

r? @ghost
2019-08-08 17:19:22 +00:00
Aleksey Kladov
06701a8daf reduce visibility 2019-08-08 16:58:06 +02:00
Mazdak Farrokhzad
3de450b686
Rollup merge of #63379 - jackh726:issue-53096, r=Centril,oli-obk
Add test for issue 53096

Closes #53096

r? @oli-obk
2019-08-08 16:33:44 +02:00
Mazdak Farrokhzad
bba6dda2ad
Rollup merge of #63377 - SOF3:issues/63375, r=Centril
Improved documentation for compile_error!()

Fixes #63375
2019-08-08 16:33:43 +02:00
Mazdak Farrokhzad
499887ffb9
Rollup merge of #63370 - JohnTitor:fix-ice-63364, r=varkor
Fix ICE #63364

Fixes #63364

r? @estebank cc @varkor
2019-08-08 16:33:41 +02:00
Mazdak Farrokhzad
1514bc1c68
Rollup merge of #63366 - lzutao:fix-float-to-le-bytes-typo, r=Centril
doc: Fix typo in float from bytes methods

Thanks @That3Percent for pointing it out.
r? @Centril
2019-08-08 16:33:40 +02:00
Mazdak Farrokhzad
eeacbee580
Rollup merge of #63342 - ehuss:remap-path-dep-info, r=alexcrichton
Don't use remap-path-prefix in dep-info files.

This changes it so that dep-info files do not use remapped paths.

Having remapped paths causes problems with Cargo because if you remap to a nonexistent path (like `/rustc/$HASH` which rustc distributions do), then Cargo's change tracking thinks the files don't exist and will always rebuild.

I don't actually know if this is a good idea. I think it makes sense, but I do not know what the exact requirements are for reproducible builds. I consider these files separate from the binary artifacts generated, and as a build-system helper, so it seems reasonable to me.

I'm also not sure if this needs a test. I'll definitely add one on the cargo side if this is merged.

Closes #63329
2019-08-08 16:33:39 +02:00
Mazdak Farrokhzad
76938abba1
Rollup merge of #63332 - marmistrz:truncate, r=alexcrichton
Add an overflow check in truncate implementation for Unix.

Closes #63326.
cc @alexcrichton
2019-08-08 16:33:37 +02:00
Mazdak Farrokhzad
8fe2d9c4e9
Rollup merge of #63316 - topecongiro:rustfmt-1.4.4, r=Mark-Simulacrum
Update rustfmt to 1.4.4

The update includes bug fixes.
2019-08-08 16:33:36 +02:00
Mazdak Farrokhzad
8885dc2b37
Rollup merge of #63261 - RalfJung:rand, r=nikomatsakis
bump rand in libcore/liballoc test suites

This pulls in the fix for https://github.com/rust-random/rand/issues/779, which trips Miri when running these test suites.

`SmallRng` (formerly used by libcore) is no longer built by default, it needs a feature gate. I opted to switch to `StdRng` instead. Or should I enable the feature gate?
2019-08-08 16:33:34 +02:00
Jack
25a2cf6744 Move test 2019-08-08 10:13:55 -04:00
Jack
b8b8008254 Add test for issue 53096 2019-08-08 09:41:39 -04:00
SOFe
403292db35
Improved documentation for compile_error!()
Fixes #63375
2019-08-08 18:05:10 +08:00
Marcin Mielniczuk
3adbf63b11
Move the TryInto import into the inner scope 2019-08-08 11:44:59 +02:00
Ralf Jung
fcb186d0fe
fix typo in .gitignore
Co-Authored-By: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
2019-08-08 11:19:44 +02:00
Ralf Jung
9cea446c6c Cargo.toml is at the root these days 2019-08-08 11:19:09 +02:00
bors
2628f579f6 Auto merge of #63371 - Centril:rollup-k0xtdcz, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #62994 (Add test for #43398)
 - #63259 (Add tests for some issues)
 - #63327 (doc: Reword deprecation message of MetadataExt::as_raw_stat)
 - #63331 (Test conditional initialization validation in async fns)
 - #63334 (Update to rustc-guide that passes toolstate)
 - #63353 (Update books)
 - #63360 (Use consistent capitalization in -C/-Z help)

Failed merges:

r? @ghost
2019-08-08 09:06:45 +00:00
Ralf Jung
e82b053f56 move of packed fields might or might not occur when they actually are sufficiently aligned 2019-08-08 10:01:41 +02:00
Ralf Jung
58c231dce7 gitignore: remove some things that look ancient 2019-08-08 09:11:32 +02:00
Ralf Jung
b2af7187d9 we don't clutter the src/ dir any more 2019-08-08 09:04:37 +02:00
Ralf Jung
b9978e9220 explain what we want and what not in .gitignore 2019-08-08 08:49:58 +02:00
Mazdak Farrokhzad
83fbf620a0
Rollup merge of #63360 - brson:cz-help, r=Mark-Simulacrum
Use consistent capitalization in -C/-Z help

This code could also use a pass to consistify the grammar, but not by me atm.
2019-08-08 07:35:39 +02:00
Mazdak Farrokhzad
d37393c978
Rollup merge of #63353 - ehuss:update-books, r=ehuss
Update books

## nomicon

1 commits in b7f0aba2f88a8feade70595efcfa3438e54e96c0..8a7d05615e5bc0a7fb961b4919c44f5221ee54da
2019-07-11 15:11:36 -0400 to 2019-08-07 07:46:59 -0500
- s/railguard/guardrail/ (rust-lang-nursery/nomicon#156)

## reference

5 commits in 8e7d614303b0dec7492e048e63855fcd3b944ec8..b4b3536839042a6743fc76f0d9ad2a812020aeaa
2019-07-16 21:02:33 +0100 to 2019-08-07 02:29:50 +0200
- Update partially initialized values in drop documentation. (rust-lang-nursery/reference#648)
- Define sound and unsound (rust-lang-nursery/reference#647)
- Fix a type in the modules section: functions =&gt; modules (rust-lang-nursery/reference#645)
- Fix some links. (rust-lang-nursery/reference#642)
- Update recursion_limit default limit (rust-lang-nursery/reference#633)

## rust-by-example

14 commits in e3679e214d8db44586aca9b20aa27517007d1923..f2c15ba5ee89ae9469a2cf60494977749901d764
2019-07-15 11:13:44 -0300 to 2019-08-07 10:14:25 -0300
- Remove redundant semicolons (rust-lang/rust-by-example#1239)
- Rename "Read Lines" chapter title (rust-lang/rust-by-example#1230)
- Added space between word and inline code block in unit_testing.md (rust-lang/rust-by-example#1237)
- [typo] fix unit_testing wrong output (rust-lang/rust-by-example#1210)
- flow_control/match/binding.md: `...' -&gt; `..=' (rust-lang/rust-by-example#1233)
- generics/impl.md: follow rustfmt style (rust-lang/rust-by-example#1236)
- freeze.md: Incorrect example (rust-lang/rust-by-example#1226)
- Make `point` consistent (rust-lang/rust-by-example#1229)
- Fix typo at error -&gt; panic (rust-lang/rust-by-example#1227)
- Snake didn't deserve to die 🐍 (rust-lang/rust-by-example#1228)
- Reorder links in destructuring.md (rust-lang/rust-by-example#1225)
- Rename variable names for consistent in iter_result.md (rust-lang/rust-by-example#1224)
- Fix several shell output and code highlights. (rust-lang/rust-by-example#1222)
- Add new example for Rc. (rust-lang/rust-by-example#1223)

## edition-guide

5 commits in f6c8b92d4e63edd28e862be952f33861f35956f8..e58bc4ca104e890ac56af846877c874c432a64b5
2019-07-06 22:10:32 +0200 to 2019-07-31 20:14:12 +0200
- Hide extraneous `use` in anonymous lifetime example. (rust-lang-nursery/edition-guide#190)
- Attempt to clarify "no more mod.rs". (rust-lang-nursery/edition-guide#187)
- Remove -preview for rustup components. (rust-lang-nursery/edition-guide#188)
- rust-lang-nursery/edition-guide#184 More clear explanation and Title. (rust-lang-nursery/edition-guide#185)
- More clear table headers (rust-lang-nursery/edition-guide#186)

## embedded-book

2 commits in ff334e74fdb9f197e621efa6d7c3105be892e888..c5da1e11915d3f28266168baaf55822f7e3fe999
2019-07-16 13:47:34 +0000 to 2019-08-05 23:02:10 +0000
- install/verify: fix next section link  (rust-embedded/book#202)
- Syst small fix  (rust-embedded/book#198)
2019-08-08 07:35:38 +02:00
Mazdak Farrokhzad
433473ace7
Rollup merge of #63334 - mark-i-m:fix-guide, r=ehuss
Update to rustc-guide that passes toolstate

r? @ehuss

Sorry for the trouble. I've been somewhat hard to reach lately. Thanks for your help!
2019-08-08 07:35:36 +02:00
Mazdak Farrokhzad
4f415fca37
Rollup merge of #63331 - gorup:conditionalinit, r=cramertj
Test conditional initialization validation in async fns

r? @cramertj

Per [paper doc](https://paper.dropbox.com/doc/async.await-Call-for-Tests--AiWF2Nt8tgDiA70qFI~oiLOOAg-nMyZGrra7dz9KcFRMLKJy) calling for async/.await tests, tests are desired for conditionally initialized local variables. This PR hopes to provide tests for that.

#63294 seems to be tracking the items from the paper doc that this PR is related to
#62121 is an open issue asking for more async/.await tests that this relates to

---
👍 executed 2 new tests
👍 tidy
2019-08-08 07:35:35 +02:00