Mazdak Farrokhzad
e1de70b045
Rollup merge of #62735 - petrochenkov:galloc, r=alexcrichton
...
Turn `#[global_allocator]` into a regular attribute macro
It was a 99% macro with exception of some diagnostic details.
As a result of the change, `#[global_allocator]` now works in nested modules and even in nameless blocks.
Fixes https://github.com/rust-lang/rust/issues/44113
Fixes https://github.com/rust-lang/rust/issues/58072
2019-07-25 23:21:00 +02:00
Mazdak Farrokhzad
a57c4f6297
Rollup merge of #61884 - crlf0710:stablize_euc, r=dtolnay,Centril
...
Stablize Euclidean Modulo (feature euclidean_division)
Closes #49048
2019-07-25 23:20:53 +02:00
Mazdak Farrokhzad
3b19dc96fc
Rollup merge of #60066 - sfackler:type-name, r=Centril
...
Stabilize the type_name intrinsic in core::any
Stabilize `type_name` in `core::any`.
Closes rust-lang/rfcs#1428
FCP completed over there.
`RELEASES.md`: Prefer T-libs for categorization.
2019-07-25 23:20:49 +02:00
bors
890881f8f4
Auto merge of #60340 - mgeier:cap-vs-capacity, r=alexcrichton
...
Rename .cap() methods to .capacity()
As mentioned in #60316 , there are a few `.cap()` methods, which seem out-of-place because such methods are called `.capacity()` in the rest of the code.
This PR renames them to `.capacity()` but leaves `RawVec::cap()` in there for backwards compatibility.
I didn't try to mark the old version as "deprecated", because I guess this would cause too much noise.
2019-07-25 18:45:42 +00:00
Esteban Küber
3ab60264b5
Add note suggesting to borrow a String argument to find
2019-07-25 10:11:03 -07:00
Lukas Kalbertodt
9d39758d14
Remove cfg(bootstrap) code for array implementations
...
In PR #62435 ("Use const generics for array impls [part 1]") the old
macro-based implementations were not removed but still used with
`cfg(bootstrap)` since the bootstrap compiler had some problems with
const generics at the time. This does not seem to be the case anymore,
so there is no reason to keep the old code.
2019-07-25 18:06:26 +02:00
Tomasz Różański
50d9b06f97
Fix inconsistent highlight blocks.
2019-07-25 17:56:58 +02:00
bors
eedf6ce4ef
Auto merge of #62944 - RalfJung:miri, r=oli-obk
...
bump Miri
Fixes https://github.com/rust-lang/rust/issues/62919 .
r? @oli-obk
2019-07-25 06:14:48 +00:00
Steven Fackler
91fa898975
Stabilize the type_name intrinsic in core::any
...
Closes rust-lang/rfcs#1428
2019-07-24 21:35:49 -07:00
Mazdak Farrokhzad
b1a866012d
Rollup merge of #62814 - androm3da:hexagon_19jul_2019, r=alexcrichton
...
add support for hexagon-unknown-linux-musl
2019-07-25 01:05:00 +02:00
Ralf Jung
f2900b0b41
re-enable debug checks in Miri
2019-07-24 20:47:24 +02:00
Mazdak Farrokhzad
0466237555
Rollup merge of #62926 - Smibu:fix-typo, r=jonas-schievink
...
Fix typo in mem::uninitialized doc
2019-07-24 16:13:22 +02:00
Mazdak Farrokhzad
a7d993961f
Rollup merge of #62716 - RalfJung:unsafe-cell, r=Centril
...
state also in the intro that UnsafeCell has no effect on &mut
Just to be extra sure.
2019-07-24 16:13:09 +02:00
Mazdak Farrokhzad
21caaba2bc
Rollup merge of #62641 - cuviper:unicode-12.1, r=matklad
...
Regenerate character tables for Unicode 12.1
2019-07-24 16:13:07 +02:00
Vadim Petrochenkov
433024147a
syntax_ext: Turn #[global_allocator] into a regular attribute macro
2019-07-24 12:29:44 +03:00
Mika Lehtinen
a44f43e8b5
Fix typo in mem::uninitialized doc
2019-07-24 11:34:30 +03:00
bors
a7f28678bb
Auto merge of #62902 - Mark-Simulacrum:rollup-mxfk0mm, r=Mark-Simulacrum
...
Rollup of 14 pull requests
Successful merges:
- #60951 (more specific errors in src/librustc/mir/interpret/error.rs)
- #62523 (Delay bug to resolve HRTB ICE)
- #62656 (explain how to search in slice without owned data)
- #62791 (Handle more cases of typos misinterpreted as type ascription)
- #62804 (rustc_typeck: improve diagnostics for _ const/static declarations)
- #62808 (Revert "Disable stack probing for gnux32.")
- #62817 (Tweak span for variant not found error)
- #62842 (Add tests for issue-58887)
- #62851 (move unescape module to rustc_lexer)
- #62859 (Place::as_place_ref is now Place::as_ref)
- #62869 (add rustc_private as a proper language feature gate)
- #62880 (normalize use of backticks in compiler messages for librustc_allocator)
- #62885 (Change "OSX" to "macOS")
- #62889 (Update stage0.txt)
Failed merges:
r? @ghost
2019-07-23 19:50:46 +00:00
Mark Rousskov
f11ffd3a6a
Rollup merge of #62869 - matklad:feature-gate, r=Mark-Simulacrum
...
add rustc_private as a proper language feature gate
At the moment, `rustc_private` as a (library) feature exists by
accident: `char::is_xid_start`, `char::is_xid_continue` methods in
libcore define it.
cc https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/How.20to.20declare.20new.20langauge.20feature.3F
I don't know if this is at all reasonable, but at least tests seem to pass locally. That probably means that we can remove/rename to something more resonable the feature in libcore in the next release?
2019-07-23 12:51:18 -04:00
Mark Rousskov
4264f8376a
Rollup merge of #62656 - RalfJung:contains-no-own, r=Dylan-DPC
...
explain how to search in slice without owned data
Cc https://github.com/rust-lang/rust/issues/62367
2019-07-23 12:51:05 -04:00
bors
299ef86e1f
Auto merge of #62823 - RalfJung:miri, r=oli-obk
...
update Miri
Fixes https://github.com/rust-lang/rust/issues/62802
r? @oli-obk @eddyb
2019-07-23 15:55:26 +00:00
Brian Cain
4b339688b5
add support for hexagon-unknown-linux-musl
2019-07-22 09:44:58 -05:00
Mazdak Farrokhzad
5a20745c96
Rollup merge of #62799 - RalfJung:uninit-array, r=Centril
...
use const array repeat expressions for uninit_array
With a first implementation of https://github.com/rust-lang/rust/issues/49147 having landed, we can make this macro nicer and phase it out with the next bootstrap bump.
However, to make this work, we have to mark `MaybeUninit::uninit()` as promotable. I do feel uneasy about promoting stuff involving uninitialized memory, but OTOH no *operation* on `MaybeUninit` is promotable, so maybe this is okay?
r? @oli-obk @eddyb
2019-07-22 15:32:17 +02:00
Mazdak Farrokhzad
7dafdd21b1
Rollup merge of #62788 - fakenine:normalize_use_of_backticks_compiler_messages_p9, r=Centril
...
normalize use of backticks in compiler messages for libcore/ptr
https://github.com/rust-lang/rust/issues/60532
2019-07-22 15:32:15 +02:00
Aleksey Kladov
27b703dd40
add rustc_private as a proper language feature gate
...
At the moment, `rustc_private` as a (library) feature exists by
accident: `char::is_xid_start`, `char::is_xid_continue` methods in
libcore define it.
2019-07-22 16:32:13 +03:00
Mazdak Farrokhzad
1d7faafe47
Rollup merge of #62746 - RalfJung:deprecated, r=KodrAus
...
do not use assume_init in std::io
Cc https://github.com/rust-lang/rust/issues/62397
2019-07-22 15:32:12 +02:00
Mazdak Farrokhzad
2567af67a6
Rollup merge of #62713 - SimonSapin:cast, r=Centril
...
Stabilize <*mut _>::cast and <*const _>::cast
Fixes #60602 .
FCP: https://github.com/rust-lang/rust/issues/60602#issuecomment-511146402
2019-07-22 15:32:11 +02:00
Ralf Jung
f3abbf7103
tidy is being silly
2019-07-21 12:59:51 +02:00
Luca Barbieri
44c165074b
fix comment
2019-07-21 12:50:16 +02:00
Ralf Jung
4b47e78a16
use a const to hack around promotion limitations
2019-07-21 12:28:18 +02:00
Ralf Jung
10f877b5ea
disable overlapping check with Miri (does not work without intptrcast)
2019-07-21 12:28:06 +02:00
Luca Barbieri
c7928f5af0
Expand comment on BorrowRef::new
2019-07-21 11:49:36 +02:00
Ralf Jung
ad261f6852
avoid uninit_array! macro where it is not needed
2019-07-19 17:23:47 +02:00
Ralf Jung
e074db764a
use const array repeat expressions for uninit_array
2019-07-19 14:47:56 +02:00
Ralf Jung
13ed0cf9e8
do not use mem::uninitialized in std::io
2019-07-19 09:45:38 +02:00
Samy Kacimi
886fb218ed
normalize use of backticks in compiler messages for libcore/ptr
...
https://github.com/rust-lang/rust/issues/60532
2019-07-18 23:33:16 +02:00
Mark Rousskov
d961eb6034
Rollup merge of #62740 - lzutao:patch-2, r=alexcrichton
...
Add missing link to Infallible in TryFrom doc
2019-07-18 11:29:46 -04:00
Mark Rousskov
831d33b8b0
Rollup merge of #62728 - DutchGhost:fix-double-wording, r=jonas-schievink
...
Fix repeated wording in slice documentation
Changes `of the slice of the slice` to `of the slice` in the chunk- and friends documentation of slices
2019-07-18 11:29:42 -04:00
Mateusz Mikuła
124f6ef7cd
Fix clippy::len_zero warnings
2019-07-18 15:14:56 +02:00
Mateusz Mikuła
f93032c818
Fix clippy::clone_on_copy warnings
2019-07-18 15:14:56 +02:00
Yuki Okushi
f2a97210b2
Use DerefMut
2019-07-18 15:18:41 +09:00
Brad Gibson
d1aca3aea5
renamed inner_deref feature's deref*() methods as_deref*() as per discussion https://github.com/rust-lang/rust/issues/50264
2019-07-18 15:17:30 +09:00
newpavlov
ad3632401c
unconstify methods
2019-07-17 18:58:33 +03:00
newpavlov
0a227f33a8
stabilize duration_float
2019-07-17 18:36:15 +03:00
Philipp Oppermann
c9c73f5d25
Refer to add method instead of offset
...
The `align_offset` method returns an `usize`, so using `add` makes more sense than using `offset`, which takes an `isize`.
2019-07-17 17:25:43 +02:00
bors
e34d4ae869
Auto merge of #61339 - jridgewell:pointer-alignment, r=BurntSushi
...
Optimize pointer alignment in utf8 validation
This uses (and reuses) the u8 arrays's inherent block alignment when checking whether the current index is block aligned.
I initially thought that this would just move the expensive `align_offset` call out of the while loop and replace it with a subtraction and bitwise AND. But it appears this optimizes much better, too...
before: https://rust.godbolt.org/z/WIPvWl
after: https://rust.godbolt.org/z/-jBPoW
## Benchmarks
https://github.com/jridgewell/faster-from_utf8/tree/pointer-alignment
```
test from_utf8_2_bytes_fast ... bench: 310 ns/iter (+/- 42) = 1290 MB/s
test from_utf8_2_bytes_regular ... bench: 309 ns/iter (+/- 24) = 1294 MB/s
test from_utf8_3_bytes_fast ... bench: 1,027 ns/iter (+/- 62) = 1168 MB/s
test from_utf8_3_bytes_regular ... bench: 1,513 ns/iter (+/- 611) = 793 MB/s
test from_utf8_4_bytes_fast ... bench: 1,788 ns/iter (+/- 26) = 1342 MB/s
test from_utf8_4_bytes_regular ... bench: 1,907 ns/iter (+/- 181) = 1258 MB/s
test from_utf8_all_bytes_fast ... bench: 3,463 ns/iter (+/- 97) = 1155 MB/s
test from_utf8_all_bytes_regular ... bench: 4,083 ns/iter (+/- 89) = 979 MB/s
test from_utf8_ascii_fast ... bench: 88 ns/iter (+/- 4) = 28988 MB/s
test from_utf8_ascii_regular ... bench: 88 ns/iter (+/- 8) = 28988 MB/s
test from_utf8_cyr_fast ... bench: 7,707 ns/iter (+/- 531) = 665 MB/s
test from_utf8_cyr_regular ... bench: 8,202 ns/iter (+/- 135) = 625 MB/s
test from_utf8_enwik8_fast ... bench: 1,135,756 ns/iter (+/- 84,450) = 8804 MB/s
test from_utf8_enwik8_regular ... bench: 1,145,468 ns/iter (+/- 79,601) = 8730 MB/s
test from_utf8_jawik10_fast ... bench: 12,723,844 ns/iter (+/- 473,247) = 785 MB/s
test from_utf8_jawik10_regular ... bench: 13,384,596 ns/iter (+/- 666,997) = 747 MB/s
test from_utf8_mixed_fast ... bench: 2,321 ns/iter (+/- 123) = 2081 MB/s
test from_utf8_mixed_regular ... bench: 2,702 ns/iter (+/- 408) = 1788 MB/s
test from_utf8_mostlyasc_fast ... bench: 249 ns/iter (+/- 10) = 14666 MB/s
test from_utf8_mostlyasc_regular ... bench: 276 ns/iter (+/- 5) = 13231 MB/s
```
2019-07-17 12:13:36 +00:00
Luca Barbieri
f0b3c02d81
Optimize RefCell read borrowing
...
Instead of doing two comparisons we can do only one with a bit of
cleverness.
LLVM currently can't do this optimization itself on x86-64.
2019-07-17 13:25:34 +02:00
bors
d56128d291
Auto merge of #62596 - cuviper:expect_none, r=rkruppe
...
Add Option::expect_none(msg) and unwrap_none()
These are `Option` analogues to `Result::expect_err` and `unwrap_err`.
2019-07-17 08:29:02 +00:00
lzutao
6471bd5f19
Add missing link to Infallible in TryFrom doc
2019-07-17 10:44:12 +07:00
Tim Vermeulen
688c11216a
Override Cycle::try_fold
2019-07-17 01:16:49 +02:00
Dodo
9341e90b44
found more repeated wording
2019-07-16 21:57:32 +02:00