Commit Graph

78954 Commits

Author SHA1 Message Date
Mark Simulacrum
b35c60e95e
Rollup merge of #51299 - faern:const-int-ops, r=oli-obk
const fn integer operations

A follow up to #51171
Fixes #51267

Makes a lot of the integer methods (`swap_bytes`, `count_ones` etc) `const fn`s. See #51267 for a discussion about why this is wanted and the solution used.
2018-06-03 18:18:03 -06:00
Mark Simulacrum
df13790756
Rollup merge of #51288 - Mark-Simulacrum:delete-is-import, r=eddyb
Remove rustdoc-specific is_import field from HIR

Fixes #47100.

I believe that there is no need to check for the name being the same, as this
part of rustdoc seems to be strictly interested in exploring "public modules."
Re-exports from the same module cannot visit another module; and, re-exports
cannot export items with a greater visibility than that item declares.
Therefore, I think this code is either sufficient, or in fact does more than
is necessary, depending on whether rustdoc cares about the re-export itself.

r? @eddyb
2018-06-03 18:18:02 -06:00
bors
29f48ccf39 Auto merge of #50338 - japaric:panic-impl, r=alexcrichton
implement #[panic_implementation]

This implements the `#[panic_implementation]` attribute as instructed in https://github.com/rust-lang/rust/issues/44489#issuecomment-381324623

I haven't run the full test suite yet but at least all the compile-fail tests pass.

r? @nagisa
2018-06-03 20:13:09 +00:00
Jorge Aparicio
8ad15dea3f turn run-make test into a run-make-fulldeps test 2018-06-03 19:57:49 +02:00
Mark Simulacrum
19e0b7da1c Remove is_import field 2018-06-03 11:29:44 -06:00
bors
be5f17ccff Auto merge of #50904 - collin5:b50509, r=Mark-Simulacrum
Clean up dependency tracking in Rustbuild [1/2]

Initial refactor of the `Mode` enum. Still a WIP
Ref  #50509

r? @Mark-Simulacrum
2018-06-03 17:16:13 +00:00
Collins Abitekaniza
36eafe5712 impl is_tool on Mode enum
make is_tool inherent prop of mode

fix errors from rebase

resolve issues from review
2018-06-03 17:43:11 +03:00
bors
7d576f25fc Auto merge of #51325 - japaric:miri-up, r=TimNN
update the miri submodule

the submodule currently seems to be pointing to a miri branch that has been deleted.

r? @TimNN
2018-06-03 13:36:54 +00:00
Jorge Aparicio
c36bb94311 update the miri submodule to master 2018-06-03 14:31:37 +02:00
Jorge Aparicio
4bfefd94fd update the miri submodule 2018-06-03 14:27:46 +02:00
Jorge Aparicio
948ed24a09 fix tidy error 2018-06-03 13:46:20 +02:00
Jorge Aparicio
a174f2ab7c add more tests 2018-06-03 13:46:20 +02:00
Jorge Aparicio
da2ee5dcb2 reject fn panic_impl<T>(_: &PanicInfo) -> ! 2018-06-03 13:46:19 +02:00
Jorge Aparicio
4c84d382ed remove #[unwind(allowed)]
not required because this is a Rust function
2018-06-03 13:46:19 +02:00
Jorge Aparicio
86a0769621 fix after rebase 2018-06-03 13:46:19 +02:00
Jorge Aparicio
430ad76900 undo payload in core::panic! changes 2018-06-03 13:46:19 +02:00
Jorge Aparicio
eb19361416 document that panic_impl never passes the FFI boundary 2018-06-03 13:46:19 +02:00
Jorge Aparicio
b442348d53 remove unused struct NoPayload 2018-06-03 13:46:19 +02:00
Jorge Aparicio
eaef110890 format payload if possible instead of returning "Box<Any>" 2018-06-03 13:46:19 +02:00
Jorge Aparicio
63f18e108a s/panic_fmt/panic_impl/g in docs 2018-06-03 13:46:19 +02:00
Jorge Aparicio
e44ad61a2d implement #[panic_implementation] 2018-06-03 13:46:19 +02:00
Linus Färnstrand
8b5f962762 Ignore i128 test on asmjs 2018-06-03 11:23:34 +02:00
bors
3575be60ea Auto merge of #51319 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 6 pull requests

Successful merges:

 - #51143 (Specify that packed types must derive, not implement, Copy)
 - #51226 (Make Layout's align a NonZeroUsize)
 - #51297 (Fix run button style)
 - #51306 (impl Default for &mut str)
 - #51312 (Clarify the difference between get_mut and into_mut for OccupiedEntry)
 - #51313 (use type name in E0599 enum variant suggestion)

Failed merges:
2018-06-03 03:13:43 +00:00
Collins Abitekaniza
11333972e8 refactor mode to ToolRustc for Rls & Rustfmt 2018-06-03 05:02:10 +03:00
Collins Abitekaniza
fb949b5336 thread tool modes through 2018-06-03 05:02:09 +03:00
Collins Abitekaniza
ce10910b69 refactor, make requested changes 2018-06-03 04:59:55 +03:00
Collins Abitekaniza
42ee6d5fd5 refactor Mode enum 2018-06-03 04:59:54 +03:00
Mark Simulacrum
c09cad1f28
Rollup merge of #51313 - euclio:variant-name-suggestion-fix, r=oli-obk
use type name in E0599 enum variant suggestion

Also, rename the variable from "type_str" to "item_kind" to avoid
the ambiguity that caused this bug.
2018-06-02 19:55:10 -06:00
Mark Simulacrum
a689b2d8ac
Rollup merge of #51312 - frewsxcv:clarify-hash-map-entry-get-mut, r=dtolnay
Clarify the difference between get_mut and into_mut for OccupiedEntry

The examples for both hash_map::OccupiedEntry::get_mut and
hash_map::OccupiedEntry::into_mut were almost identical. This led to some
confusion over the difference, namely why you would ever use get_mut when
into_mut gives alonger lifetime. Reddit thread:
https://www.reddit.com/r/rust/comments/8a5swr/why_does_hashmaps

This commit adds two lines and a comment to the example, to show that the
entry object can be re-used after calling get_mut.

Closes https://github.com/rust-lang/rust/issues/49745
2018-06-02 19:55:09 -06:00
Mark Simulacrum
5bbe1ebe00
Rollup merge of #51306 - kennytm:impl-default-for-mut-str, r=SimonSapin
impl Default for &mut str

Rationale: There is already `impl Default for &mut [T]`.

Note: This impl is insta-stable.
2018-06-02 19:55:08 -06:00
Mark Simulacrum
0c695e01da
Rollup merge of #51297 - GuillaumeGomez:fix-run-but-style, r=QuietMisdreavus
Fix run button style

r? @QuietMisdreavus
2018-06-02 19:55:07 -06:00
Mark Simulacrum
4ce7ef5f59
Rollup merge of #51226 - gnzlbg:nonzero_align, r=SimonSapin
Make Layout's align a NonZeroUsize

This PR makes the `Layout`'s align field a `NonZeroUsize` since it cannot ever be zero, not even while building a `Layout`. It also contains some drive-by minor cleanups over the docs and the code, like updating the documented error types, or using the `size()` and `align()` methods instead of accessing the fields directly (the latter was required for the `NonZeroUsize` change anyways).

r? @SimonSapin

cc @Amanieu
2018-06-02 19:55:06 -06:00
Mark Simulacrum
a6ab2153f6
Rollup merge of #51143 - Mark-Simulacrum:issue-50826, r=cramertj
Specify that packed types must derive, not implement, Copy
2018-06-02 19:55:04 -06:00
Linus Färnstrand
7df009922b Pass literal through black_box 2018-06-03 03:13:29 +02:00
Corey Farwell
dd88f88c02 Copy changes from HashMap over to BTreeMap. 2018-06-02 20:44:15 -04:00
bors
251ec62a13 Auto merge of #50953 - GuillaumeGomez:attributes-in-other-places, r=QuietMisdreavus
Add attributes for trait and methods as well

Fixes #48485.

r? @QuietMisdreavus
2018-06-03 00:31:13 +00:00
Corey Farwell
a86f556ee3 Add a couple lines describing differences between into_mut/get_mut. 2018-06-02 18:07:23 -04:00
bors
3515dab431 Auto merge of #51310 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 6 pull requests

Successful merges:

 - #50167 ( Add as_nanos function to Duration)
 - #50919 (Provide more context for what the {f32,f64}::EPSILON values represent.)
 - #51124 (Reword {ptr,mem}::replace docs.)
 - #51147 (Stabilize SliceIndex trait.)
 - #51291 (Fix typos of ‘ambiguous’)
 - #51302 (Permit building rustdoc without compiler artifacts)

Failed merges:
2018-06-02 21:32:47 +00:00
Guillaume Gomez
26ad95c9d4 Add attributes for trait and methods as well 2018-06-02 23:26:46 +02:00
Andy Russell
9eb70c3cf5
use type name in E0599 enum variant suggestion
Also, rename the variable from "type_str" to "item_kind" to avoid
the ambiguity that caused this bug.
2018-06-02 16:58:49 -04:00
Phlosioneer
ed1a8fff62 Fixed typo 2018-06-02 15:51:44 -04:00
Phlosioneer
1bc6c4b10e Clarify the difference between get_mut and into_mut for OccupiedEntry
The examples for both hash_map::OccupiedEntry::get_mut and
hash_map::OccupiedEntry::into_mut were almost identical. This led
to some confusion over the difference, namely why you would ever
use get_mut when into_mut gives alonger lifetime. Reddit thread:
https://www.reddit.com/r/rust/comments/8a5swr/why_does_hashmaps

This commit adds two lines and a comment to the example, to show
that the entry object can be re-used after calling get_mut.
2018-06-02 15:51:39 -04:00
Mark Simulacrum
dcfe311da8
Rollup merge of #51302 - Mark-Simulacrum:rustdoc-fast, r=QuietMisdreavus
Permit building rustdoc without compiler artifacts

None
2018-06-02 13:14:28 -06:00
Mark Simulacrum
d297f68603
Rollup merge of #51291 - evincarofautumn:master, r=oli-obk
Fix typos of ‘ambiguous’

I had trouble finding this code because of the typo after it was [referenced in a tweet](https://twitter.com/bstrie/status/1002751044605153280). Also fixes an identical but unrelated typo in a comment.
2018-06-02 13:14:27 -06:00
Mark Simulacrum
5a575b542d
Rollup merge of #51147 - tmccombs:sliceindex, r=SimonSapin
Stabilize SliceIndex trait.

CC #35729

According to recommendations in
https://github.com/rust-lang/rust/issues/35729#issuecomment-377784884
2018-06-02 13:14:25 -06:00
Mark Simulacrum
dd61a32459
Rollup merge of #51124 - frewsxcv:frewsxcv-replace, r=QuietMisdreavus
Reword {ptr,mem}::replace docs.

Fixes https://github.com/rust-lang/rust/issues/50657.
2018-06-02 13:14:24 -06:00
Mark Simulacrum
6ff9108e12
Rollup merge of #50919 - frewsxcv:frewsxcv-epsilon, r=steveklabnik
Provide more context for what the {f32,f64}::EPSILON values represent.

Introduce the 'machine epsilon' term because if one googles 'epsilon', they might stumble upon https://en.wikipedia.org/wiki/Epsilon_numbers_(mathematics) instead of https://en.wikipedia.org/wiki/Machine_epsilon
2018-06-02 13:14:23 -06:00
Mark Simulacrum
77c8bd0b4e
Rollup merge of #50167 - fintelia:duration-nanos, r=sfackler
Add as_nanos function to Duration

Duration has historically lacked a way to get the actual number of nanoseconds it contained as a normal Rust type because u64 was of insufficient range, and f64 of insufficient precision. The u128 type solves both issues, so I propose adding an `as_nanos` function to expose the capability.
2018-06-02 13:14:22 -06:00
kennytm
0ff8d40fa1
impl Default for &mut str 2018-06-03 00:29:50 +08:00
Mark Simulacrum
cf24a1df33 Rustdoc itself no longer requires proc macros to build
This avoids a full compiler build in order to build and/or run tests for
rustdoc.
2018-06-02 09:32:22 -06:00