Commit Graph

76134 Commits

Author SHA1 Message Date
kennytm
5d5f5a08b8
Rollup merge of #48810 - Phlosioneer:32463-impl-integer-for-wrapping, r=dtolnay
Implement Integer methods for Wrapping

Wrapping<T> now implements:

count_ones, count_zeros, leading_zeros,
trailing_zeros, rotate_left, rotate_right, swap_bytes, from_be,
from_le, to_be, to_le, and pow

where T is:

u8, u16, u32, u64, usize, i8, i16, i32, i64, or isize.

Docs were written for all these methods, as well as examples. The
examples mirror the ones on u8, u16, etc... for consistency.

Closes #32463
2018-03-20 07:15:14 +08:00
kennytm
f32f810e6e
Rollup merge of #46518 - partim:asref-borrow-doc, r=dtolnay
Improve documentation for Borrow

This is the first step in improving the documentation for all the reference conversion traits. It proposes new text for the trait documentation of `Borrow`. Since I feel it is a somewhat radical rewrite and includes a stricter contract for `Borrow` then the previous text—namely that *all* shared traits need to behave the same, not just a select few—, I wanted to get some feedback before continuing.

Apart from the ‘normative’ description, the new text also includes a fairly extensive explanation of how the trait is used in the examples section. I included it because every time I look at how `HashMap` uses the trait, I need to think for a while as the use is a bit twisted. So, I thought having this thinking written down as part of the trait itself might be useful. One could argue that this should go into The Book, and, while I really like having everything important in the docs, I can see the text moved there, too.

So, before I move on: is this new text any good? Do we feel it is correct, useful, comprehensive, and understandable?

(This PR is in response to #44868 and #24140.)
2018-03-20 07:15:12 +08:00
bors
6bfa7d02d6 Auto merge of #49058 - withoutboats:pin, r=cramertj
Pin, Unpin, PinBox

Implementing rust-lang/rfcs#2349 (do not merge until RFC is merged)

@bors r? @cramertj
2018-03-19 23:01:37 +00:00
boats
540021ff5d
Okay this is the right way. 2018-03-19 15:48:48 -07:00
memoryleak47
25c8210c01 Put #[macro_use] extern crate <crate> before fn main() in doctests 2018-03-19 23:48:02 +01:00
Bryan Drewery
6212904dd8 Don't use posix_spawn() if PATH was modified in the environment.
The expected behavior is that the environment's PATH should be used
to find the process.  posix_spawn() could be used if we iterated
PATH to search for the binary to execute.  For now just skip
posix_spawn() if PATH is modified.
2018-03-19 15:40:09 -07:00
boats
c68885bd05
Comment out entire test. 2018-03-19 15:34:11 -07:00
Guillaume Gomez
bac6484a31 Fix automatic urls with backticks 2018-03-19 23:25:55 +01:00
Esteban Küber
f332a9ce56 Single diagnostic for all non-mentioned fields in a pattern 2018-03-19 14:08:57 -07:00
Guillaume Gomez
2b64799365 Make Atomic doc examples specific to each type 2018-03-19 21:43:45 +01:00
boats
e4d0d666b5
Ignore properly. 2018-03-19 13:15:15 -07:00
boats
f8fb9f18a5
Comment out flakey test. 2018-03-19 13:13:31 -07:00
Bryan Drewery
00dac20e01 Merge branch 'update-beta-freebsd' into freebsd-posix-spawn 2018-03-19 13:11:55 -07:00
Bryan Drewery
57c74c3981 Update beta to version with fixed FreeBSD support from #49023.
Fixes #42681
2018-03-19 12:40:42 -07:00
Esteban Küber
1b8f1fc2d9 Do not suggest .into() in consts 2018-03-19 11:18:35 -07:00
Ralf Jung
c05d23406e update compile-fail tests: fewer warnings because this is now a HIR lint 2018-03-19 18:08:12 +01:00
Ralf Jung
37ff4736c7 wording nits 2018-03-19 18:04:09 +01:00
Matthias Krüger
7dd9438662 config.toml.example: thinlto bootstrap was removed in ff227c4a2d so remove the option. 2018-03-19 15:14:19 +01:00
Alan Du
253ade5b31 Update rustfmt to 0.4.1 2018-03-19 10:14:13 -04:00
Dileep Bapat
a8f59aaef9 #49133 - Reworded the Error message: "pub not needed here" message 2018-03-19 19:22:36 +05:30
steveklabnik
deae8de673 Clarify AcqRel's docs
This implied things that are not true.

Fixes #49127
2018-03-19 14:34:51 +01:00
Seo Sanghyeon
8236e431ce Document only-X test header 2018-03-19 22:09:47 +09:00
Aaron Power
e2cf17278d
Update RELEASES.md 2018-03-19 12:38:04 +00:00
Dileep Bapat
3799866063 #49133 - Reworded the Error message: "pub not needed here" message 2018-03-19 16:44:58 +05:30
bors
a04b88d194 Auto merge of #49079 - oli-obk:cross_miri, r=michaelwoerister
Cleanup metadata and incremental cache processing of constants

fixes #49033
fixes #49081

we really need tests for this. do we have any cross compilation tests? I couldn't find any
2018-03-19 10:39:26 +00:00
bors
aafe7d89f0 Auto merge of #49108 - SimonSapin:sip, r=TimNN
Remove or hide deprecated unstable SipHasher{13,24}

Deprecated since Rust 1.13.0.
2018-03-19 07:49:32 +00:00
Tyler Mandry
e5a55e7440 Stabilize termination_trait in 1.25, not 1.26 2018-03-19 01:59:51 -05:00
Simon Sapin
741d7a5598
Docs: fix incorrect copy-paste for new X? in formatting strings 2018-03-19 07:37:59 +01:00
Tyler Mandry
97b3bf99f6 Stabilize termination_trait
This stabilizes `main` with non-() return types; see #48453.
2018-03-19 01:31:04 -05:00
Esteban Küber
685c3c1b4a Reduce the diagnostic span when multiple fields are missing in pattern 2018-03-18 23:01:11 -07:00
Phlosioneer
bf101a5759 Fix trailing whitespace 2018-03-19 01:39:39 -04:00
Phlosioneer
5258af398a Make Wrapping::pow use wrapping_pow, add example 2018-03-19 01:39:38 -04:00
Phlosioneer
612c4a95bc Impl Integer methods for Wrapping
Wrapping<T> now implements:

count_ones, count_zeros, leading_zeros,
trailing_zeros, rotate_left, rotate_right, swap_bytes, from_be,
from_le, to_be, to_le, and pow

where T is:

u8, u16, u32, u64, usize, i8, i16, i32, i64, or isize.

Docs were written for all these methods, as well as examples. The
examples mirror the ones on u8, u16, etc... for consistency.

Closes #32463
2018-03-19 01:39:37 -04:00
Tyler Mandry
c5c650d670 Split out termination_trait_test feature gate 2018-03-19 00:26:41 -05:00
bors
15add366fa Auto merge of #49091 - nikomatsakis:issue-49043-ty-infer-hash, r=michaelwoerister
extend stable hasher to support `CanonicalTy`

Fixes #49043

r? @michaelwoerister
2018-03-19 05:07:27 +00:00
John Kåre Alsaker
1578b1edc0 Update submodules in parallel 2018-03-19 04:50:30 +01:00
bors
152217d29c Auto merge of #48978 - SimonSapin:debug-hex, r=KodrAus
Add hexadecimal formatting of integers with fmt::Debug

This can be used for integers within a larger types which implements Debug (possibly through derive) but not fmt::UpperHex or fmt::LowerHex.

```rust
assert!(format!("{:02x?}", b"Foo\0") == "[46, 6f, 6f, 00]");
assert!(format!("{:02X?}", b"Foo\0") == "[46, 6F, 6F, 00]");
```

RFC: https://github.com/rust-lang/rfcs/pull/2226

The new formatting string syntax (`x?` and `X?`) is insta-stable in this PR because I don’t know how to change a built-in proc macro’s behavior based of a feature gate. I can look into adding that, but I also strongly suspect that keeping this feature unstable for a time period would not be useful as possibly no-one would use it during that time.

This PR does not add the new (public) `fmt::Formatter` proposed in the API because:

* There was some skepticism on response to this part of the RFC
* It is not possible to implement as-is without larger changes to `fmt`, because `Formatter` at the moment has no easy way to tell apart for example `Octal` from `Binary`: it only has a function pointer for the relevant `fmt()` method.

If some integer-like type outside of `std` want to implement this behavior, another RFC will likely need to propose a different public API for `Formatter`.
2018-03-19 02:38:19 +00:00
varkor
ca476dd8d3 Revert "Remove useless powerpc64 entry from ARCH_TABLE, closes #47737"
This reverts commit 16ac85ce4d.
2018-03-19 01:34:32 +00:00
bors
c2f4744d2d Auto merge of #49095 - alexcrichton:debug-asmjs, r=kennytm
Try to reduce amount of time on the asmjs builder

This PR has two commits for two separate strategies:

* First it disables optimizations for all tests, hopefully saving time by not optimizing the test code. This caused a number of run-pass tests to fail which are switched to being ignored here.
* Next it disables a number of test suites which aren't asm.js specific and already run elsewhere

cc #48826
2018-03-19 00:02:32 +00:00
Yukio Siraichi
736ba433ac Cleaned comments and extras s. 2018-03-18 20:58:56 -03:00
Yukio Siraichi
0b36b20651 CodeMap functions refactored.
- Using `span_take_while` to implement others.
2018-03-18 20:46:29 -03:00
Yukio Siraichi
74a4928ed4 Review fixes.
- `span_suggestion` changed to `span_suggestion_short`;
- `Span` used changed to contain only `&` refs;
- Tests passing.
2018-03-18 20:46:28 -03:00
Yukio Siraichi
c1ba5ac62c Reporting with span_suggestion_short. 2018-03-18 20:46:28 -03:00
Yukio Siraichi
f6bffd16d1 Rebased with master. 2018-03-18 20:46:28 -03:00
Yukio Siraichi
52cd07aef7 Created multiple line test. 2018-03-18 20:46:28 -03:00
Yukio Siraichi
f41dc775a3 Keeping code formatting.
Suggesting snippet without changing the original formatting of the code.
2018-03-18 20:46:27 -03:00
Yukio Siraichi
97b66d2987 Review fixes.
- `suggest_snippet` handling space between refs;
- Suggest message changing according to the number of refs that should
be removed.
2018-03-18 20:46:27 -03:00
Yukio Siraichi
f44b945e0e New test added. 2018-03-18 20:46:27 -03:00
Yukio Siraichi
e0fb0132c1 Test added. 2018-03-18 20:46:27 -03:00
Yukio Siraichi
4dd45069fe Refactored with high-order functions. 2018-03-18 20:46:24 -03:00