13536 Commits

Author SHA1 Message Date
Vadim Petrochenkov
263e3c5950 Remove __rust_unstable_column 2019-08-15 22:58:57 +03:00
Vadim Petrochenkov
a9ecfd7295 Hygienize use of built-in macros in the standard library 2019-08-15 22:58:50 +03:00
Mazdak Farrokhzad
e452738000
Rollup merge of #63546 - lzutao:clouldabi-maybeuninit, r=RalfJung
Remove uses of `mem::uninitialized()` from cloudabi

This PR removes uses of `mem::uninitialized` from `cloudabi` module,
excluding the layout test in `src/libstd/sys/cloudabi/abi/cloudabi.rs`.

r? @RalfJung
cc @EdSchouten
cc #62397
2019-08-15 14:34:04 +02:00
Mazdak Farrokhzad
1db4bbcced
Rollup merge of #63155 - mfkl:uwp-msvc, r=alexcrichton
Add UWP MSVC targets

Hi,

- The README URI change is the correct one for VS2019 community edition, which I suspect most people would use. Doesn't _need_ to be merged though.
- This 5e6619edd1 fixes the UWP build (msvc or not, doesn't matter). I suspect it broke with recent changes unnoticed because no CI.
- Store lib location is found through the VCToolsInstallDir env variable. The end of the path is currently for the VS2019 store lib locations only.
- I could not test the aarch64_uwp_windows_msvc target because the rust build script does not currently support arm64 msvc AFAIU.
2019-08-15 14:33:58 +02:00
Ali Raheem
53c504650d Fix gramitcal error in read_dir example 2019-08-15 10:53:29 +01:00
Lzu Tao
6e8639a418 Remove uses of mem::uninitialized() from cloudabi 2019-08-15 09:04:49 +00:00
Mark Rousskov
2601c86487 Handle cfg(bootstrap) throughout 2019-08-14 05:39:53 -04:00
Mazdak Farrokhzad
9d297190c8
Rollup merge of #63480 - OptimisticPeach:patch-1, r=Centril
Fixes #63477

Adds a closing parenthesis.
2019-08-12 10:58:24 +02:00
Mazdak Farrokhzad
4d27aaccf1
Rollup merge of #63461 - tommilligan:doc-var-panic, r=joshtriplett
docs: add stdlib env::var(_os) panic

Closes #63456
2019-08-12 10:58:19 +02:00
OptimisticPeach
3d38187afd
Fixes #63477
Adds a closing parenthesis.
2019-08-12 00:15:14 -04:00
Mark Rousskov
88629778e6
Rollup merge of #61969 - MikailBag:master, r=Centril
Add #[repr(transparent)] for several types

In some functions, types mentioned in this PR are transmuted into their inner value.
Example for `PathBuf`: https://github.com/rust-lang/rust/blob/master/src/libstd/path.rs#L1132.
This PR adds `#[repr(transparent)]` to those types, so their correct behavior doesn't depend on compiler details. (As far as I understand, currently that line, converting `PathBuf` to `Vec<u8>`, is UB).
2019-08-11 15:18:38 -04:00
Tom Milligan
af5625dc85 docs: add stdlib env::var(_os) panic 2019-08-11 12:49:02 +01:00
Mazdak Farrokhzad
6743ad6726
Rollup merge of #63350 - iluuu1994:use-associated-type-bounds, r=Centril
Use associated_type_bounds where applicable - closes #61738
2019-08-10 08:13:19 +02:00
Vadim Petrochenkov
cbcc7dd182 Give built-in macros stable addresses in the standard library 2019-08-10 00:05:37 +03:00
Mikail Bagishov
740f8db855
Add FIXME-s that some types should be transparent 2019-08-09 17:41:40 +03:00
Ilija Tovilo
3d231accee
Add missing #![feature(associated_type_bounds)] 2019-08-09 11:19:45 +02:00
Lzu Tao
90fa7901b9 Postpone deprecating try! until 1.39.0 2019-08-09 02:29:44 +00:00
BO41
fd7ac6b17e Deprecate try! macro
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
Co-Authored-By: Oliver Middleton <olliemail27@gmail.com>
2019-08-09 02:29:44 +00:00
Ilija Tovilo
3a6a29b4ec
Use associated_type_bounds where applicable - closes #61738 2019-08-08 22:39:15 +02:00
Ali Raheem
8068812d04 Remove Iteration order heading 2019-08-08 15:33:39 +01: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
Marcin Mielniczuk
3adbf63b11
Move the TryInto import into the inner scope 2019-08-08 11:44:59 +02:00
Mazdak Farrokhzad
ab9a95b91b
Rollup merge of #63327 - lzutao:fix-as_raw_stat-dep-msg, r=Mark-Simulacrum
doc: Reword deprecation message of MetadataExt::as_raw_stat

Closes #62711
r? @Mark-Simulacrum
2019-08-08 07:35:33 +02:00
Ali Raheem
9755fe80ee Add fs::read_dir() and ReadDir warning about iterator order + example 2019-08-07 15:59:18 +01:00
Jeremy Soller
ebb648d4fb
Fix cfg_if usage 2019-08-06 19:32:39 -06:00
Jeremy Soller
0498da9a3d
redox: convert to target_family unix 2019-08-06 16:18:23 -06:00
Marcin Mielniczuk
3cd9f3f6ab
Add an overflow check in truncate implementation for Unix. 2019-08-06 19:35:54 +02:00
Jack O'Connor
edb5214b29 avoid unnecessary reservations in std::io::Take::read_to_end
Prevously the `read_to_end` implementation for `std::io::Take` used its
own `limit` as a cap on the `reservation_size`. However, that could
still result in an over-allocation like this:

1. Call `reader.take(5).read_to_end(&mut vec)`.
2. `read_to_end_with_reservation` reserves 5 bytes and calls `read`.
3. `read` writes 5 bytes.
4. `read_to_end_with_reservation` reserves 5 bytes and calls `read`.
5. `read` writes 0 bytes.
6. The read loop ends with `vec` having length 5 and capacity 10.

The reservation of 5 bytes was correct for the read at step 2 but
unnecessary for the read at step 4. By that second read, `Take::limit`
is 0, but the `read_to_end_with_reservation` loop is still using the
same `reservation_size` it started with.

Solve this by having `read_to_end_with_reservation` take a closure,
which lets it get a fresh `reservation_size` for each read. This is an
implementation detail which doesn't affect any public API.
2019-08-06 10:15:11 -04:00
Lzu Tao
031cc323f5 doc: Reword deprecation message of MetadataExt::as_raw_stat 2019-08-06 13:32:08 +00:00
Stefan Schindler
ae1e7cace3 Match the loop examples 2019-08-06 10:48:11 +02:00
bors
8996328ebf Auto merge of #63319 - Centril:rollup-d89rmey, r=Centril
Rollup of 14 pull requests

Successful merges:

 - #61457 (Implement DoubleEndedIterator for iter::{StepBy, Peekable, Take})
 - #63017 (Remove special code-path for handing unknown tokens)
 - #63184 (Explaining the reason why validation is performed in to_str of path.rs)
 - #63230 (Make use of possibly uninitialized data [E0381] a hard error)
 - #63260 (fix UB in a test)
 - #63264 (Revert "Rollup merge of #62696 - chocol4te:fix_#62194, r=estebank")
 - #63272 (Some more libsyntax::attr cleanup)
 - #63285 (Remove leftover AwaitOrigin)
 - #63287 (Don't store &Span)
 - #63293 (Clarify align_to's requirements and obligations)
 - #63295 (improve align_offset docs)
 - #63299 (Make qualify consts in_projection use PlaceRef)
 - #63312 (doc: fix broken sentence)
 - #63315 (Fix #63313)

Failed merges:

r? @ghost
2019-08-06 08:21:32 +00:00
Mazdak Farrokhzad
e98823025f
Rollup merge of #63184 - JasonShin:master, r=sfackler
Explaining the reason why validation is performed in to_str of path.rs

I thought it's good to explain the reason for the validation during the conversion between Path/PathBuffer into str, which explains the reason for returning an Option at this point (good for beginners who are reading through the docs).
2019-08-06 08:17:36 +02:00
bors
766b10a8d5 Auto merge of #62987 - Thomasdezeeuw:ioslice-advance, r=Thomasdezeeuw
Add {IoSlice, IoSliceMut}::advance

API inspired by the [`Buf::advance`](https://docs.rs/bytes/0.4.12/bytes/trait.Buf.html#tymethod.advance) method found in the [bytes](https://docs.rs/bytes) crate.

Closes #62726.
2019-08-06 04:43:03 +00:00
bors
f6ecdc2f61 Auto merge of #61491 - stjepang:impls-for-accesserror, r=dtolnay
Add a few trait impls for AccessError
2019-08-05 15:30:40 +00:00
Stjepan Glavina
d2c9c12546 Add #[stable] to Error impl 2019-08-04 15:11:08 +02:00
Thomas de Zeeuw
dad56c3947 Add {IoSlice, IoSliceMut}::advance 2019-08-03 10:44:45 +02:00
bors
d9bd4b289f Auto merge of #63228 - Centril:rollup-x39p5ga, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #63107 (Added support for armv7-unknown-linux-gnueabi/musleabi)
 - #63121 (On `format!()` arg count mismatch provide extra info)
 - #63196 (build_helper: try less confusing method names)
 - #63206 (remove unsupported test case)
 - #63208 (Round generator sizes to a multiple of their alignment)
 - #63212 (Pretty print attributes in `print_arg`)
 - #63215 (Clarify semantics of mem::zeroed)

Failed merges:

r? @ghost
2019-08-02 22:44:53 +00:00
Mazdak Farrokhzad
ed7b0447cb
Rollup merge of #63206 - BaoshanPang:master, r=alexcrichton
remove unsupported test case

r? @alexcrichton
2019-08-03 00:09:09 +02:00
bors
b0e40bfba4 Auto merge of #62309 - jlevon:62302, r=alexcrichton
provide thread name to OS for Solarish systems

Fixes #62302

Passes a Linux bootstrap build. python x.py test src/tools/tidy happy.
I tested this with a small test binary that spawns a few threads, and verified
that:

 - on an illumos system lacking the libc function, the binary runs but no OS-level
    thread names are set
 - on an illumos system with the feature, the binary runs, and the thread names are
    visible and correct under tools like MDB, pstack, core dump, etc.
2019-08-02 19:06:53 +00:00
Baoshan Pang
208672f0d5 remove unsupported test case 2019-08-02 09:32:46 -07:00
bors
1df512fcae Auto merge of #63214 - Centril:rollup-hdb7dnx, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #62663 (More questionmarks in doctests)
 - #62969 (Changing the structure of `mir::interpret::InterpError`)
 - #63153 (Remove redundant method with const variable resolution)
 - #63189 (Doc improvements)
 - #63198 (Allow trailing comma in macro 2.0 declarations.)
 - #63202 (Fix ICE in #63135)
 - #63203 (Make is_mutable use PlaceRef instead of it's fields)

Failed merges:

r? @ghost
2019-08-02 11:24:13 +00:00
Mazdak Farrokhzad
dbfe12daed
Rollup merge of #63189 - waywardmonkeys:doc-improvements, r=Centril
Doc improvements

Miscellaneous documentation fixes.
2019-08-02 12:14:18 +02:00
John Levon
6be2d9ae86 provide thread name to OS for Solarish systems 2019-08-02 09:37:23 +01:00
bors
fc3ef9698f Auto merge of #61393 - gnzlbg:update_libc, r=gnzlbg
Update Cargo.lock
2019-08-02 07:45:05 +00:00
Bruce Mitchener
ae65848d9e Remove extraneous {} in use stmts in doc comments. 2019-08-02 01:36:36 +07:00
gnzlbg
74dc2b6f6f Remove mach dependency 2019-08-01 17:01:33 +02:00
gnzlbg
9ea83f9732 Update libc and use the Mach kernel APIs via the mach crate instead. 2019-08-01 17:01:33 +02:00
bors
435236b887 Auto merge of #63194 - pietroalbini:rollup-xgnvb1b, r=pietroalbini
Rollup of 8 pull requests

Successful merges:

 - #62644 (simplify std::io::Write::write rustdoc)
 - #62971 (Add keywords item into the sidebar)
 - #63122 (Account for `maybe_whole_expr` in range patterns)
 - #63158 (Add test for issue-58951)
 - #63170 (cleanup StringReader fields)
 - #63179 (update test cases for vxWorks)
 - #63188 (Fix typos in release notes.)
 - #63191 (ci: fix toolstate not pushing data for Linux)

Failed merges:

r? @ghost
2019-08-01 14:43:00 +00:00
Pietro Albini
9ff52752d8
Rollup merge of #62644 - arnottcr:std_io-doc, r=steveklabnik
simplify std::io::Write::write rustdoc

The std::io::Write::write method currensly suggests consumers guaranteed
that `0 <= n <= buf.len()`, for `Ok(n)`, however `n` is of type `usize`
causing the compiler to emit a warning:
```
warning: comparison is useless due to type limits
 --> lib.rs:6:18
  |
6 |         Ok(n) => 0 <= n && n <= output.len(),
  |                  ^^^^^^
  |
  = note: #[warn(unused_comparisons)] on by default
```

This PR removes the suggestion to check `0 <= n` since it is moot.

r? @steveklabnik
2019-08-01 16:00:22 +02:00
bors
f23a5f208d Auto merge of #62507 - petrochenkov:macunstab, r=alexcrichton
Remove derives `Encodable`/`Decodable` and unstabilize attribute `#[bench]`

`Encodable` and `Decodable` were deprecated before 1.0 and emitted an unsuppressable warning all this time.
`#[bench]` is a part of the custom test framework feature and cannot be used meaningfully on stable, only as `cfg(false)`.

Crater results can be found in https://github.com/rust-lang/rust/pull/62507#issuecomment-513850732 and below.

This PR also reroutes the tracking issue for `feature(test)` from #27812 (compiler internals) to #50297 (custom test frameworks).

Closes https://github.com/rust-lang/rust/issues/62048
2019-08-01 11:07:26 +00:00