Commit Graph

641 Commits

Author SHA1 Message Date
Steve Klabnik b4cd3d9206 Revert "Fix up links"
This reverts commit 7f1d1c6d9a.

The original commit was created because mdBook and rustdoc had
different generation algorithms for header links; now with
https://github.com/rust-lang/rust/pull/39966 , the algorithms
are the same. So let's undo this change.

... when I came across this problem, I said "eh, this isn't fun,
but it doesn't take that long." I probably should have just actually
taken the time to fix upstream, given that they were amenable. Oh
well!
2017-02-20 09:09:12 -05:00
bors e0044bd389 Auto merge of #39594 - clarcharr:cstr_box, r=aturon
Conversions between CStr, OsStr, Path and boxes

This closes a bit of the inconsistencies between `CStr`, `OsStr`, `Path`, and `str`, allowing people to create boxed versions of DSTs other than `str` and `[T]`.

Full list of additions:
* `Default` for `Box<str>`, `Box<CStr>`, `Box<OsStr>`, and `Box<Path>` (note: `Default` for `PathBuf` is already implemented)
* `CString::into_boxed_c_str` (feature gated)
* `OsString::into_boxed_os_str` (feature gated)
* `Path::into_boxed_path` (feature gated)
* `From<&CStr> for Box<CStr>`
* `From<&OsStr> for Box<OsStr>`
* `From<&Path> for Box<Path>`

This also includes adding the internal methods:
* `sys::*::os_str::Buf::into_box`
* `sys::*::os_str::Slice::{into_box, empty_box}`
* `sys_common::wtf8::Wtf8Buf::into_box`
* `sys_common::wtf8::Wtf8::{into_box, empty_box}`
2017-02-15 10:22:34 +00:00
Clar Charr 963843b1b3 Conversions between CStr/OsStr/Path and boxes. 2017-02-14 14:18:43 -05:00
Steve Klabnik 7f1d1c6d9a Fix up links
mdbook and rustdoc generate links differently, so we need to change all
these links.
2017-02-13 13:41:24 -05:00
Clar Charr 550373b1f9 Direct conversions between slices and boxes. 2017-02-06 18:53:13 -05:00
Alex Crichton 626e754473 Bump version, upgrade bootstrap
This commit updates the version number to 1.17.0 as we're not on that version of
the nightly compiler, and at the same time this updates src/stage0.txt to
bootstrap from freshly minted beta compiler and beta Cargo.
2017-02-03 13:25:46 -08:00
Guillaume Gomez b03436d2e3 Rollup merge of #39299 - federicomenaquintero:master, r=GuillaumeGomez
In std:rc, clarify the lack of mutability inside an Rc

Also, point to the example in Cell's docs for how to do it.
2017-02-02 22:22:22 +01:00
Federico Mena Quintero 4a07e722c0 In std:rc, clarify the lack of mutability inside an Rc
Also, point to the example in Cell's docs for how to do it.
2017-01-31 18:02:41 -06:00
Vadim Petrochenkov 4a4f8ff0a3 Implement Drop for Box 2017-01-30 23:14:15 +03:00
Vadim Petrochenkov ffba0cea62 Merge ty::TyBox into ty::TyAdt 2017-01-30 23:14:15 +03:00
Denis Andrejew 339bdc158f Fix typo in liballoc/lib.rs 2017-01-28 22:16:16 +00:00
Oliver Middleton 09b3903aec Fix a few links in the docs 2017-01-27 18:08:51 +00:00
Seo Sanghyeon d350c9b15f Rollup merge of #38664 - apasel422:may-dangle, r=pnkfelix
Replace uses of `#[unsafe_destructor_blind_to_params]` with `#[may_dangle]`

CC #34761

r? @pnkfelix
2017-01-10 20:27:41 +09:00
bors 9749df52b7 Auto merge of #38244 - estebank:escape-reason-docs, r=ollie27
rustdoc: escape the deprecated and unstable reason text

Fix #38220.
Instead of the [current output](https://doc.rust-lang.org/std/boxed/trait.FnBox.html):

<img width="967" alt="incorrect unescaped unstable reason in docs" src="https://cloud.githubusercontent.com/assets/1606434/21021898/73121d42-bd2f-11e6-8076-8a5127dbc010.png">

display:

<img width="979" alt="escaped unstable reason in docs" src="https://cloud.githubusercontent.com/assets/1606434/21021876/52eb0f88-bd2f-11e6-9088-58bdc7d92328.png">
2017-01-09 19:38:50 +00:00
bors 7ac9d337dc Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrc
Remove not(stage0) from deny(warnings)

Historically this was done to accommodate bugs in lints, but there hasn't been a
bug in a lint since this feature was added which the warnings affected. Let's
completely purge warnings from all our stages by denying warnings in all stages.
This will also assist in tracking down `stage0` code to be removed whenever
we're updating the bootstrap compiler.
2017-01-08 08:22:06 +00:00
Alex Crichton 9b0b5b45db Remove not(stage0) from deny(warnings)
Historically this was done to accommodate bugs in lints, but there hasn't been a
bug in a lint since this feature was added which the warnings affected. Let's
completely purge warnings from all our stages by denying warnings in all stages.
This will also assist in tracking down `stage0` code to be removed whenever
we're updating the bootstrap compiler.
2016-12-29 21:07:20 -08:00
Alex Crichton fe80a1d014 Rollup merge of #38587 - GuillaumeGomez:arc_docs, r=frewsxcv
Add missing urls in Arc docs

r? @frewsxcv
2016-12-29 17:26:18 -08:00
Andrew Paseltiner ca9b07bbc9 Replace uses of #[unsafe_destructor_blind_to_params] with #[may_dangle]
CC #34761
2016-12-28 17:47:10 -05:00
Esteban Küber e766c465d2 Merge branch 'master' into escape-reason-docs 2016-12-27 17:02:52 -08:00
Mark Simulacrum ca115dd083 Remove extra lang item, exchange_free; use box_free instead.
Trans used to insert code equivalent to box_free in a wrapper around
exchange_free, and that code is now removed from trans.
2016-12-26 17:13:51 -07:00
Guillaume Gomez f4bd94f779 Add missing urls in Arc docs 2016-12-24 10:51:46 +01:00
Mark-Simulacrum dda6c8cf2f Inline base::malloc_raw_dyn.
Move comment about not unwinding into liballoc.
2016-12-20 20:02:52 -07:00
Aaron Turon 9a5cef4de5 Address fallout 2016-12-16 19:42:17 -08:00
Aaron Turon b02ed1e1d4 Stabilize:
- `std::rc::Rc::{strong_count, weak_count}`
- `std::sync::Arc::{strong_count, weak_count}`

Deprecate:

- `std::rc::Rc::{would_unwrap, is_unique}`
2016-12-15 10:56:55 -08:00
Esteban Küber 1ae2245a4e rustdoc: escape the deprecated and unstable reason text 2016-12-12 15:15:45 -08:00
bors 6a495f71ff Auto merge of #37492 - japaric:no-atomics-alloc, r=brson
make `alloc` and `collections` compilable for thumbv6m-none-eabi

by cfging away `alloc::Arc` and changing OOM to abort for this target

r? @alexcrichton
cc @thejpster
2016-12-09 04:02:51 +00:00
Guillaume Gomez 4fb89b1d9e Rollup merge of #38189 - GuillaumeGomez:rc_links, r=frewsxcv
Add missing links to Rc doc

r? @frewsxcv
2016-12-07 10:42:52 -08:00
bors 5938eba4e3 Auto merge of #38149 - bluss:is-empty, r=alexcrichton
Forward more ExactSizeIterator methods and `is_empty` edits

- Forward ExactSizeIterator methods in more places, like `&mut I` and `Box<I>` iterator impls.
- Improve `VecDeque::is_empty` itself (see commit 4)
- All the collections iterators now have `len` or `is_empty` forwarded if doing so is a benefit. In the remaining cases, they already use a simple size hint (using something like a stored `usize` value), which is sufficient for the default implementation of len and is_empty.
2016-12-07 07:15:31 +00:00
Guillaume Gomez 5caec61a7f Add missing links to Rc doc 2016-12-05 18:33:03 -08:00
Ulrik Sverdrup d53f82c1d0 alloc: Forward ExactSizeIterator methods in Iterator for Box<I> 2016-12-04 15:46:37 +01:00
Ulrik Sverdrup bc3618e5c0 core: Remove Self: Sized from Iterator::nth
It is an unnecessary restriction; nth neither needs self to be sized
nor needs to be exempted from the trait object.

It increases the utility of the nth method, because type specific
implementations are available through `&mut I` or through an iterator
trait object.

It is a backwards compatible change due to the special cases of the
`where Self: Sized` bound; it was already optional to include this bound
in `Iterator` implementations.
2016-12-02 21:20:41 +01:00
Oliver 'ker' Schneider 323c20c8a4 [breaking-change] change the box_free item to accept pointers to unsized types 2016-11-11 13:36:10 +01:00
Jorge Aparicio abe6fc73e0 drop an unnecessary newline 2016-11-10 23:44:15 -05:00
Jorge Aparicio 24dc2bc3f5 use an 'imp' module to reduce the amount of cfgs 2016-11-10 23:42:59 -05:00
bors 02aa42860d Auto merge of #37657 - steveklabnik:rollup, r=steveklabnik
Rollup of 8 pull requests

- Successful merges: #35102, #37425, #37483, #37588, #37601, #37610, #37650, #37652
- Failed merges:
2016-11-09 05:35:23 -08:00
bors 0491a23177 Auto merge of #37192 - cristicbz:rust-rc-into-raw, r=brson
Add `{into,from}_raw` to Rc and Arc

These methods convert to and from a `*const T` for `Rc` and `Arc` similar to the way they work on `Box`. The only slight complication is that `from_raw` needs to offset the pointer back to find the beginning of the `RcBox`/`ArcInner`.

I felt this is a fairly small addition, filling in a gap (when compared to `Box`) so it wouldn't need an RFC. The motivation is primarily for FFI.

(I'll create an issue and update a PR with the issue number if reviewers agree with the change in principle **Edit: done #37197**)

~~Edit: This was initially `{into,from}_raw` but concerns were raised about the possible footgun if mixed with the methods of the same name of `Box`.~~

Edit: This was went from `{into,from}_raw` to `{into,from}_inner_raw` then back to `{into,from}_raw` during review.
2016-11-08 12:13:45 -08:00
Simon Sapin 93571537e3 More proeminent warning in Arc::{strong,weak}_count docs. 2016-11-08 20:15:20 +01:00
Daan Sprenkels 99aaccd32f Add a comment to Arc::MAX_REFCOUNT
The constant name `MAX_REFCOUNT` suggests that the value is a
_hard_ limit on the amount of references to an `Arc`. This is
a more soft limit however. This commit adds a comment to the
constant to annotate this.

See also: PR #37605
2016-11-06 20:07:28 +01:00
Cristi Cobzarenco 651cf58f2e Add {into,from}_raw to Rc and Arc 2016-11-05 00:50:41 +00:00
Jorge Aparicio 907d2a1aeb make alloc and collections compilable for thumbv6m-none-eabi
by cfging away `alloc::Arc` and changing OOM to abort for this target
2016-10-30 22:14:05 -05:00
Srinivas Reddy Thatiparthy 54e320d4bc run rustfmt on various folders 2016-10-16 15:41:01 +05:30
Vadim Petrochenkov 348c3fb085 Add assert checking that allocation and deallocation sizes are equal 2016-10-13 14:05:59 +03:00
Vadim Petrochenkov ef3a6a8ee6 Add an unstable constructor for creating Rc<str> from str 2016-10-13 00:45:05 +03:00
Keegan McAllister 29d3e570a5 Apply some Arc doc changes to Rc 2016-10-04 09:50:31 -07:00
Keegan McAllister 05b6d68619 Update Arc docs to match new Rc docs 2016-10-04 08:34:24 -07:00
bors 8b00355119 Auto merge of #36339 - brson:emscripten-new, r=alexcrichton
Working asmjs and wasm targets

This patch set results in a working standard library for the asmjs-unknown-emscripten and wasm32-unknown-emscripten targets. It is based on the work of @badboy and @rschulman.

It does a few things:

- Updates LLVM with the emscripten [fastcomp](https://github.com/rust-lang/llvm/pull/50) patches, which include the pnacl IR legalizer and the asm.js backend. This patch is thought not to have any significant effect on existing targets.
- Teaches rustbuild to correctly link C code with emscripten
- Updates gcc-rs to work correctly with emscripten
- Teaches rustbuild to run crate tests for emscripten with node
- Modifies Thread::new to return an error on emscripten, to facilitate debugging a common failure mode
- Modifies libtest to run in single-threaded mode for emscripten
- Ignores a host of tests that don't work yet, mostly dealing with threads and I/O
- Updates libc with wasm32 definitions (presently the same as asmjs)
- Adds a wasm32-unknown-emscripten target that feeds the output of LLVM's asmjs backend through emcc to generate wasm

Notes and caveats:

- This is only known to work with `--enable-rustbuild`.
- The wasm32 target can't be tested correctly yet because of issues in compiletest and limitations in node https://github.com/kripken/emscripten/issues/4542, but hello.rs does seem to work when run on node via the binaryen interpreter
- This requires an up to date installation of the emscripten sdk from its incoming branch
- Unwinding is very broken
- When enabling the emscripten targets jemalloc is disabled for all targets, which results in test failures for the host

Next steps are to fix the jemalloc issue, start building the two emscripten targets on the auto builders, then start producing nightlies.

https://github.com/rust-lang/rust/issues/36317 tracks work on this.

Fixes https://github.com/rust-lang/rust/issues/36515
Fixes https://github.com/rust-lang/rust/issues/36515
Fixes https://github.com/rust-lang/rust/issues/36356
2016-09-30 19:00:36 -07:00
Brian Anderson 9c4a01ee9e Ignore lots and lots of std tests on emscripten 2016-09-30 14:02:48 -07:00
Steve Klabnik 71a4bde9e9 Rollup merge of #36576 - GuillaumeGomez:box_urls, r=steveklabnik
Add missing urls for Box doc

r? @steveklabnik
2016-09-30 13:44:46 -04:00
Brian Anderson 3b49c60ab7 Remove stage0 hacks 2016-09-28 23:17:56 +00:00
Keegan McAllister c316ae56e6 Tweak std::rc docs
Fixes #29372.
2016-09-21 10:25:01 -07:00