Commit graph

11852 commits

Author SHA1 Message Date
Nathan Ringo
64236092e5
Fixes docs for ASCII functions to no longer claim U+0021 is '@'. 2018-02-24 23:48:51 -06:00
Manish Goregaokar
0a7210166e
Rollup merge of #48499 - dwijnand:patch-1, r=BurntSushi
Fix capitalisation in Path#file_name's docs
2018-02-24 15:52:19 -08:00
Manish Goregaokar
b52b33a386 Rollup merge of #48143 - nikomatsakis:termination_trait_in_tests, r=eddyb
Termination trait in tests

Support the `Termination` trait in unit tests (cc https://github.com/rust-lang/rust/issues/43301)

Also, a drive-by fix for #47075.

This is joint work with @bkchr.
2018-02-24 12:47:58 -08:00
Guillaume Gomez
5344b07add Add new warning for CStr::from_ptr 2018-02-24 16:50:44 +01:00
Corey Farwell
0700bd12d0 Clarify "It is an error to..." wording for zero-duration behaviors.
Documentation fix side of https://github.com/rust-lang/rust/issues/48311.
2018-02-24 08:56:36 -05:00
Dale Wijnand
e3e1c8f7d2
Fix capitalisation in Path#file_name's docs 2018-02-24 12:31:03 +00:00
jethrogb
cfad25ee8f
Clarify interfaction between File::set_len and file cursor 2018-02-23 11:57:38 -08:00
bors
5de90898de Auto merge of #48343 - Mark-Simulacrum:release-step, r=kennytm
Update nightly to 1.26.0 and bootstrap from beta.
2018-02-22 23:25:39 +00:00
Niko Matsakis
5f1e78f19a move Termination trait to std::process 2018-02-22 17:57:08 -05:00
Niko Matsakis
e446f706a8 put the "unit test" logic into libtest
Also make `std::termination` module public and rename feature.

The lib feature needs a different name from the language feature.
2018-02-22 17:56:24 -05:00
Niko Matsakis
1eab1b19a3 support unit tests with return values that implement Terminaton
Extend `Termination` trait with a method to determine what happens
with a unit test.

This commit incorporates work by Bastian Köcher <git@kchr.de>.
2018-02-22 17:31:37 -05:00
Guillaume Gomez
d6e649a631
Rollup merge of #48354 - m0ppers:add-read-until-link, r=aidanhs
Add missing link for read_line

Seems I found a missing link 🔗

https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#errors-2
2018-02-21 16:29:54 +01:00
Guillaume Gomez
27c6ff5c7c
Rollup merge of #48325 - frewsxcv:frewxcv-ignore, r=steveklabnik
Mark doc examples w/ `extern` blocks as `ignore`.

Fixes https://github.com/rust-lang/rust/issues/48218.
2018-02-21 16:29:51 +01:00
Guillaume Gomez
cb618ea195
Rollup merge of #48314 - frewsxcv:frewsxcv-broken-link, r=GuillaumeGomez
Fix broken documentation link.

None
2018-02-21 16:29:50 +01:00
Niko Matsakis
a47fd3df89 make #[unwind] attribute specify expectations more clearly
You can now choose between the following:

- `#[unwind(allowed)]`
- `#[unwind(aborts)]`

Per rust-lang/rust#48251, the default is `#[unwind(allowed)]`, though
I think we should change this eventually.
2018-02-20 19:12:52 -05:00
Michael Lamparski
0d0a470b89 Make signature of Path::strip_prefix un-bizarre
BREAKING CHANGE:
This has the potential to cause regressions in type inference.
2018-02-20 18:57:19 -05:00
Vitali Lovich
14b403c91a Fix doc compile error 2018-02-20 13:07:21 -08:00
Mark Simulacrum
33f5ceee1f stage0 cfg cleanup 2018-02-20 08:52:33 -07:00
Andreas Streichardt
f0a968eada Add missing link 2018-02-19 17:19:30 +01:00
Corey Farwell
d17d645ad7 Add tests ensuring zero-Duration timeouts result in errors.
Part of https://github.com/rust-lang/rust/issues/48311
2018-02-18 21:42:02 -05:00
Corey Farwell
872c782a55 Mark doc examples w/ extern blocks as ignore.
Fixes https://github.com/rust-lang/rust/issues/48218.
2018-02-18 10:27:45 -05:00
Guillaume Gomez
cc20de3993
Rollup merge of #48312 - frewsxcv:frewsxcv-section-headings, r=QuietMisdreavus
Unify 'Platform-specific behavior' documentation headings.

None
2018-02-18 13:21:03 +01:00
Guillaume Gomez
af140ecdbc
Rollup merge of #48275 - matthiaskrgr:codespell, r=kennytm,varkor
fix more typos found by codespell.
2018-02-18 13:21:01 +01:00
Guillaume Gomez
715030fd01
Rollup merge of #48273 - alercah:file-warning, r=joshtriplett
Add a warning to File about mutability.

Fixes #47708.
2018-02-18 13:20:58 +01:00
bors
1ad094d81c Auto merge of #47687 - SimonSapin:panic-impl, r=sfackler
RFC 2070 part 1: PanicInfo and Location API changes

This implements part of https://rust-lang.github.io/rfcs/2070-panic-implementation.html
Tracking issue: https://github.com/rust-lang/rust/issues/44489

* Move `std::panic::PanicInfo` and `std::panic::Location` to a new `core::panic` module. The two types and the `std` module were already `#[stable]` and stay that way, the new `core` module is `#[unstable]`.
* Add a new `PanicInfo::message(&self) -> Option<&fmt::Arguments>` method, which is `#[unstable]`.
* Implement `Display` for `PanicInfo` and `Location`
2018-02-18 06:02:35 +00:00
bors
e8f03b9438 Auto merge of #47544 - U007D:master, r=nikomatsakis
Relax termination_trait's error bound

As per [this conversation](https://github.com/withoutboats/failure/issues/130#issuecomment-358572413) with @withoutboats and @bkchr
2018-02-18 03:12:14 +00:00
Corey Farwell
472dcdb4ec Fix broken documentation link. 2018-02-17 20:57:00 -05:00
Corey Farwell
0a798bd952 Unify 'Platform-specific behavior' documentation headings. 2018-02-17 20:54:26 -05:00
Vitali Lovich
d549db8031 Fix tidy violation 2018-02-17 09:17:58 -08:00
Matthias Krüger
4452446292 fix more typos found by codespell. 2018-02-17 17:38:49 +01:00
bors
f6216b2d55 Auto merge of #48294 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 8 pull requests

- Successful merges: #48095, #48152, #48234, #48239, #48243, #48260, #48284, #48286
- Failed merges:
2018-02-17 14:31:32 +00:00
Alexis Hunt
ec905975b8 Wording fixes from review for File. 2018-02-17 08:47:03 -05:00
Guillaume Gomez
3672caf662
Rollup merge of #48239 - GuillaumeGomez:fix-condvar-example, r=QuietMisdreavus
Fix condvar example

Fixes #48230.

r? @QuietMisdreavus
2018-02-17 14:45:23 +01:00
Guillaume Gomez
62d6ba4638
Rollup merge of #48234 - zombiezen:patch-1, r=steveklabnik
Remove "empty buffer" doc in read_until

This appears copied from fill_buf, but the above paragraph already indicates that a lack of delimiter at the end is EOF.
2018-02-17 14:45:22 +01:00
Guillaume Gomez
6db06f593b
Rollup merge of #48152 - antoyo:primitive-docs-relevant, r=QuietMisdreavus
Primitive docs relevant

This fixes the documentation to show the right types in the examples for many integer methods.

I need to check if the result is correct before we merge.
2018-02-17 14:45:21 +01:00
bors
b298607864 Auto merge of #47956 - retep998:is-nibbles, r=BurntSushi
This is the ideal FileType on Windows. You may not like it, but this is what peak performance looks like.

Theoretically this would fix https://github.com/rust-lang/rust/issues/46484

The current iteration of this PR should not cause existing code to break, but instead merely improves handling around reparse points. Specifically...

* Reparse points are considered to be symbolic links if they have the name surrogate bit set. Name surrogates are reparse points that effectively act like symbolic links, redirecting you to a different directory/file. By checking for this bit instead of specific tags, we become much more general in our handling of reparse points, including those added by third parties.
* If something is a reparse point but does not have the name surrogate bit set, then we ignore the fact that it is a reparse point because it is actually a file or directory directly there, despite having additional handling by drivers due to the reparse point.
* For everything which is not a symbolic link (including non-surrogate reparse points) we report whether it is a directory or a file based on the presence of the directory attribute bit.
* Notably this still preserves invariant that when `is_symlink` returns `true`, both `is_dir` and `is_file` will return `false`. The potential for breakage was far too high.
* Adds an unstable `FileTypeExt` to allow users to determine whether a symbolic link is a directory or a file, since `FileType` by design is incapable of reporting this information.
2018-02-17 11:32:16 +00:00
Vitali Lovich
b1f04a3a2e Fix unit test compilation
Also fix some code snippets in documentation.
2018-02-16 20:00:18 -08:00
Alexis Hunt
e9c75a889f Add a warning to File about mutability.
Fixes #47708.
2018-02-16 08:52:20 -05:00
Guillaume Gomez
ba6a6d0f0a Fix condvar example 2018-02-15 19:00:51 +01:00
Ross Light
e1e79d3a10 Remove "empty buffer" doc in read_until
This appears copied from fill_buf, but the above paragraph already indicates that a lack of delimiter at the end is EOF.
2018-02-15 07:32:42 -08:00
kennytm
ce89c3de76
Rollup merge of #48035 - technicalguy:Early-exit-empty-hashmap-38880, r=arthurprs
Early exit for empty HashMap (issue #38880)

Addresses issue #38880 by checking if the HashMap is empty before computing the value of the hash.

Before (integer keys)
```
running 4 tests
test empty_once ... bench:          13 ns/iter (+/- 0)
test empty_100  ... bench:       1,367 ns/iter (+/- 35)
test exist_once ... bench:          14 ns/iter (+/- 0)
test exist_100  ... bench:       1,518 ns/iter (+/- 40)
```

After
```
running 4 tests
test empty_once ... bench:           2 ns/iter (+/- 0)
test empty_100  ... bench:         221 ns/iter (+/- 0)
test exist_once ... bench:          15 ns/iter (+/- 0)
test exist_100  ... bench:       1,515 ns/iter (+/- 92)
```

When the HashMap is not empty, the performance remains the same, and when it is empty the performance is significantly improved.
2018-02-14 19:54:00 +08:00
kennytm
5a193668db
Rollup merge of #48133 - matthiaskrgr:endianess_to_endianness, r=oli-obk
typo: correct endianess to endianness (this also changes function names!)
2018-02-14 18:25:18 +08:00
kennytm
3bcaaf47a1
Rollup merge of #48130 - ollie27:stab, r=Mark-Simulacrum
Correct a few stability attributes

* `core_float_bits`, `duration_core`, `path_component_asref`, and `repr_align` were stabalized in 1.25.0 not 1.24.0.
* Impls for `NonNull` involving unstable things should remain unstable.
* `Duration` should remain stable since 1.3.0 so it appears correctly in the `std` docs.
* `cursor_mut_vec` is an impl on only stable things so should be marked stable.
2018-02-14 18:25:16 +08:00
kennytm
c88a6fe569
Rollup merge of #48005 - panicbit:env_unimpl_send_sync, r=alexcrichton
Unimplement Send/Sync for ::env::{Args,ArgsOs,Vars,VarsOs}

Fixes #48004
2018-02-14 16:14:30 +08:00
Shaun Steenkamp
e034dddb32 38880 remove unnecessary self.table.size check 2018-02-13 20:25:10 +00:00
Vitali Lovich
6fe2d1d765 Misc fixes
Switch feature guards to unstable
Add missing semicolon
Remove mut that's no longer necessary
2018-02-13 11:32:04 -08:00
Shaun Steenkamp
f3330cea7f 38880 fix incorrect negation 2018-02-13 17:15:58 +00:00
Shaun Steenkamp
94c3c84b6a 38880 hashmap check size=0, not just capacity=0 2018-02-13 16:40:02 +00:00
Shaun Steenkamp
a295ec1ec9 38880 restore original entry(key) method 2018-02-13 16:32:35 +00:00
Vitali Lovich
97df227d19 Fix wait_timeout value 2018-02-12 21:08:14 -08:00