Commit graph

9768 commits

Author SHA1 Message Date
Piotr Czarnecki
64adca717f f clarification, docs 2016-03-22 12:52:31 +01:00
Piotr Czarnecki
c9b3cd47e2 f Put and DerefMut 2016-03-22 09:45:51 +01:00
Tshepang Lekhonkhobe
7d626e9f55 doc: small char improvements 2016-03-22 08:29:55 +02:00
Wangshan Lu
b5b1d0685e Fix Default for OsString/OsStr 2016-03-22 07:38:44 +08:00
Piotr Czarnecki
c21d975503 f dead code 2016-03-21 23:53:55 +01:00
Alex Crichton
f34c0e6ebd std: Link to gcc_s on NetBSD
Currently the nightlies we're producing fail when linking some C code into a
Rust application with the error message:

    libgcc_s.so.1: error adding symbols: DSO missing from command line

By linking `gcc_s` instead of `gcc` this error goes away. I haven't tested this
on NetBSD itself, but should help get the Linux cross-compile image moreso up
and working!
2016-03-21 11:23:44 -07:00
Wangshan Lu
aa5afb0c17 Implement Default for OsStr 2016-03-22 00:45:36 +08:00
Wangshan Lu
08eaf07dbc Implement Default for OsString 2016-03-22 00:45:08 +08:00
Lukas Pustina
0dd5f67f4a Adjusts all rust doc test to use expect and should_panic
- All Rust Doc tests execute the same command `/bin/cat file.txt` which
  `should_panic` on all platforms consistently, because either
  `/bin/cat` or `file.txt` do not exist.
2016-03-21 14:17:17 +01:00
Alex Crichton
bef69a116e std: Add regression test for #32074
Just to make sure we don't accidentally break this in the future.
2016-03-20 22:07:49 -07:00
Steven Fackler
c0d989ed6b Add unix socket support to the standard library 2016-03-20 18:57:58 -07:00
Lukas Pustina
45517947ba Fixes 2. stdout to stderr in rustdoc 2016-03-19 21:07:47 +01:00
bors
151be09333 Auto merge of #32314 - alexcrichton:ascii-fun, r=aturon
std: Revert addition of `into_ascii_*` methods

The addition of these methods in #31335 required adding impls of the trait for
the `String` and `Vec<T>` types. This unfortunately caused a regression (#32074)
in type inference for using these methods which the libs team has decided to not
push forward with. These methods were stabilized in #32020 which was intended to
get backported to beta, but the backport hasn't happened just yet. This commit
reverts both the addition and stabilization of these methods.

One proposed method of handling this, in #32076, was to move the methods to an
extra trait to avoid conflicts with type inference. After some discussion,
however, the libs team concluded that we probably want to reevaluate what we're
doing here, so discussion will continue on the tracking issue, #27809.

Closes #32074
2016-03-19 09:39:26 -07:00
Eduard-Mihai Burtescu
b29e299c18 Rollup merge of #32329 - sfackler:assert-recover-safe-pub, r=aturon
Make AssertRecoverSafe's field public

It's basically the very definition of a newtype, so we might as well
make things easy on people and let them construct and access it
directly.

r? @aturon
2016-03-19 12:30:01 +02:00
Lukas Pustina
aefbbc79a3 Revert "Tags new test as no_run and uses expect()"
- After discussing with @alexcrichton, the initial commit has been fine.

This reverts commit 3b5cfa3ecf.
2016-03-19 10:41:13 +01:00
bors
10bdd808b5 Auto merge of #32050 - achanda:from-slice-v4, r=alexcrichton
Add an impl for From trait

Converts a u8 slice to a Ipv4Addr
More discussion on this here: https://github.com/rust-lang/rfcs/pull/1498#issuecomment-191921655
2016-03-18 17:30:22 -07:00
Tobias Bucher
e3146d77ec Add functions to convert IPv6 addresses from and to octets
See also #32313.
2016-03-19 01:24:22 +01:00
Lukas Pustina
3b5cfa3ecf Tags new test as no_run and uses expect() 2016-03-18 20:24:31 +01:00
Steven Fackler
797d520d2b Fix tidy 2016-03-18 09:30:36 -07:00
bors
24bb607e7d Auto merge of #32282 - sfackler:panic-hook, r=alexcrichton
Adjustments to the panic hook API

Rename `set_handler` and `take_handler` to `set_hook` and `take_hook` since we're not actually "handling" (i.e. fixing) anything.

Also alter `set_hook` to take a `Box<Fn(&PanicInfo) + 'static + Sync + Send>` rather than a parameterized closure since there's otherwise no easy way to re-register a hook that came from `take_hook`.

cc #30449

r? @aturon
2016-03-18 09:21:43 -07:00
Steven Fackler
b3ade68f27 Add a since to deprecations 2016-03-18 09:13:55 -07:00
Lukas Pustina
8d61cb245d Extends rustdoc on how to caputure output 2016-03-18 16:11:37 +01:00
bors
235d77457d Auto merge of #32080 - eddyb:transcendent, r=nikomatsakis
Refactor call & function handling in trans, enable MIR bootstrap.

Non-Rust and Rust ABIs were combined into a common codepath, which means:
* The ugly `__rust_abi` "clown shoes" shim for C->Rust FFI is gone, fixes #10116.
* Methods, *including virtual ones* support non-Rust ABIs, closes #30235.
* Non-Rust ABIs also pass fat pointers in two arguments; the result should be identical.
* Zero-sized types are never passed as arguments; again, behavior shouldn't change.

Additionally, MIR support for calling intrinsics (through old trans) was implemented.
Alongside assorted fixes, it enabled MIR to launch 🚀 and do a *complete* bootstrap.
To try it yourself, `./configure --enable-orbit` *or* `make RUSTFLAGS="-Z orbit"`.
2016-03-18 06:54:58 -07:00
bors
2de6ddd75e Auto merge of #32248 - dstu:master, r=alexcrichton
Expose the key of Entry variants for HashMap and BTreeMap.

This PR addresses [issue 1541](https://github.com/rust-lang/rfcs/issues/1541) by exposing the key of `HashMap` and `BTreeMap` entry variants. Basic tests are provided.
2016-03-18 02:46:35 -07:00
bors
a77d7bde60 Auto merge of #32207 - achanda:ipv6-doc, r=alexcrichton
Add is_documentation for IPv6

This function returns true if the given IPv6 is reserved for
documentation. Also, reject this block in the is_global check
2016-03-17 23:52:55 -07:00
Steven Fackler
74d00bde8e Make AssertRecoverSafe's field public
It's basically the very definition of a newtype, so we might as well
make things easy on people and let them construct and access it
directly.
2016-03-17 23:37:20 -07:00
Piotr Czarnecki
6a1ccf8a86 fixup Cleaner Recover::replace 2016-03-17 23:11:22 +01:00
Eduard Burtescu
473f804491 Add #[rustc_no_mir] to make tests pass with -Z orbit. 2016-03-17 22:48:07 +02:00
Alex Crichton
af65d81490 std: Revert addition of into_ascii_* methods
The addition of these methods in #31335 required adding impls of the trait for
the `String` and `Vec<T>` types. This unfortunately caused a regression (#32074)
in type inference for using these methods which the libs team has decided to not
push forward with. These methods were stabilized in #32020 which was intended to
get backported to beta, but the backport hasn't happened just yet. This commit
reverts both the addition and stabilization of these methods.

One proposed method of handling this, in #32076, was to move the methods to an
extra trait to avoid conflicts with type inference. After some discussion,
however, the libs team concluded that we probably want to reevaluate what we're
doing here, so discussion will continue on the tracking issue, #27809.
2016-03-17 09:39:10 -07:00
Steven Fackler
157e1bc681 Make set_hook take a Box<Fn>
Otherwise there's no good way of re-registering a hook you got out of
take_hook.
2016-03-15 20:51:48 -07:00
Steven Fackler
159eae8b8b Rename panic handlers to panic hook 2016-03-15 20:51:48 -07:00
Stu Black
2ddba6f361 Use issue number from rust-lang/rust, not rust-lang/rfcs. 2016-03-15 23:48:15 -04:00
Alex Crichton
0943b1668d std: Fix overflow when subtracting Instant
This code was currently only exercised on OSX, but this applies the same method
of subtraction used on Linux which doesn't have the same overflow issues.

Note that this currently includes no tests, but that's because this is only
visible with debug assertions enabled. Soon, however, I'll enable debug
assertions on all auto builds on the bots so we should get testing for this.

Closes #32268
2016-03-15 15:19:11 -07:00
Alex Crichton
4124466197 std: Fix inheriting stdin on status()
This regression was accidentally introduced in #31618, and it's just flipping a
boolean!

Closes #32254
2016-03-14 22:46:42 -07:00
Stu Black
2f454be47a Expose the key of Entry variants for HashMap and BTreeMap. 2016-03-14 16:35:08 -04:00
Abhishek Chanda
aa22b4e7c8 Add is_documentation for IPv6
This function returns true if the given IPv6 is reserved for
documentation. Also, reject this block in the is_global check
2016-03-13 18:56:20 -07:00
bors
74b886ab14 Auto merge of #32211 - achanda:ipv6-global, r=alexcrichton
Reject unspecified IP from global

Also fixed the test
2016-03-13 16:53:09 -07:00
bors
ce943eb369 Auto merge of #32184 - ollie27:win_stdout, r=alexcrichton
Fixup stout/stderr on Windows

WriteConsoleW can fail if called with a large buffer so we need to slice
any stdout/stderr output.
However the current slicing has a few problems:
 1. It slices by byte but still expects valid UTF-8.
 2. The slicing happens even when not outputting to a console.
 3. panic! output is not sliced.

This fixes these issues by moving the slice to right before
WriteConsoleW and slicing on a char boundary.
2016-03-13 09:27:17 -07:00
Abhishek Chanda
534bd19d25 Reject unspecified and loopback IP from global 2016-03-12 14:51:45 -08:00
Alex Crichton
b53764c73b std: Clean out deprecated APIs
Removes all unstable and deprecated APIs prior to the 1.8 release. All APIs that
are deprecated in the 1.8 release are sticking around for the rest of this
cycle.

Some notable changes are:

* The `dynamic_lib` module was moved into `rustc_back` as the compiler still
  relies on a few bits and pieces.
* The `DebugTuple` formatter now special-cases an empty struct name with only
  one field to append a trailing comma.
2016-03-12 12:31:13 -08:00
Alex Crichton
1c440bdaf2 std: Remove unstable from ReentrantMutex
This isn't exported so it doesn't need a tag.
2016-03-11 22:09:58 -08:00
Oliver Middleton
bd80a53407 Further simplify Windows stdout/stderr
This makes it output as much valid UTF-8 as it can then return failure.
2016-03-12 04:18:17 +00:00
bors
f1d6f126ef Auto merge of #32200 - Manishearth:rollup, r=Manishearth
Rollup of 11 pull requests

- Successful merges: #32137, #32158, #32171, #32174, #32178, #32179, #32180, #32181, #32183, #32186, #32197
- Failed merges:
2016-03-11 17:50:45 -08:00
bors
0d68aadd27 Auto merge of #32132 - arcnmx:cargobuild-std-target, r=alexcrichton
cover more linux targets in libstd cargobuild

libstd/build.rs checked the target name against `"unknown-linux"`... That doesn't necessarily apply to all Linux targets as some toolchains for embedded targets will change that `unknown` field to some vendor name. Some shifting around was needed since Android is also a Linux target.

r? @alexcrichton
2016-03-11 15:25:03 -08:00
Manish Goregaokar
baea278e75 Rollup merge of #32174 - cmbrandenburg:spell_fix, r=steveklabnik
Spell fixes for std::ffi doc comments
2016-03-12 02:41:26 +05:30
bors
aeb85a9533 Auto merge of #32133 - alexcrichton:linkchecker, r=brson
Add a link validator to rustbuild

This commit was originally targeted at just adding a link checking script to the rustbuild system. This ended up snowballing a bit to extend rustbuild to be amenable to various tools we have as part of the build system in general.

There's a new `src/tools` directory which has a number of scripts/programs that are purely intended to be used as part of the build system and CI of this repository. This is currently inhabited by rustbook, the error index generator, and a new linkchecker script added as part of this PR. I suspect that more tools like compiletest, tidy scripts, snapshot scripts, etc will migrate their way into this directory over time.

The commit which adds the error index generator shows the steps necessary to add new tools to the build system, namely:

1. New steps are defined for building the tool and running the tool
2. The dependencies are configured
3. The steps are implemented

In terms of the link checker, these commits do a few things:

* A new `src/tools/linkchecker` script is added. This will read an entire documentation tree looking for broken relative links (HTTP links aren't followed yet).
* A large number of broken links throughout the documentation were fixed. Many of these were just broken when viewed from core as opposed to std, but were easily fixed.
* A few rustdoc bugs here and there were fixed
2016-03-11 04:38:04 -08:00
bors
c6a6053112 Auto merge of #32102 - alexcrichton:assert-safe-closures, r=aturon
std: Add impl of FnOnce to AssertRecoverSafe

This was originally intended, but forgot to land by accident!

cc #27719
2016-03-10 17:52:12 -08:00
Oliver Middleton
6993939242 Simplify Windows stdout/stderr 2016-03-10 23:59:28 +00:00
Oliver Middleton
8427efaab3 Fixup stout/stderr on Windows
WriteConsoleW can fail if called with a large buffer so we need to slice
any stdout/stderr output.
However the current slicing has a few problems:
 1. It slices by byte but still expects valid UTF-8.
 2. The slicing happens even when not outputting to a console.
 3. panic! output is not sliced.

This fixes these issues by moving the slice to right before
WriteConsoleW and slicing on a char boundary.
2016-03-10 21:15:23 +00:00
bors
c1fb50f5d3 Auto merge of #32107 - Stebalien:partial-write, r=alexcrichton
Never return an error after a partial write

If LineWriter fails to flush, return the number of bytes written instead
of an error.

Fixes #32085
2016-03-10 11:56:29 -08:00