Commit graph

9940 commits

Author SHA1 Message Date
Mazdak Farrokhzad
6b951c2950
Rollup merge of #62663 - llogiq:more-questionmark-docs, r=GuillaumeGomez
More questionmarks in doctests

This removes the other `unwrap`s in the macro doctests, replacing them with `?`. For now, we need to specify the main function including the return type, we can get rid of that once the return type suggestion for `fn main() { .. }` works correctly.

r? @QuietMisdreavus
2019-08-02 12:14:14 +02:00
ksqsf
61e5286635 Remove Err variants of cloned and copied 2019-08-02 13:58:55 +08:00
Bruce Mitchener
325c6a56c2 Futures: Add link to Waker in trait doc. 2019-08-02 01:39:25 +07:00
Bruce Mitchener
86633b6389 Fix typos in doc comments. 2019-08-02 01:36:36 +07:00
Andre Bogus
cbac7815fe More questionmarks in doctests 2019-08-01 17:27:57 +02:00
Bruce Mitchener
b5c04e6d9e FixedSizeArray: Add missing links in doc comments. 2019-08-01 20:24:05 +07:00
ksqsf
9733f0d163 Fix doc tests 2019-08-01 19:18:03 +08:00
ksqsf
4b2f598986 Revert "cloned/copied"
This reverts commit 6c13081762.
2019-08-01 13:38:23 +08:00
ksqsf
6c13081762 Rename {copied,cloned} to {copied,cloned}_ok, and add {copied,cloned} to copy/clone both Ok and Err 2019-08-01 02:35:14 +08:00
Vadim Petrochenkov
73dae4eaf9 Remove derives Encodable/Decodable and unstabilize attribute #[bench] 2019-07-31 21:27:59 +03:00
ksqsf
5a36b0dba1 Make these methods public 2019-08-01 01:09:07 +08:00
ksqsf
c784720f3a Fix issue and impl 2019-08-01 00:55:36 +08:00
ksqsf
a0ab5a3651 Add Result::cloned{,_err} and Result::copied{,_err} 2019-08-01 00:26:47 +08:00
Mazdak Farrokhzad
c088890b6e
Rollup merge of #63123 - TankhouseAle:const-fn-type-name-any, r=oli-obk
`const fn`-ify `std::any::type_name` as laid out in #63084

A test, based on the one I added when I implemented support for the underlying `core::intrinsics::type_name` being allowed in `const fn` contexts, is included.
2019-07-30 22:43:37 +02:00
Artyom Pavlov
4281e6136d
fix tests 2019-07-30 16:41:03 +00:00
Artyom Pavlov
55ee8fe852
mark div_duration methods as unstable, update tracking issue 2019-07-30 15:00:17 +00:00
Mazdak Farrokhzad
8a90173239 Allow 'incomplete_features' in libcore/alloc. 2019-07-30 10:32:43 +02:00
Mazdak Farrokhzad
a03caecc53
Rollup merge of #63108 - lzutao:option-xor-typo, r=jonas-schievink
Add links to None in Option doc

r? @jonas-schievink
2019-07-30 05:37:43 +02:00
Mazdak Farrokhzad
51e50ed827
Rollup merge of #63000 - max-sixty:chars-display, r=alexcrichton
Impl Debug for Chars

Closes https://github.com/rust-lang/rust/issues/62947, making `Debug` more consistent with the struct's output and purpose

Let me know any feedback!
2019-07-30 05:37:33 +02:00
Mazdak Farrokhzad
b5bea2565e
Rollup merge of #61965 - phil-opp:patch-4, r=scottmcm
Remove mentions of removed `offset_to` method from `align_offset` docs

The `offset_to` method was deleted in https://github.com/rust-lang/rust/pull/52814.

The replacement for the removed method is `wrapping_offset_from`. However, neither method takes an `usize` as argument, so I don't think that it makes sense to mention them.
2019-07-30 05:37:30 +02:00
TankhouseAle
4a3d41d334
Add the necessary changes to any.rs
Specifically the `#[rustc_const_unstable(feature = "const_type_name")]` attribute, as well as marking the actual function as `const`.
2019-07-29 23:02:29 -04:00
Tyler Mandry
6fae7f8071 Wrap promoted generator fields in MaybeUninit
This prevents uninhabited fields from "infecting" the abi and
largest_niche of the generator layout.

This fixes a latent bug, where an uninhabited field could be promoted to
the generator prefix and cause the entire generator to become
uninhabited.
2019-07-29 12:17:49 -07:00
Maximilian Roos
3325ff6df4
comments from @lzutao 2019-07-29 12:26:59 -04:00
Maximilian Roos
624c5da1aa
impl Debug for Chars 2019-07-29 12:17:59 -04:00
Lzu Tao
c56d8a81e2 Add links to None in Option doc 2019-07-29 15:56:40 +00:00
Tim Vermeulen
2e41ba8742 Use internal iteration in the Sum and Product impls of Result and Option 2019-07-29 02:40:50 +02:00
bors
c7312fe4ff Auto merge of #63090 - Centril:rollup-xnjwm2h, r=Centril
Rollup of 8 pull requests

Successful merges:

 - #61856 (Lint attributes on function arguments)
 - #62360 (Document that ManuallyDrop::drop should not called more than once)
 - #62392 (Update minifier-rs version)
 - #62871 (Explicit error message for async recursion.)
 - #62995 (Avoid ICE when suggestion span is at Eof)
 - #63053 (SystemTime docs: recommend Instant for elapsed time)
 - #63081 (tidy: Cleanup the directory whitelist)
 - #63088 (Remove anonymous_parameters from unrelated test)

Failed merges:

r? @ghost
2019-07-28 20:22:42 +00:00
Mazdak Farrokhzad
fbfd542277
Rollup merge of #62360 - Aaron1011:patch-2, r=RalfJung
Document that ManuallyDrop::drop should not called more than once

Double dropping is unsound (e.g. https://github.com/rust-lang/rust/issues/60977). This commit documents the fact that `ManuallyDrop::drop` should not be called multiple times on the same instance, as it might not be immediately obvious that this counts as a use of uninitialized data.
2019-07-28 21:19:52 +02:00
Vadim Petrochenkov
1a370109ec Fix cfg(parallel_compiler) mode
Fix rebase
2019-07-28 18:47:03 +03:00
Vadim Petrochenkov
676d282dd3 Deny unused_lifetimes through rustbuild 2019-07-28 18:47:02 +03:00
Vadim Petrochenkov
434152157f Remove lint annotations in specific crates that are already enforced by rustbuild
Remove some random unnecessary lint `allow`s
2019-07-28 18:46:24 +03:00
Mazdak Farrokhzad
b405aa2d03
Rollup merge of #62806 - mati865:clippy, r=TimNN
Fix few Clippy warnings
2019-07-28 11:11:08 +02:00
Mazdak Farrokhzad
8f9b8c19de
Rollup merge of #62883 - Stargateur:refactoring-adapters, r=scottmcm
Refactoring use common code between option, result and accum

`Option` and `Result` have almost exactly the same code that in `accum.rs` that implement `Sum` and `Product`. This PR just move some code to use the same code for all of them. I believe is better to not implement this `Iterator` feature twice.

I'm not very familiar with pub visibility hope I didn't make then public. However, maybe these adapters could be useful and we could think to make then pub.

#59605
#11084

r? @pnkfelix
2019-07-28 03:01:48 +02:00
Mazdak Farrokhzad
cb8b491a65
Rollup merge of #62074 - wizAmit:feature/mut_chunks_nth_back, r=scottmcm
squash of all commits for nth_back on ChunksMut

wip nth_back for chunks_mut

working chunksmut

fixed nth_back for chunksmut

Signed-off-by: wizAmit <amitforfriends_dns@yahoo.com>

r? @timvermeulen
r? @scottmcm
2019-07-28 03:01:44 +02:00
Aaron Hill
a93f4abe24
Update wording 2019-07-27 18:42:47 -04:00
Vadim Petrochenkov
42a317a1cd Remove run-pass test suites 2019-07-27 18:56:17 +03:00
bors
0e9b465d72 Auto merge of #62748 - luca-barbieri:optimize-refcell-borrow, r=RalfJung
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-27 09:32:44 +00:00
Stargateur
3334802c83 Refactoring use commun code between option, result and accum 2019-07-27 02:17:56 +02:00
bors
09e3989758 Auto merge of #62086 - petrochenkov:builtout, r=eddyb
Define built-in macros through libcore

This PR defines built-in macros through libcore using a scheme similar to lang items (attribute `#[rustc_builtin_macro]`).
All the macro properties (stability, visibility, etc.) are taken from the source code in libcore, with exception of the expander function transforming input tokens/AST into output tokens/AST, which is still provided by the compiler.

The macros are made available to user code through the standard library prelude (`{core,std}::prelude::v1`), so they are still always in scope.
As a result **built-in macros now have stable absolute addresses in the library**, like `core::prelude::v1::line!()`, this is an insta-stable change.

Right now `prelude::v1` is the only publicly available absolute address for these macros, but eventually they can be moved into more appropriate locations with library team approval (e.g. `Clone` derive -> `core::clone::Clone`).

Now when built-in macros have canonical definitions they can be imported or reexported without issues (https://github.com/rust-lang/rust/issues/61687).

Other changes:
- You can now define a derive macro with a name matching one of the built-in derives (https://github.com/rust-lang/rust/issues/52269). This was an artificial restriction that could be worked around with import renaming anyway.

Known regressions:
- Empty library crate with a crate-level `#![test]` attribute no longer compiles without `--test`. Previously it didn't compile *with* `--test` or with the bin crate type.

Fixes https://github.com/rust-lang/rust/issues/61687
Fixes https://github.com/rust-lang/rust/issues/61804
r? @eddyb
2019-07-26 23:29:02 +00:00
Mazdak Farrokhzad
232d27c306
Rollup merge of #63009 - Rosto75:master, r=matklad
Remove redundant `mut` from variable declaration.
2019-07-26 18:57:08 +02:00
Mazdak Farrokhzad
d1f86c13e4
Rollup merge of #62583 - sfackler:unpin-raw, r=cramertj
Implement Unpin for all raw pointers

Like references and boxes, moving the pointer doesn't move the
pointed-to value, so this is safe.

r? @cramertj
2019-07-26 18:56:40 +02:00
Mazdak Farrokhzad
625aa60b3a
Rollup merge of #62421 - JohnTitor:U007D-master, r=alexcrichton
Introduce `as_deref` to Option

This is re-submission for #59628.
Renames `deref()` to `as_deref()` and adds `deref_mut()` impls and tests.

CC #50264

r? @Kimundi
(I picked you as you're the previous reviewer.)
2019-07-26 18:56:38 +02:00
Mazdak Farrokhzad
58b53d1add
Rollup merge of #62120 - GuillaumeGomez:add-missing-type-links, r=Centril
Add missing type links in documentation

r? @rust-lang/docs
2019-07-26 18:56:34 +02:00
Mazdak Farrokhzad
68d94bd741
Rollup merge of #62084 - euclio:unicode-table-tweak, r=kennytm
allow clippy::unreadable_literal in unicode tables

Also modifies the generation script to emit 2018 edition paths.
2019-07-26 18:56:33 +02:00
Tomasz Różański
4a2f9b6d62 Remove redundant mut from variable declaration. 2019-07-26 15:07:55 +02:00
Vadim Petrochenkov
8eaf17bca2 Introduce built-in macros through libcore 2019-07-26 13:09:54 +03:00
bors
18630677cf Auto merge of #62990 - Centril:rollup-k9n0hvs, r=Centril
Rollup of 15 pull requests

Successful merges:

 - #60066 (Stabilize the type_name intrinsic in core::any)
 - #60938 (rustdoc: make #[doc(include)] relative to the containing file)
 - #61884 (Stablize Euclidean Modulo (feature euclidean_division))
 - #61890 (Fix some sanity checks)
 - #62528 (Add joining slices of slices with a slice separator, not just a single item)
 - #62707 (Add tests for overlapping explicitly dropped locals in generators)
 - #62735 (Turn `#[global_allocator]` into a regular attribute macro)
 - #62822 (Improve some pointer-related documentation)
 - #62887 (Make the parser TokenStream more resilient after mismatched delimiter recovery)
 - #62921 (Add method disambiguation help for trait implementation)
 - #62930 (Add test for #51559)
 - #62942 (Use match ergonomics in Condvar documentation)
 - #62977 (Fix inconsistent highlight blocks.)
 - #62978 (Remove `cfg(bootstrap)` code for array implementations)
 - #62981 (Add note suggesting to borrow a String argument to find)

Failed merges:

 - #62964 (clarify and unify some type test names)

r? @ghost
2019-07-25 22:34:23 +00:00
Mazdak Farrokhzad
1a775b3b55
Rollup merge of #62981 - estebank:issue-62843, r=Centril
Add note suggesting to borrow a String argument to find

Fix #62843.
2019-07-25 23:21:13 +02:00
Mazdak Farrokhzad
f87f3db3a2
Rollup merge of #62978 - LukasKalbertodt:remove-array-impl-bootstrap-cfg, r=Mark-Simulacrum
Remove `cfg(bootstrap)` code for array implementations

In https://github.com/rust-lang/rust/pull/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.

Unfortunately, the diff is pretty ugly because much of the code was indented by one level before. The change is pretty trivial, though.

PS: I did not run the full test suite locally. There are 40°C outside and 31°C inside my room. I don't want my notebook to melt. I hope that CI is green.

r? @scottmcm
2019-07-25 23:21:11 +02:00
Mazdak Farrokhzad
ca26d2e513
Rollup merge of #62977 - Rosto75:master, r=shepmaster
Fix inconsistent highlight blocks.
2019-07-25 23:21:09 +02:00