Commit graph

9357 commits

Author SHA1 Message Date
Alex Crichton
798ce50284 std: Deprecate extra TcpStream/UdpSocket methods
These methods are all covered by [RFC 1158] and are currently all available on
stable Rust via the [`net2` crate][net2] on crates.io. This commit does not
touch the timeout related functions as they're still waiting on `Duration` which
is unstable anyway, so punting in favor of the `net2` crate wouldn't buy much.

[RFC 1158]: https://github.com/rust-lang/rfcs/pull/1158
[net2]: http://crates.io/crates/net2

Specifically, this commit deprecates:

* TcpStream::set_nodelay
* TcpStream::set_keepalive
* UdpSocket::set_broadcast
* UdpSocket::set_multicast_loop
* UdpSocket::join_multicast
* UdpSocket::set_multicast_time_to_live
* UdpSocket::set_time_to_live
2015-07-28 16:08:05 -07:00
bors
ba9224f354 Auto merge of #26934 - reem:boxed-slice-clone, r=Gankro
Closes #25097
2015-07-28 19:36:26 +00:00
Dave Huseby
d088b67187 Fixes #25155 and fixes #27359 by fixing the stat defines for both freebsd 10.1 x86_64 and i686 2015-07-28 11:10:23 -07:00
bors
4c371bb6de Auto merge of #27319 - diaphore:pr_debug_osstr_escape, r=alexcrichton
I had to modify some tests : since `wtf8buf_show` and `wtf8_show` were doing the exact same thing, I repurposed `wtf8_show` to `wtf8buf_show_str` which ensures `Wtf8Buf` `Debug`-formats the same as `str`.

`write_str_escaped` might also be shared amongst other `fmt` but I just left it there within `Wtf8::fmt` for review.
2015-07-28 10:28:45 +00:00
bors
5b72fa42d4 Auto merge of #27309 - eddyb:snapshot-infdef, r=alexcrichton
FreeBSD i386 snapshot is missing, failed tests (possibly spurious).
r? @alexcrichton
2015-07-28 08:51:21 +00:00
Jonathan Reem
e24423091f Implement Clone for Box<[T]> where T: Clone
Closes #25097
2015-07-28 01:43:17 -07:00
Pascal Hertleif
8c6ec5d72c IO Docs: Fix Link in Cursor description
The first paragraph of the docs of the Cursor struct contains a Markdown
link. In listings, this won't get rendered. (Rustdoc seems to split off the
first paragraph and after that convert Markdown to HTML.)
2015-07-28 09:39:15 +02:00
Steve Klabnik
54d05f3cef fix two links
How embarassing 😭
2015-07-27 22:25:06 -04:00
Steve Klabnik
ad44a7fbc0 Remove warning header for consistency
This isn't a standard header, and the other docs don't use it, so let's remove it.
2015-07-27 22:20:37 -04:00
bors
9ca511cf63 Auto merge of #26914 - alexcrichton:deprecate-easy, r=aturon
Many of these have long since reached their stage of being obsolete, so this
commit starts the removal process for all of them. The unstable features that
were deprecated are:

* box_heap
* cmp_partial
* fs_time
* hash_default
* int_slice
* iter_min_max
* iter_reset_fuse
* iter_to_vec
* map_in_place
* move_from
* owned_ascii_ext
* page_size
* read_and_zero
* scan_state
* slice_chars
* slice_position_elem
* subslice_offset
2015-07-28 01:12:39 +00:00
Alex Crichton
b3aa1a6d4a std: Deprecate a number of unstable features
Many of these have long since reached their stage of being obsolete, so this
commit starts the removal process for all of them. The unstable features that
were deprecated are:

* cmp_partial
* fs_time
* hash_default
* int_slice
* iter_min_max
* iter_reset_fuse
* iter_to_vec
* map_in_place
* move_from
* owned_ascii_ext
* page_size
* read_and_zero
* scan_state
* slice_chars
* slice_position_elem
* subslice_offset
2015-07-27 16:38:25 -07:00
Alex Crichton
cf1ff56f3c std: Remove msvc/valgrind headers
These aren't really used for anything any more, so there doesn't seem to be much
reason to leave them around in the `rt` directory. There was some limiting of
threads spawned or tests when run under valgrind, but very little is run under
valgrind nowadays so there's also no real use keeping these around.
2015-07-27 16:21:15 -07:00
diaphore
aa8950427e Fix escaping of characters in Debug for OsStr
Fixes #27211

Fix Debug for {char, str} in core::fmt
2015-07-27 19:57:28 +02:00
Steve Klabnik
ba5fcb726f Show appropriate feature flags in docs 2015-07-27 12:28:13 -04:00
Steve Klabnik
e88ee957ed Fix buffer length in std::io::take
This only reads five bytes, so don't use a ten byte buffer, that's confusing.
2015-07-27 11:43:15 -04:00
Eduard Burtescu
5720f7055a Register new snapshots (2015-07-26 a5c12f4). 2015-07-27 13:31:48 +03:00
bors
3351afeecf Auto merge of #27310 - akiss77:fix-aarch64-getrandom, r=alexcrichton 2015-07-27 09:34:05 +00:00
bors
922aef0359 Auto merge of #27311 - kballard:thread-mod-desc-remove-scoped, r=huonw
It's deprecated and unsafe, so we shouldn't be encouraging people to use
it. Move it to `std:🧵:scoped` instead, since it's still useful
information to anyone who is using the API.
2015-07-27 01:10:32 +00:00
Kevin Ballard
11c22180a7 Remove the module-level documentation for thread::scoped
It's deprecated and unsafe, so we shouldn't be encouraging people to use
it. Move it to `std:🧵:scoped` instead, since it's still useful
information to anyone who is using the API.
2015-07-26 15:37:25 -07:00
bors
6d36798c89 Auto merge of #27267 - tamird:fix-ios-improper-ctypes, r=alexcrichton
Fixes #27263.
2015-07-26 22:00:53 +00:00
Akos Kiss
286b337de4 Fix getrandom syscall number for aarch64-unknown-linux-gnu 2015-07-26 23:46:26 +02:00
bors
e4f044662b Auto merge of #27233 - tbu-:pr_wtf8, r=alexcrichton 2015-07-25 04:25:33 +00:00
Tamir Duberstein
847fba06c3 Fix improper_ctypes fallout 2015-07-24 16:16:56 -04:00
Steve Klabnik
8b6b6c678b Rollup merge of #27235 - tbu-:pr_catch_panic_doc, r=steveklabnik
Fixes #27027.
2015-07-24 14:56:03 -04:00
bors
9413a926fc Auto merge of #27215 - pnkfelix:fsk-placer-take-5-just-in, r=nikomatsakis
Macro desugaring of `in PLACE { BLOCK }` into "simpler" expressions following the in-development "Placer" protocol.

Includes Placer API that one can override to integrate support for `in` into one's own type.  (See [RFC 809].)

[RFC 809]: https://github.com/rust-lang/rfcs/blob/master/text/0809-box-and-in-for-stdlib.md

Part of #22181

Replaced PR #26180.

Turns on the `in PLACE { BLOCK }` syntax, while leaving in support for the old `box (PLACE) EXPR` syntax (since we need to support that at least until we have a snapshot with support for `in PLACE { BLOCK }`.

(Note that we are not 100% committed to the `in PLACE { BLOCK }` syntax.  In particular I still want to play around with some other alternatives.  Still, I want to get the fundamental framework for the protocol landed so we can play with implementing it for non `Box` types.)

----

Also, this PR leaves out support for desugaring-based `box EXPR`.  We will hopefully land that in the future, but for the short term there are type-inference issues injected by that change that we want to resolve separately.
2015-07-24 10:12:20 +00:00
bors
68e0d13bfd Auto merge of #26583 - eefriedman:lint-ffi, r=nrc
Makes the lint a bit more accurate, and improves the quality of the diagnostic
messages by explicitly returning an error message.
2015-07-24 02:40:42 +00:00
Eli Friedman
6fa17b43d3 Rewrite the improper_ctypes lint.
Makes the lint a bit more accurate, and improves the quality of the diagnostic
messages by explicitly returning an error message.

The new lint is also a little more aggressive: specifically, it now
rejects tuples, and it recurses into function pointers.
2015-07-23 17:03:04 -07:00
Tobias Bucher
c2fca7c957 Add unstable attribute to char::from_u32_unchecked 2015-07-24 01:58:38 +02:00
Tobias Bucher
a700546fea Fix thread::catch_panic documentation to mention its return value on success
Fixes #27027.
2015-07-23 15:44:06 +02:00
Tobias Bucher
0eb552a835 wtf8, char: Replace uses of mem::transmute with more specific functions 2015-07-23 13:55:37 +02:00
Eli Friedman
312f886d03 Remove orphaned unsigned_negation lint reference. 2015-07-22 17:47:01 -07:00
Steve Klabnik
a39a36aec9 Rollup merge of #27170 - steveklabnik:doc_std_io_intoinnererror, r=alexcrichton
Mostly adding examples.

r? @alexcrichton
2015-07-22 12:56:51 -04:00
Steve Klabnik
932f0bb5c3 Rollup merge of #27167 - steveklabnik:doc_std_io_take, r=alexcrichton
Better and more consistent links to their creators.
2015-07-22 12:56:51 -04:00
Steve Klabnik
6397ecb3ca Rollup merge of #27166 - steveklabnik:doc_std_io_linewriter, r=alexcrichton
Beef up the struct docs, add examples for the methods.

r? @alexcrichton
2015-07-22 12:56:51 -04:00
Steve Klabnik
47f1286d56 Rollup merge of #27164 - steveklabnik:doc_io_utils, r=alexcrichton
These provide various special readers, so point their docs to their
constructor functions in a manner consistent with everything else.

r? @alexcrichton
2015-07-22 12:56:50 -04:00
Steve Klabnik
cc60f3f472 Rollup merge of #27163 - steveklabnik:doc_std_io_cursor, r=alexcrichton
Beef up the docs on the type, as well as adding examples for all
methods.

r? @alexcrichton
2015-07-22 12:56:50 -04:00
Steve Klabnik
558008b0f0 Rollup merge of #27157 - steveklabnik:doc_std_io_iterators, r=alexcrichton
Make them all consistent and link up the documentation.

r? @alexcrichton
2015-07-22 12:56:50 -04:00
Steve Klabnik
239657c377 Rollup merge of #27155 - steveklabnik:doc_std_io_buf_writer, r=alexcrichton
Mostly through adding examples.

r? @alexcrichton 

I'm going to be doing a bunch of these today, but I figured I'd keep it one PR per struct, since the last 'all the things in one PR' ended up taking a week to actually land.
2015-07-22 12:56:49 -04:00
Steve Klabnik
103749d933 Improve documentation for std::io::Cursor
Beef up the docs on the type, as well as adding examples for all
methods.
2015-07-22 11:42:59 -04:00
Steve Klabnik
e31ad959cc Improve documentation for std::io::LineWriter
Beef up the struct docs, add examples for the methods.
2015-07-22 10:19:36 -04:00
Felix S. Klock II
cb5f0b4971 Avoid feature-warnings on stage0. 2015-07-22 15:34:00 +02:00
Felix S. Klock II
b325e4f28e Add feature-gates for desugaring-based box and placement-in.
update test/compile-fail/feature-gate-box-expr.rs to reflect new feature gates.

Part of what lands with Issue 22181.
2015-07-22 15:33:59 +02:00
bors
25281b121f Auto merge of #27176 - alexcrichton:fix-stock-llvm, r=brson
This commit moves the IR files in the distribution, rust_try.ll,
rust_try_msvc_64.ll, and rust_try_msvc_32.ll into the compiler from the main
distribution. There's a few reasons for this change:

* LLVM changes its IR syntax from time to time, so it's very difficult to
  have these files build across many LLVM versions simultaneously. We'll likely
  want to retain this ability for quite some time into the future.
* The implementation of these files is closely tied to the compiler and runtime
  itself, so it makes sense to fold it into a location which can do more
  platform-specific checks for various implementation details (such as MSVC 32
  vs 64-bit).
* This removes LLVM as a build-time dependency of the standard library. This may
  end up becoming very useful if we move towards building the standard library
  with Cargo.

In the immediate future, however, this commit should restore compatibility with
LLVM 3.5 and 3.6.
2015-07-22 09:13:09 +00:00
Steve Klabnik
e22c6f7caa Improve documentation for std::io::BufWriter
Mostly through adding examples.
2015-07-22 01:21:17 -04:00
bors
d33cab1b1f Auto merge of #27172 - alexcrichton:snapshots, r=brson
Enables bootstrapping a 32-bit MSVC host compiler!

Closes #26602
2015-07-22 00:29:08 +00:00
Alex Crichton
c35b2bd226 trans: Move rust_try into the compiler
This commit moves the IR files in the distribution, rust_try.ll,
rust_try_msvc_64.ll, and rust_try_msvc_32.ll into the compiler from the main
distribution. There's a few reasons for this change:

* LLVM changes its IR syntax from time to time, so it's very difficult to
  have these files build across many LLVM versions simultaneously. We'll likely
  want to retain this ability for quite some time into the future.
* The implementation of these files is closely tied to the compiler and runtime
  itself, so it makes sense to fold it into a location which can do more
  platform-specific checks for various implementation details (such as MSVC 32
  vs 64-bit).
* This removes LLVM as a build-time dependency of the standard library. This may
  end up becoming very useful if we move towards building the standard library
  with Cargo.

In the immediate future, however, this commit should restore compatibility with
LLVM 3.5 and 3.6.
2015-07-21 16:08:11 -07:00
bors
ee2d3bc8a2 Auto merge of #27073 - alexcrichton:less-proc-fs, r=brson
This can fail on linux for various reasons, such as the /proc filesystem not
being mounted. There are already many cases where we can't set up stack guards,
so just don't worry about this case and communicate that no guard was enabled.

I've confirmed that this allows the compiler to run in a chroot without /proc
mounted.

Closes #22642
2015-07-21 20:51:04 +00:00
bors
21dfd24c4b Auto merge of #26856 - steveklabnik:gh26475, r=alexcrichton
Fixes #26475 

I'm not sure this is enough, really, but I'm not totally clear on what specific information would be valuable here. In the original issue, the Java page was pretty decent, but now I can't think of a different way to word it, and copying their prose is of course not acceptable.

thoughts @alexcrichton @aturon @aidanhs ?
2015-07-21 18:34:08 +00:00
Steve Klabnik
d2aee954fe Expand documentation for IntoInnerError
Mostly adding examples.
2015-07-21 13:37:09 -04:00
Steve Klabnik
cbdc52e986 Expand a bit on thread::park spurious wakeups
Fixes #26475
2015-07-21 13:23:34 -04:00