Commit graph

8333 commits

Author SHA1 Message Date
kennytm
b3303edba6
Rollup merge of #53218 - weiznich:feature/option_ref_into, r=KodrAus
Add a implementation of `From` for converting `&'a Option<T>` into `Option<&'a T>`

I'm not sure if any annotations regarding the stabilization are needed or in general what's the correct process of adding such an impl.

cc @sgrif (We have talked about this)
2018-09-14 14:50:09 +08:00
bors
6810f5286b Auto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakis
stabilize outlives requirements

https://github.com/rust-lang/rust/issues/44493

r? @nikomatsakis
2018-09-12 11:27:48 +00:00
kennytm
4f62077a2c
Rollup merge of #53777 - ivanbakel:result_map_or_else, r=alexcrichton
Implemented map_or_else for Result<T, E>

Fulfills #53268
The example is ripped from `Option::map_or_else`, with the types corrected.
2018-09-12 12:17:25 +08:00
toidiu
731f4efae5 stabalize infer outlives requirements (RFC 2093).
Co-authored-by: nikomatsakis
2018-09-11 11:40:04 -04:00
Martin Pool
597c06544d Document .0 to unpack the value from Wrapping 2018-09-08 11:35:02 -07:00
bors
06da917b01 Auto merge of #51885 - GuillaumeGomez:trait-impl-show-docs, r=Mark-Simulacrum,QuietMisdreavus
Trait impl show docs

Fixes #51834.

<img width="1440" alt="screen shot 2018-06-29 at 00 14 33" src="https://user-images.githubusercontent.com/3050060/42063323-6e6e8cc8-7b31-11e8-88ef-4dd2229df76c.png">

(You can see both commit changes in the screenshot 😄)

r? @QuietMisdreavus
2018-09-08 04:14:54 +00:00
kennytm
9b70ef7780
Rollup merge of #53979 - alexcrichton:remove-repr-transparent-atomics-master, r=sfackler
Remove `#[repr(transparent)]` from atomics

Added in #52149 the discussion in #53514 is showing how we may not want to
actually add this attribute to the atomic types. While we continue to
debate #53514 this commit reverts the addition of the `transparent` attribute.
This should be a more conservative route which leaves us the ability to tweak
this in the future but in the meantime allows us to continue discussion as well.
2018-09-07 18:13:57 +08:00
kennytm
03de1c44d1
Rollup merge of #53946 - tbu-:pr_doc_manuallydrop, r=cramertj
Clarify `ManuallyDrop` docs

Mention that you can use `into_inner` to drop the contained value.
2018-09-07 18:13:42 +08:00
kennytm
3f2de03daa
Rollup merge of #53455 - llogiq:num-byte-conversion-docs, r=steveklabnik
Individual docs for {from,to}_*_bytes
2018-09-07 15:26:37 +08:00
kennytm
846a0bd1b9
Rollup merge of #53299 - MagnumOpus21:fix-macro-write, r=steveklabnik
Updated core/macros.rs to note it works in a no_std environment.

Fixes #45797
This PR updates the documentation of `write!` to note it works in a `no_std` environment, and adds an
example to showcase this. In a `no_std` environment, the author of the code is responsible for the
implementation of the `Write` trait. This example will work out of the box with `no_std`, but the
implementation of `Write` is expected to be provided by the user.

r? @steveklabnik
2018-09-07 15:26:26 +08:00
Guillaume Gomez
c1ad1b0338 Fix invalid urls 2018-09-06 23:32:30 +02:00
bors
8b7f164eab Auto merge of #52994 - varkor:trim_direction, r=alexcrichton
Add trim_start, trim_end etc.; deprecate trim_left, trim_right, etc. in future

Adds the methods: `trim_start`, `trim_end`, `trim_start_matches` and `trim_end_matches`.
Deprecates `trim_left`, `trim_right`, `trim_left_matches` and `trim_right_matches` starting from Rust 1.33.0, three versions from when they'll initially be marked as being deprecated, using the future deprecation from https://github.com/rust-lang/rust/issues/30785 and https://github.com/rust-lang/rust/pull/51681.

Fixes https://github.com/rust-lang/rust/issues/30459.
2018-09-05 23:45:08 +00:00
Alex Crichton
0338d340c4 Remove #[repr(transparent)] from atomics
Added in #52149 the discussion in #53514 is showing how we may not want to
actually add this attribute to the atomic types. While we continue to
debate #53514 this commit reverts the addition of the `transparent` attribute.
This should be a more conservative route which leaves us the ability to tweak
this in the future but in the meantime allows us to continue discussion as well.
2018-09-05 15:41:44 -07:00
Andre Bogus
90b7c5acbc Individual docs for {from,to}_*_bytes 2018-09-05 19:49:57 +02:00
Siva Prasad
9d440d578d Spacing changes made to the example 2018-09-05 09:09:50 -04:00
MagnumOpus21
5e7039411b Added a missing backtick to no std 2018-09-05 08:56:00 -04:00
MagnumOpus21
94e8a6aa3b Made the requested changes for Note: and no_std within backticks 2018-09-05 08:56:00 -04:00
MagnumOpus21
6c66aeb6c0 Prefixed no_run to the no_std write macro 2018-09-05 08:56:00 -04:00
MagnumOpus21
efb88b40a1 Formatting errors rectified 2018-09-05 08:56:00 -04:00
MagnumOpus21
3ae6d06edb Refined the example 2018-09-05 08:56:00 -04:00
MagnumOpus21
2ae2c628ee Updated libcore/macro.rs to note write macro can work in no_std setups 2018-09-05 08:56:00 -04:00
Mark Rousskov
9ec5ef541a Breaking change upgrades 2018-09-04 13:22:08 -06:00
Tobias Bucher
0e62990760 Clarify ManuallyDrop docs
Mention that you can use `into_inner` to drop the contained value.
2018-09-04 14:43:21 +02:00
bors
4efc0a7811 Auto merge of #53928 - tbu-:pr_doc_fromrawmut, r=frewsxcv
Link to more detailed docs in `slice::from_raw_parts_mut`
2018-09-04 07:11:35 +00:00
bors
cd5c26f0eb Auto merge of #53697 - Cyres:const-fn-int-ops, r=oli-obk
Add more const int ops

r? @oli-obk

Tracking Issue: #53718

list of `const fn`s in this PR:

- `feature = const_int_rotate`
  - `rotate_left`
  - `rotate_right`
- `feature = const_int_wrapping`
  - `wrapping_add`
  - `wrapping_sub`
  - `wrapping_mul`
  - `wrapping_shl`
  - `wrapping_shr`
- `feature = const_int_overflowing`
  - `overflowing_add`
  - `overflowing_sub`
  - `overflowing_mul`
  - `overflowing_shl`
  - `overflowing_shr`
- `feature = const_int_sign`
  - `is_positive`
  - `is_negative`
- `feature = const_int_conversion`
  - `reverse_bits`
  - `to_le_bytes`
  - `to_ne_bytes`
  - `from_be_bytes`
  - `from_le_bytes`
  - `from_ne_bytes`
  - `reverse_bits`
2018-09-03 16:31:34 +00:00
Tobias Bucher
fe56878a24 Link to more detailed docs in slice::from_raw_parts_mut 2018-09-03 18:29:08 +02:00
Tim Diekmann
256cf8681e
Add const_unstable flag to overflowing_shr 2018-09-03 14:53:05 +02:00
bors
23ea1b8188 Auto merge of #53599 - matthiaskrgr:split_str__to__split_char, r=frewsxcv
use char pattern for single-character splits: a.split("x") -> a.split('x')
2018-09-02 15:27:56 +00:00
bors
839d99c861 Auto merge of #53884 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests

Successful merges:

 - #53076 (set cfg(rustdoc) when rustdoc is running on a crate)
 - #53622 (cleanup: Add main functions to some UI tests)
 - #53769 (Also link Clippy repo in the CONTRIBUTING.md file)
 - #53774 (Add rust-gdbgui script.)
 - #53781 (bench: libcore: fix build failure of any.rs benchmark (use "dyn Any"))
 - #53782 (Make Arc cloning mechanics clearer in module docs)
 - #53790 (Add regression test for issue #52060)
 - #53801 (Prevent duplicated impl on foreign types)
 - #53850 (Nuke the `const_to_allocation` query)
2018-09-01 15:48:21 +00:00
kennytm
d0f8cf32b3
Rollup merge of #53076 - QuietMisdreavus:cfg-rustdoc, r=GuillaumeGomez
set cfg(rustdoc) when rustdoc is running on a crate

When using `#[doc(cfg)]` to document platform-specific items, it's a little cumbersome to get all the platforms' items to appear all at once. For example, the standard library adds `--cfg dox` to rustdoc's command line whenever it builds docs, and the documentation for `#![feature(doc_cfg)]` suggests using a Cargo feature to approximate the same thing. This is a little awkward, because you always need to remember to set `--features dox` whenever you build documentation.

This PR proposes making rustdoc set `#[cfg(rustdoc)]` whenever it runs on a crate, to provide an officially-sanctioned version of this that is set automatically. This way, there's a standardized way to declare that a certain version of an item is specifically when building docs.

To try to prevent the spread of this feature from happening too quickly, this PR also restricts the use of this flag to whenever `#![feature(doc_cfg)]` is active. I'm sure there are other uses for this, but right now i'm tying it to this feature. (If it makes more sense to give this its own feature, i can easily do that.)
2018-09-01 23:18:41 +08:00
kennytm
8d161a6682
Rollup merge of #53781 - matthiaskrgr:fix_any_bench, r=kennytm
bench: libcore: fix build failure of any.rs benchmark (use "dyn Any")

fixes
````
error: trait objects without an explicit `dyn` are deprecated
  --> libcore/../libcore/benches/any.rs:18:36
   |
18 |         let mut y = &mut x as &mut Any;
   |                                    ^^^ help: use `dyn`: `dyn Any`
   |
   = note: requested on the command line with `-D bare-trait-objects`
````
2018-09-01 21:14:11 +08:00
Tim
cdea63058a rebase 2018-09-01 15:05:55 +02:00
bors
fea32f1b77 Auto merge of #53604 - oli-obk:min_const_fn, r=Centril,varkor
Implement the `min_const_fn` feature gate

cc @RalfJung @eddyb

r? @Centril

implements the feature gate for #53555

I added a hack so the `const_fn` feature gate also enables the `min_const_fn` feature gate. This ensures that nightly users of `const_fn` don't have to touch their code at all.

The `min_const_fn` checks are run first, and if they succeeded, the `const_fn` checks are run additionally to ensure we didn't miss anything.
2018-09-01 11:26:24 +00:00
bors
571a624aa9 Auto merge of #53755 - llogiq:fix-unsound-16bit-range, r=nagisa
fix u32 steps_between for 16-bit systems

This fixes #48006.
2018-08-31 22:44:17 +00:00
QuietMisdreavus
ad2169c095 use cfg(rustdoc) instead of cfg(dox) in std and friends 2018-08-31 13:29:10 -05:00
Oliver Schneider
472ca71598 Implement the min_const_fn feature gate 2018-08-31 08:39:59 +02:00
Pietro Albini
07fcb0168e
Rollup merge of #53785 - tbu-:pr_comment, r=Mark-Simulacrum
Fix a comment in src/libcore/slice/mod.rs
2018-08-30 20:15:46 +02:00
Pietro Albini
a245d9bbca
Rollup merge of #53476 - GuillaumeGomez:try-from-int-error-partial-eq, r=KodrAus
Add partialeq implementation for TryFromIntError type

Fixes #53458.
2018-08-30 20:15:30 +02:00
Pietro Albini
b7e74a5614
Rollup merge of #51760 - GuillaumeGomez:add-another-partialeq-example, r=QuietMisdreavus
Add another PartialEq example

r? @steveklabnik
2018-08-30 20:15:23 +02:00
Andre Bogus
9dab56c4a2 fix u32 steps_between for 16-bit systems 2018-08-30 12:35:00 +02:00
Isaac van Bakel
79408c3f32 Added feature attribute to example code in map_or_else doc 2018-08-30 00:51:09 +01:00
Isaac van Bakel
6ff4f7946f Corrected type variable output T -> U in Result::map_or_else 2018-08-29 22:55:21 +01:00
Isaac van Bakel
3eda9058cf Corrected feature status of Result::map_or_else
map_or_else is now correctly labelled unstable and points to the
tracking issue on rust-lang/rust
2018-08-29 22:51:54 +01:00
Isaac van Bakel
71b16d8350 Corrected bad typing in Result::map_or_else doc
The error value now includes the type of the success.
The success value now includes the type of the error.
2018-08-29 22:15:17 +01:00
Tobias Bucher
890d04d00f Fix a comment in src/libcore/slice/mod.rs 2018-08-29 15:23:06 +02:00
Isaac van Bakel
5eb679105f Corrected feature name for map_or_else 2018-08-29 13:08:52 +01:00
Matthias Krüger
50057ee3a3 bench: libcore: fix build failure of any.rs benchmark (use "dyn Any") 2018-08-29 12:18:05 +02:00
Isaac van Bakel
b8c60302e7 Implemented map_or_else for Result<T, E> 2018-08-29 02:37:57 +01:00
Guillaume Gomez
da4febd51e Add partialeq implementation for TryFromIntError type 2018-08-28 20:40:14 +02:00
bors
8c2b371ebc Auto merge of #53227 - nivkner:pin_move, r=RalfJung
move the Pin API into its own module for centralized documentation

This implements the change proposed by @withoutboats in #49150, as suggested by @RalfJung in the review of #53104,
along with the documentation that was originally in it, that was deemed more appropriate in module-level documentation.

r? @RalfJung
2018-08-27 22:56:15 +00:00