Commit Graph

76052 Commits

Author SHA1 Message Date
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
boats
2797aaca77
Update tracking issue. 2018-03-18 15:05:45 -07:00
Steven Fackler
16da5d4bb2 Add BufReader::buffer
This subsumes the need for an explicit is_empty function, and provides
access to the buffered data itself which has been requested from time to
time.
2018-03-18 13:14:29 -07:00
Guillaume Gomez
7786f70437 Add warning for invalid start of code blocks in rustdoc 2018-03-18 20:34:49 +01:00
gnzlbg
cca2604e6c add codegen test 2018-03-18 19:55:20 +01:00
Lymia Aluysia
ce84a41936
Allow raw identifiers in diagnostic macros. 2018-03-18 13:27:56 -05:00
gnzlbg
9a44448a25 add simd_select intrinsic 2018-03-18 18:33:36 +01:00
bors
5508b27145 Auto merge of #49134 - oli-obk:clippy, r=kennytm
Update clippy and RLS

r? @Manishearth
2018-03-18 17:22:17 +00:00
Lymia Aluysia
5c3d6320de
Return a is_raw parameter from Token::ident rather than having separate methods. 2018-03-18 12:16:02 -05:00
Sébastien Marie
e269a7435e Allow test target to pass without installing
explicitly pass -L target-lib to rustdoc
2018-03-18 18:08:17 +01:00
Lymia Aluysia
d2e7953d13
Move raw_identifiers check to the lexer. 2018-03-18 11:21:38 -05:00
John Kåre Alsaker
efa9016390 Add a CI job for parallel rustc using x.py check 2018-03-18 17:04:50 +01:00
Simon Sapin
a23f685296 num::NonZero* types now have their own tracking issue: #49137
Fixes #27730
2018-03-18 16:58:38 +01:00
Guillaume Gomez
5581aa8eeb Fix events handling in rustdoc 2018-03-18 16:32:41 +01:00
Lymia Aluysia
7d5c29b9ea
Feature gate raw identifiers. 2018-03-18 10:07:19 -05:00
Lymia Aluysia
fad1648e0f
Initial implementation of RFC 2151, Raw Identifiers 2018-03-18 10:07:19 -05:00
kennytm
8501e95023
Update RLS. 2018-03-18 22:26:57 +08:00
Oliver Schneider
5904543234
Update clippy 2018-03-18 13:29:57 +01:00
csmoe
55116243e7 remove unneeded where clause 2018-03-18 20:18:21 +08:00
Martin Hoffmann
13d94d666e Fix formatting. 2018-03-18 13:05:00 +01:00
bors
8aa27ee309 Auto merge of #48986 - matklad:update-cargo, r=alexcrichton
Update Cargo

r? @alexcrichton

Let's put new clap argument parsing in production to see if anything dies in flames :)
2018-03-18 10:03:18 +00:00
bors
7c396ebd0b Auto merge of #48985 - scalexm:lowering, r=nikomatsakis
MVP for chalkification

r? @nikomatsakis
2018-03-18 07:35:43 +00:00
bors
5e3ecdce4e Auto merge of #48917 - petrochenkov:import, r=oli-obk
syntax: Make imports in AST closer to the source and cleanup their parsing

This is a continuation of https://github.com/rust-lang/rust/pull/45846 in some sense.
2018-03-18 01:50:52 +00:00
Maxim Nazarenko
1e73c1d39f rustbuild: Ship libsynchronization
Ship libsynchronization from MinGW
2018-03-18 03:05:00 +02:00
bors
ca6a984261 Auto merge of #48842 - petrochenkov:under, r=nikomatsakis
syntax: Make `_` a reserved identifier

Why:
- Lexically `_` is an identifier.
- Internally it makes implementation of `use Trait as _;` (https://github.com/rust-lang/rust/issues/48216) and some other things cleaner.
- We prevent the externally observable effect of `_` being accepted by macros expecting `ident` by treating `_` specially in the `ident` matcher:
```rust
macro_rules! m {
    ($i: ident) => { let $i = 10; }
}

m!(_); // Still an error
```
2018-03-17 23:22:57 +00:00
Simon Sapin
73c053786d Remove deprecated unstable ptr::Shared type alias.
It has been deprecated for about one release cycle.
2018-03-17 23:59:35 +01:00
Scott McMurray
b4981923a0 Add a -Z flag for LLVM align attributes on arguments
LLVM seems to still put the assume calls in when inlining, so this probably isn't in a place where it can be turned on by default, but it's interesting to experiment with.

For example, this makes `swap::<u64x8>` be 8x `vmovaps	ymm` instead of 16x `vmovups	xmm`, on my cpu.
2018-03-17 15:34:12 -07:00
Simon Sapin
7cf1f18cb9 Test NonZero in a const item in a pattern.
(This was buggy before https://github.com/rust-lang/rust/pull/46882)
2018-03-17 23:07:40 +01:00
Simon Sapin
6d682c9adc Stop using deprecated NonZero APIs
These will eventually be removed
(though the NonZero<T> lang item will likely stay).
2018-03-17 23:07:40 +01:00