Commit Graph

841 Commits

Author SHA1 Message Date
Alex Crichton fa9dd27168 Rollup merge of #44640 - budziq:stabilize_splice, r=dtolnay
Stabilized vec_splice and modified splice tracking issue

This stabilizes the vec_splice (Vec part of splice RFC)
Fixes #32310.
2017-09-18 11:04:23 -05:00
Tim Neumann a0edcb4b03 Rollup merge of #44073 - murarth:rc-into-raw-unsized, r=alexcrichton
Implement `Arc`/`Rc` raw pointer conversions for `?Sized`

* Add `T: ?Sized` bound to {`Arc`,`Rc`}::{`from_raw`,`into_raw`}
2017-09-17 13:18:59 +02:00
Michal Budzynski 6b167f98d9 Updated tracking issue for String::splice and its unstable-book entry 2017-09-17 10:41:24 +02:00
Michal Budzynski 7b932d2e12 stabilized vec_splice (fixes #32310) 2017-09-17 10:32:59 +02:00
Alex Crichton 2a844b3d0d Rollup merge of #44273 - bluss:rc-downcast, r=alexcrichton
Implement <Rc<Any>>::downcast

* Implement `<Rc<Any>>::downcast::<T>`
  * New unstable method. Works just like Box\<Any\>, but for Rc.
  * Any has two cases for its methods: Any and Any + Send; Rc is never Send, so that case is skipped for Rc.
  * Motivation for being a method with self is to match Box and there is no user-supplied type; the inner type is Any and downcast does not conflict with any method of Any.
* Arc was skipped because Any itself has no downcast for the case that makes most sense: Any + Send + Sync
2017-09-16 17:09:36 -07:00
Murarth 1cbb2b3a88 Implement Arc/Rc raw pointer conversions for ?Sized
* Add `T: ?Sized` bound to {`Arc`,`Rc`}::{`from_raw`,`into_raw`}
2017-09-16 16:34:13 -07:00
Ulrik Sverdrup 3a39d95330 alloc: Add tracking issue for rc_downcast 2017-09-15 19:16:22 +02:00
Corey Farwell 68e0f28304 Rollup merge of #44572 - frewsxcv:frewsxcv-from-utf16-lossy, r=QuietMisdreavus
Clarify return type of `String::from_utf16_lossy`.

Fixes https://github.com/rust-lang/rust/issues/32874
2017-09-14 22:32:52 -04:00
Corey Farwell 19ad12af65 Rollup merge of #44559 - frewsxcv:frewsxcv-rm-loop, r=sfackler
Remove unneeded `loop`.

None
2017-09-14 22:32:49 -04:00
Corey Farwell 3e478fd512 Rollup merge of #44536 - Havvy:transmute-docs, r=steveklabnik
Fix example in transmute; add safety requirement to Vec::from_raw_parts

This fixes the second bullet point on #44281 and also removes some incorrect information.
2017-09-14 22:32:47 -04:00
Corey Farwell a48cc80d57 Rollup merge of #44534 - adlerd:drain_filter_doctest, r=bluss
Fix drain_filter doctest.

Fixes #44499.

Also change some of the hidden logic in the doctest as a regression test; two bugs in the original would now cause test failure.
2017-09-14 22:32:46 -04:00
Corey Farwell 50240f80f1 Rollup merge of #44521 - rwakulszowa:str_utf16_doc, r=frewsxcv
Add an example of std::str::encode_utf16

Closes #44419
2017-09-14 22:32:45 -04:00
Corey Farwell 1d361ff2a5 Rollup merge of #44497 - tommyip:doc_example, r=frewsxcv
Add doc example to str::from_boxed_utf8_unchecked

Fixes #44463.
2017-09-14 22:32:44 -04:00
Corey Farwell e3c4b8c43a Rollup merge of #44485 - 42triangles:master, r=frewsxcv
Added an example for `std::str::into_boxed_bytes()`

This solves issue #44423.
2017-09-14 22:32:43 -04:00
Corey Farwell b4f6fba1d9 Rollup merge of #44453 - tommyip:doc_string_as_mut_str, r=frewsxcv
Add doc example to String::as_mut_str

Fixes #44429.
2017-09-14 22:32:38 -04:00
Corey Farwell 258ef37f8e Clarify return type of String::from_utf16_lossy.
Fixes https://github.com/rust-lang/rust/issues/32874
2017-09-14 15:47:37 -04:00
Corey Farwell 2d292cff5d Remove unneeded loop. 2017-09-13 22:44:14 -04:00
Havvy 9dd2ee1942 Fix example in transmute; add safety requirement to Vec::from_raw_parts 2017-09-13 04:27:40 -07:00
David Adler 518bd30854 Fix drain_filter doctest. 2017-09-12 22:47:45 -07:00
bors 2fdccaffe6 Auto merge of #44015 - kennytm:hasher, r=alexcrichton
impl Hasher for {&mut Hasher, Box<Hasher>}

**Rationale:** The `Hash` trait has `fn hash<H: Hasher>(&self, state: &mut H)`, which can only accept a `Sized` hasher, even if the `Hasher` trait is object-safe. We cannot retroactively add the `?Sized` bound without breaking stability, thus implementing `Hasher` to a trait object reference is the next best solution.

**Warning:** These `impl` are insta-stable, and should need an FCP. I don't think a full RFC is necessary.
2017-09-12 21:39:08 +00:00
rwakulszowa b8e0989445 Add an example of std::str::encode_utf16
Closes #44419
2017-09-12 11:59:42 +01:00
bors 817e1b81e2 Auto merge of #44344 - jonhoo:entry_or_default, r=BurntSushi
Add or_default to Entry APIs

As argued for in #44324, this PR adds a new `or_default` method to the various `Entry` APIs (currently just for `BTreeMap` and `HashMap`) when `V: Default`. This method is effectively a shorthand for `or_insert_with(Default::default)`.
2017-09-12 09:54:59 +00:00
kennytm 143e2dcd5c Disable the new Hasher tests on Emscripten. 2017-09-12 17:28:07 +08:00
kennytm 0bbe468271 impl Hasher for {&mut Hasher, Box<Hasher>} 2017-09-12 17:28:07 +08:00
Tommy Ip ede6dfd72a Add doc example to str::from_boxed_utf8_unchecked
Fixes #44463.
2017-09-11 17:28:28 +01:00
42triangles f452acbb5e Removed trailing whitespace 2017-09-11 08:28:14 +02:00
42triangles 833a9b567a Added an example for std::str::into_boxed_bytes() 2017-09-11 08:13:57 +02:00
Tommy Ip bc1a4c6357 Add doc example to String::as_mut_str
Fixes #44429.
2017-09-10 14:11:27 +01:00
Guillaume Gomez 8a7d93bf6f Rollup merge of #44467 - toidiu:ak-44382, r=frewsxcv
documentation update to demonstrate mutability

#44467

- demonstrate correct implementation returns `Some`
- demonstrate out of bounds returns `None`
- demonstrate mutability
2017-09-10 14:03:32 +02:00
Guillaume Gomez 329ed4affe Rollup merge of #44457 - napen123:master, r=frewsxcv
Add doc examples for str::as_bytes_mut

Fixes #44427
2017-09-10 14:03:30 +02:00
toidiu c430fa8084 documentation update to demonstrate mutability 2017-09-09 16:56:12 -04:00
Ethan Dagner 6c8993532c Add doc examples for str::as_bytes_mut
Fixes #44427
2017-09-09 10:27:47 -06:00
Tommy Ip 3e8fadc2ac Add doc example to String::as_str
Fixes #44428.
2017-09-09 09:05:54 +01:00
Jon Gjengset 00bdae02fd Avoid weird or_insert_with example 2017-09-05 13:37:36 -04:00
Jon Gjengset 35c7943fd2 Add or_default to Entry APIs 2017-09-05 13:11:38 -04:00
Niels Egberts 69c472897f Make slice::split_at_mut example demonstrate mutability
Moved the examples from split_at_mut to split_at so the example at
split_at_mut can just demonstrate mutability.
2017-09-04 22:59:34 +01:00
Ulrik Sverdrup 758a0ce934 alloc: Implement downcast Rc<Any> -> Rc<T>
Implement downcast the like it exists for Box.

The implementation avoids using into_raw/from_raw, because the pointer
arithmetic which should cancel does not seem to optimize out at the
moment.

Since Rc<T> is never Send, only Rc<Any> and not Rc<Any + Send>
implements downcast.
2017-09-03 11:32:46 +02:00
Alex Crichton c0812c8458 Rollup merge of #44160 - AndyGauge:api-docs-macros, r=steveklabnik
API docs: macros.  Standard Documentation Checklist

Fixes #29381
r? @steveklabnik
2017-08-30 13:17:05 -07:00
Alex Crichton 581dc93293 Rollup merge of #44044 - mattico:string-splice-return, r=dtolnay
Remove Splice struct return value from String::splice

The implementation is now almost identical to the one in the RFC.

Fixes #44038
cc #32310
2017-08-30 11:11:09 -05:00
Andy Gauge 80d513aaec broken links resolved 2017-08-29 16:39:11 -07:00
Andy Gauge b9b654924e API docs: macros. Part of #29329 Standard Library Documentation Checklist. 2017-08-29 10:30:19 -07:00
bors d2d50691aa Auto merge of #44049 - alexcrichton:nounwind-allocators, r=BurntSushi
std: Mark allocation functions as nounwind

This commit flags all allocation-related functions in liballoc as "this can't
unwind" which should largely resolve the size-related issues found on #42808.
The documentation on the trait was updated with such a restriction (they can't
panic) as well as some other words about the relative instability about
implementing a bullet-proof allocator.

Closes #42808
2017-08-29 00:58:17 +00:00
bors 9a59d69323 Auto merge of #43076 - Zoxc:gen, r=arielb1
Generator support

This adds experimental support for generators intended to land once https://github.com/rust-lang/rfcs/pull/2033 is approved.

This is not yet ready to be merged. Things to do:
- [x] Make closure arguments on generators an error
- [x] Spot FIXMEs
- [x] Pass make tidy
- [x] Write tests
- [x] Document the current syntax and semantics for generators somewhere
- [x] Use proper error message numbers
- [x] ~~Make the implicit argument type default to `()`~~
2017-08-28 16:36:03 +00:00
Alex Crichton b6f554b6dc std: Mark allocation functions as nounwind
This commit flags all allocation-related functions in liballoc as "this can't
unwind" which should largely resolve the size-related issues found on #42808.
The documentation on the trait was updated with such a restriction (they can't
panic) as well as some other words about the relative instability about
implementing a bullet-proof allocator.

Closes #42808
2017-08-28 08:06:52 -07:00
bors 5caca6fa02 Auto merge of #44114 - daboross:patch-1, r=dtolnay
Clarify that VecDeque::swap can panic

The previous documentation mentioned this, but ambiguously used the term "fail".

This clarifies that the function will panic if the index is out of bounds, instead of silently failing and not doing anything.

If there's anything else I can do to improve this PR, I'd be happy to do so! Just saw this when reading through the docs in passing - it was slightly unclear what "fail" meant.
2017-08-28 10:42:11 +00:00
John Kåre Alsaker d29af37999 Merge branch 'master' of https://github.com/rust-lang/rust into gen 2017-08-28 02:41:16 +02:00
David Ross f1b91f4037 Clarify that VecDeque::swap can panic
The previous documentation mentioned this, but ambiguously used the term "fail".

This clarifies that the function will panic if the index is out of bounds, instead of silently failing and not doing anything.
2017-08-27 03:22:53 -07:00
Tatsuyuki Ishi 611b111139 Move unused-extern-crate to late pass 2017-08-27 19:02:24 +09:00
Matt Ickstadt 0c3c43c800 Remove Splice struct return value from String::splice 2017-08-26 15:07:32 -05:00
Corey Farwell fdf4598f8c Rollup merge of #44090 - GuillaumeGomez:str-doc, r=steveklabnik
Add missing link in string doc

r? @rust-lang/docs
2017-08-26 06:46:36 -07:00