Commit graph

13317 commits

Author SHA1 Message Date
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
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
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
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
Lzu Tao
031cc323f5 doc: Reword deprecation message of MetadataExt::as_raw_stat 2019-08-06 13:32:08 +00: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
Jason Shin
1aa4a57827
Update src/libstd/path.rs to shorten the explanation for .to_str validation step
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-08-01 13:55:01 +10:00
Jason Shin
3b15b1664e Explaining the reason why validation is performed in to_str of path.rs 2019-08-01 12:42:52 +10:00
Vadim Petrochenkov
73dae4eaf9 Remove derives Encodable/Decodable and unstabilize attribute #[bench] 2019-07-31 21:27:59 +03:00
Alex Crichton
3d2b6e79db Attempt to fix backtrace tests on i686-msvc
Some fixes for i686-msvc and Windows have landed on the `backtrace`
crate but hadn't made their way here yet. Let's update that and see if
it passes CI.
2019-07-31 10:59:32 -07:00
Mazdak Farrokhzad
cdf97589df
Rollup merge of #63117 - BaoshanPang:bugfix, r=alexcrichton
Use global variable 'environ' to pass environments to rtpSpawn

r? @alexcrichton
2019-07-30 22:43:36 +02:00
Mazdak Farrokhzad
2becb62166
Rollup merge of #63109 - alexcrichton:disable-windows-fs-test, r=sfackler
std: Fix a failing `fs` test on Windows

In testing 4-core machines on Azure the `realpath_works_tricky` test in
the standard library is failing with "The directory name is invalid". In
attempting to debug this test I was able to reproduce the failure
locally on my machine, and after inspecing the test it I believe is
exploiting Unix-specific behavior that seems to only sometimes work on
Windows. Specifically the test basically executes:

    mkdir -p a/b
    mkdir -p a/d
    touch a/f
    ln -s a/b/c ../d/e
    ln -s a/d/e ../f

and then asserts that `canonicalize("a/b/c")` and
`canonicalize("a/d/e")` are equivalent to `a/f`. On Windows however the
first symlink is a "directory symlink" and the second is a file symlink.
In both cases, though, they're pointing to files. This means that for
whatever reason locally and on the 4-core environment the call to
`canonicalize` is failing. On Azure today it seems to be passing, and
I'm not entirely sure why. I'm sort of presuming that there's some sort
of internals going on here where there's some global Windows setting
which makes symlinks behavior more unix-like and ignore the directory
hint.

In any case this should keep the test working and also fixes the test
locally for me. It's also worth pointing out that this test was made Windows compatible in https://github.com/rust-lang/rust/pull/31360, a pretty ancient PR at this point.
2019-07-30 05:37:44 +02:00
Alex Crichton
8d7fb87e65 std: Fix a failing fs test on Windows
In testing 4-core machines on Azure the `realpath_works_tricky` test in
the standard library is failing with "The directory name is invalid". In
attempting to debug this test I was able to reproduce the failure
locally on my machine, and after inspecing the test it I believe is
exploiting Unix-specific behavior that seems to only sometimes work on
Windows. Specifically the test basically executes:

    mkdir -p a/b
    mkdir -p a/d
    touch a/f
    ln -s a/b/c ../d/e
    ln -s a/d/e ../f

and then asserts that `canonicalize("a/b/c")` and
`canonicalize("a/d/e")` are equivalent to `a/f`. On Windows however the
first symlink is a "directory symlink" and the second is a file symlink.
In both cases, though, they're pointing to files. This means that for
whatever reason locally and on the 4-core environment the call to
`canonicalize` is failing. On Azure today it seems to be passing, and
I'm not entirely sure why. I'm sort of presuming that there's some sort
of internals going on here where there's some global Windows setting
which makes symlinks behavior more unix-like and ignore the directory
hint.

In any case this should keep the test working and also fixes the test
locally for me.
2019-07-29 10:53:47 -07:00
Baoshan Pang
f6906ba11b use gloabl variable 'environ' to pass environments to rtpSpawn 2019-07-29 10:19:59 -07:00
Joe Richey
0cdd693bf6 vxworks: Remove Linux-specific comments. 2019-07-28 23:09:21 -07:00
Mazdak Farrokhzad
778b631ff0
Rollup merge of #62809 - alexcrichton:wasm-llvm-9, r=nikic
rustc: Update wasm32 support for LLVM 9

This commit brings in a number of minor updates for rustc's support for
the wasm target which has changed in the LLVM 9 update. Notable updates
include:

* The compiler now no longer manually inserts the `producers` section,
  instead relying on LLVM to do so. LLVM uses the `llvm.ident` metadata
  for the `processed-by` directive (which is now emitted on the wasm
  target in this PR) and it uses debuginfo to figure out what `language`
  to put in the `producers` section.

* Threaded WebAssembly code now requires different flags to be passed
  with LLD. In LLD we now pass:

  * `--shared-memory` - required since objects are compiled with
    atomics. This also means that the generated memory will be marked as
    `shared`.
  * `--max-memory=1GB` - required with the `--shared-memory` argument
    since shared memories in WebAssembly must have a maximum size. The
    1GB number is intended to be a conservative estimate for rustc, but
    it should be overridable with `-C link-arg` if necessary.
  * `--passive-segments` - this has become the default for multithreaded
    memory, but when compiling a threaded module all data segments need
    to be marked as passive to ensure they don't re-initialize memory
    for each thread. This will also cause LLD to emit a synthetic
    function to initialize memory which users will have to arrange to
    call.
  * The `__heap_base` and `__data_end` globals are explicitly exported
    since they're now hidden by default due to the `--export` flags we
    pass to LLD.
2019-07-29 02:10:52 +02:00
bors
c7312fe4ff Auto merge of #63090 - Centril:rollup-xnjwm2h, r=Centril
Rollup of 8 pull requests

Successful merges:

 - #61856 (Lint attributes on function arguments)
 - #62360 (Document that ManuallyDrop::drop should not called more than once)
 - #62392 (Update minifier-rs version)
 - #62871 (Explicit error message for async recursion.)
 - #62995 (Avoid ICE when suggestion span is at Eof)
 - #63053 (SystemTime docs: recommend Instant for elapsed time)
 - #63081 (tidy: Cleanup the directory whitelist)
 - #63088 (Remove anonymous_parameters from unrelated test)

Failed merges:

r? @ghost
2019-07-28 20:22:42 +00:00
Mazdak Farrokhzad
117fa1de98
Rollup merge of #63053 - kornelski:clockdrift, r=shepmaster
SystemTime docs: recommend Instant for elapsed time

Introduction to `SystemTime` mentions problems with non-monotonic clocks, but individual methods don't.

For benefit of users who jump directly to method's documentation, also recommend `Instant` in `elapsed` and `duration_since`.

`SystemTime::elapsed()` docs overpromised the elapsed time. It's not elapsed time, but a difference between two clocks.
2019-07-28 21:19:59 +02:00
Vadim Petrochenkov
676d282dd3 Deny unused_lifetimes through rustbuild 2019-07-28 18:47:02 +03:00
Vadim Petrochenkov
434152157f Remove lint annotations in specific crates that are already enforced by rustbuild
Remove some random unnecessary lint `allow`s
2019-07-28 18:46:24 +03:00
Kornel
55c07b39ae SystemTime docs: recommend Instant for elapsed time 2019-07-28 11:08:39 +01:00
Mazdak Farrokhzad
b405aa2d03
Rollup merge of #62806 - mati865:clippy, r=TimNN
Fix few Clippy warnings
2019-07-28 11:11:08 +02:00
bors
c798dffac9 Auto merge of #63029 - petrochenkov:rpass, r=Centril
Move run-pass tests to ui

This is the second attempt at doing https://github.com/rust-lang/rust/pull/53994 (which was previously reverted in https://github.com/rust-lang/rust/pull/54530).

The issue with inability to run the test suite in a faster way (https://github.com/rust-lang/rust/issues/54047) that motivated the revert was recently addressed by https://github.com/rust-lang/rust/pull/61755.

r? @Centril
2019-07-27 19:27:36 +00:00