Josh Stone
f4aaae9bdb
Remove Rc::would_wrap
...
[unstable, deprecated since 1.15.0]
2017-04-20 21:16:31 -07:00
projektir
f84cc0c0d0
Updating docs for std::rc::Rc
2017-04-12 22:57:49 -04:00
steveklabnik
d1d9626e75
Fix up various links
...
The unstable book, libstd, libcore, and liballoc all needed some
adjustment.
2017-03-20 10:10:16 -04:00
Aaron Turon
a8f4a1bd98
Stabilize rc_raw feature, closes #37197
2017-03-17 13:28:53 -07:00
Aaron Turon
10510aefb1
Stabilize ptr_eq feature, closes #36497
2017-03-17 13:28:37 -07:00
Corey Farwell
e7b0f2badf
Remove function invokation parens from documentation links.
...
This was never established as a convention we should follow in the 'More
API Documentation Conventions' RFC:
https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md
2017-03-13 21:43:18 -04:00
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
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
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
Andrew Paseltiner
ca9b07bbc9
Replace uses of #[unsafe_destructor_blind_to_params]
with #[may_dangle]
...
CC #34761
2016-12-28 17:47:10 -05: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
Guillaume Gomez
5caec61a7f
Add missing links to Rc doc
2016-12-05 18:33:03 -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
Cristi Cobzarenco
651cf58f2e
Add {into,from}_raw
to Rc and Arc
2016-11-05 00:50:41 +00:00
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
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
Simon Sapin
eba2270a9c
Add pub fn ptr_eq(this: &Self, other: &Self) -> bool
to Rc
and Arc
.
...
Servo and Kuchiki have had helper functions doing this for some time.
2016-09-15 18:48:16 +02:00
athulappadan
49e77dbf25
Documentation of what does for each type
2016-09-11 17:00:09 +05:30
Georg Brandl
a068fc70ab
Doc: explain why Box/Rc/Arc methods do not take self
...
This can be confusing for newcomers, especially due to the argument
name "this".
2016-08-27 19:53:02 +02:00
Eduard Burtescu
119508cdb4
Remove drop flags from structs and enums implementing Drop.
2016-08-24 13:23:37 +03:00
Matthew Piziak
5310d1110d
add example for Rc::would_unwrap
...
Part of #29372
r? @steveklabnik
2016-08-21 17:18:52 -04:00
Manish Goregaokar
8242a30b9e
Rollup merge of #34097 - arbitrary-cat:master, r=steveklabnik
...
Revise wording in Rc documentation.
The term "thread-local" has a widely accepted meaning which is not
the meaning it's used for here.
2016-07-08 13:14:19 +05:30
Sam Payson
46e7c9ec74
Changed wording per aturon's comments.
2016-07-07 08:40:15 -07:00
Frank McSherry
094f1c4dc6
Update rc.rs
...
The original description suggests that the original `Rc<T>` itself is downgraded, which doesn't seem to be what the code does. At the same time, `Rc` is one of those types that can do weird things with only a shared reference, so I thought it would be good to be clear.
2016-06-05 20:26:24 +02:00
Sam Payson
be6c21f267
Revise wording in Rc documentation.
...
The term "thread-local" has a widely-accepted meaning which is not
the meaning it's used for here.
2016-06-05 10:20:33 -07:00
Srinivas Reddy Thatiparthy
3fd0e4c7f2
rustfmt liballoc folder
2016-05-28 02:25:16 +05:30
Alex Crichton
cae91d7c8c
std: Stabilize APIs for the 1.10 release
...
This commit applies the FCP decisions made by the libs team for the 1.10 cycle,
including both new stabilizations and deprecations. Specifically, the list of
APIs is:
Stabilized:
* `os::windows::fs::OpenOptionsExt::access_mode`
* `os::windows::fs::OpenOptionsExt::share_mode`
* `os::windows::fs::OpenOptionsExt::custom_flags`
* `os::windows::fs::OpenOptionsExt::attributes`
* `os::windows::fs::OpenOptionsExt::security_qos_flags`
* `os::unix::fs::OpenOptionsExt::custom_flags`
* `sync::Weak::new`
* `Default for sync::Weak`
* `panic::set_hook`
* `panic::take_hook`
* `panic::PanicInfo`
* `panic::PanicInfo::payload`
* `panic::PanicInfo::location`
* `panic::Location`
* `panic::Location::file`
* `panic::Location::line`
* `ffi::CStr::from_bytes_with_nul`
* `ffi::CStr::from_bytes_with_nul_unchecked`
* `ffi::FromBytesWithNulError`
* `fs::Metadata::modified`
* `fs::Metadata::accessed`
* `fs::Metadata::created`
* `sync::atomic::Atomic{Usize,Isize,Bool,Ptr}::compare_exchange`
* `sync::atomic::Atomic{Usize,Isize,Bool,Ptr}::compare_exchange_weak`
* `collections::{btree,hash}_map::{Occupied,Vacant,}Entry::key`
* `os::unix::net::{UnixStream, UnixListener, UnixDatagram, SocketAddr}`
* `SocketAddr::is_unnamed`
* `SocketAddr::as_pathname`
* `UnixStream::connect`
* `UnixStream::pair`
* `UnixStream::try_clone`
* `UnixStream::local_addr`
* `UnixStream::peer_addr`
* `UnixStream::set_read_timeout`
* `UnixStream::set_write_timeout`
* `UnixStream::read_timeout`
* `UnixStream::write_Timeout`
* `UnixStream::set_nonblocking`
* `UnixStream::take_error`
* `UnixStream::shutdown`
* Read/Write/RawFd impls for `UnixStream`
* `UnixListener::bind`
* `UnixListener::accept`
* `UnixListener::try_clone`
* `UnixListener::local_addr`
* `UnixListener::set_nonblocking`
* `UnixListener::take_error`
* `UnixListener::incoming`
* RawFd impls for `UnixListener`
* `UnixDatagram::bind`
* `UnixDatagram::unbound`
* `UnixDatagram::pair`
* `UnixDatagram::connect`
* `UnixDatagram::try_clone`
* `UnixDatagram::local_addr`
* `UnixDatagram::peer_addr`
* `UnixDatagram::recv_from`
* `UnixDatagram::recv`
* `UnixDatagram::send_to`
* `UnixDatagram::send`
* `UnixDatagram::set_read_timeout`
* `UnixDatagram::set_write_timeout`
* `UnixDatagram::read_timeout`
* `UnixDatagram::write_timeout`
* `UnixDatagram::set_nonblocking`
* `UnixDatagram::take_error`
* `UnixDatagram::shutdown`
* RawFd impls for `UnixDatagram`
* `{BTree,Hash}Map::values_mut`
* `<[_]>::binary_search_by_key`
Deprecated:
* `StaticCondvar` - this, and all other static synchronization primitives
below, are usable today through the lazy-static crate on
stable Rust today. Additionally, we'd like the non-static
versions to be directly usable in a static context one day,
so they're unlikely to be the final forms of the APIs in any
case.
* `CONDVAR_INIT`
* `StaticMutex`
* `MUTEX_INIT`
* `StaticRwLock`
* `RWLOCK_INIT`
* `iter::Peekable::is_empty`
Closes #27717
Closes #27720
cc #27784 (but encode methods still exist)
Closes #30014
Closes #30425
Closes #30449
Closes #31190
Closes #31399
Closes #31767
Closes #32111
Closes #32281
Closes #32312
Closes #32551
Closes #33018
2016-05-24 09:00:39 -07:00
Tobias Bucher
0936b5885d
Remove strange names created by lack of privacy-conscious name lookup
...
The fixed issue that allowed this was #12808 .
2016-04-05 11:41:48 +02:00
srinivasreddy
93f2a54609
first round of removal of integer suffixes
2016-03-10 21:48:15 +05:30
Steve Klabnik
df550de689
Clarify that try_unwrap needs exactly one
...
Fixes #31950
2016-03-09 03:33:51 -05:00
Kamal Marhubi
c5f73ed80c
Implement fmt::Pointer for pointers to unsized types
...
This allows printing pointers to unsized types with the {:p} formatting
directive. The following impls are extended to unsized types:
- impl<'a, T: ?Sized> Pointer for &'a T
- impl<'a, T: ?Sized> Pointer for &'a mut T
- impl<T: ?Sized> Pointer for *const T
- impl<T: ?Sized> Pointer for *mut T
- impl<T: ?Sized> fmt::Pointer for Box<T>
- impl<T: ?Sized> fmt::Pointer for Rc<T>
- impl<T: ?Sized> fmt::Pointer for Arc<T>
2016-02-08 14:08:19 -05:00
Sebastian Hahn
34f17d98ea
Fix incorrect stability annotations for Weak
...
This was accidentally introduced in
7e2ffc7090
.
2016-01-20 05:56:28 +01:00
bors
8aee5826f9
Auto merge of #30593 - steveklabnik:small_rc_refactoring, r=Gankro
...
This hairy conditional doesn't need to be so. It _does_ need to be a
thin pointer, otherwise, it will fail to compile, so let's pull that out
into a temporary for future readers of the source.
/cc @nrc @SimonSapin @Gankro @durka , who brought this up on IRC
2015-12-31 11:42:16 +00:00
bors
682cfc5187
Auto merge of #30467 - shahn:master, r=brson
...
This adds a constructor for a Weak that can never be upgraded. These are
mostly useless, but for example are required when deserializing.
2015-12-30 19:37:53 +00:00
Steve Klabnik
2cff12e0d6
Small refactoring to make this code more clear
...
This hairy conditional doesn't need to be so. It _does_ need to be a
thin pointer, otherwise, it will fail to compile, so let's pull that out
into a temporary for future readers of the source.
Also, after a discussion with @pnkfelix and @gankro, we don't need these
null checks anymore, as zero-on-drop has been gone for a while now.
2015-12-30 12:06:28 -05:00
Alex Crichton
cd1848a1a6
Register new snapshots
...
Lots of cruft to remove!
2015-12-21 09:26:21 -08:00
Sebastian Hahn
7dd618fd23
Address review comments
2015-12-19 01:31:21 +01:00
Sebastian Hahn
4741ad38b5
Rename Weak::new_downgraded to Weak::new
2015-12-19 00:23:07 +01:00
Sebastian Hahn
0e043862bf
use core::mem::unintialized instead of uninit intrinsic
2015-12-19 00:23:07 +01:00
Sebastian Hahn
8bed2acf92
Fix doctest failure
2015-12-19 00:23:07 +01:00
Sebastian Hahn
79d0235439
Implement Weak::new_downgraded() ( #30425 )
...
This adds a constructor for a Weak that can never be upgraded. These are
mostly useless, but for example are required when deserializing.
2015-12-18 20:40:17 +01:00
Alex Crichton
da50f7c288
std: Remove deprecated functionality from 1.5
...
This is a standard "clean out libstd" commit which removes all 1.5-and-before
deprecated functionality as it's now all been deprecated for at least one entire
cycle.
2015-12-10 11:47:55 -08:00
bors
bef2af6201
Auto merge of #30017 - nrc:fmt, r=brson
2015-11-25 20:40:27 +00:00
Nick Cameron
1f1a1e6595
rustfmt: liballoc, liballoc_*, libarena
2015-11-24 11:23:17 +13:00
Vadim Petrochenkov
a613059e3f
Rename #[deprecated] to #[rustc_deprecated]
2015-11-20 16:11:20 +03:00
Vadim Petrochenkov
7e2ffc7090
Add missing annotations and some tests
2015-11-18 01:24:21 +03:00