Commit Graph

45115 Commits

Author SHA1 Message Date
Steve Klabnik
8b82470456 Rollup merge of #27343 - steveklabnik:fix_module, r=alexcrichton 2015-07-29 10:30:35 -04:00
Steve Klabnik
319b42821d Rollup merge of #27342 - steveklabnik:fix_links, r=alexcrichton
How embarassing 😭

r? @alexcrichton
2015-07-29 10:30:35 -04:00
Steve Klabnik
1406c196fd Rollup merge of #27341 - steveklabnik:remove_warning, r=alexcrichton
This isn't a standard header, and the other docs don't use it, so let's remove it.
2015-07-29 10:30:35 -04:00
Steve Klabnik
3c7719580c Rollup merge of #27327 - steveklabnik:fix_take, r=alexcrichton
This only reads five bytes, so don't use a ten byte buffer, that's confusing.

r? @alexcrichton
2015-07-29 10:30:34 -04:00
Steve Klabnik
a368adf8e5 Rollup merge of #27326 - steveklabnik:doc_show_use, r=Gankro
In spirit with https://internals.rust-lang.org/t/should-we-keep-including-obvious-imports-in-code-examples/2217, show the feature flags we're using in examples.

(also one instance of 'use')
2015-07-29 10:30:34 -04:00
Steve Klabnik
6fec7b7854 Rollup merge of #27325 - midinastasurazz:patch-2, r=alexcrichton 2015-07-29 10:30:33 -04:00
Steve Klabnik
033b886f8c Rollup merge of #27313 - nagisa:illegal-to-invalid, r=pnkfelix
Improves diagnostics in various locations, namely:

* A few error messages that orignally were a mix of an error message and suggestion how to fix it have been split up into two messages: an error and help/hint.
* Never report “illegal”. Fixes https://github.com/rust-lang/rust/issues/27288
2015-07-29 10:30:33 -04:00
Steve Klabnik
10387d6839 Rollup merge of #27286 - lastorset:pub, r=steveklabnik
The reader could probably infer this from the current text, but for C++ programmers it's not obvious that struct fields don't automatically become public.

Apparently I wasn't the only one to be confused:

http://stackoverflow.com/questions/29157300/field-of-struct-is-private-when-importing-module

I don't think an example is necessary, but can add one if desired.

r? @steveklabnik
2015-07-29 10:30:33 -04:00
Steve Klabnik
e6ed27bc24 Rollup merge of #27102 - tshepang:better-examples, r=aturon 2015-07-29 10:30:33 -04:00
Jeehoon Kang
2081aa623d Fix a documentation bug for memory orderings
As described in the module documentation, the memory orderings in Rust
are the same with that of LLVM.  However, the documentation for the
memory orderings enum says the memory orderings are the same of that of
C++.  Note that they differ in that C++'s support the consume reads,
while LLVM's does not.  Hence this commit fixes the bug in the
documentation for the enum.
2015-07-29 22:48:25 +09:00
bors
ddc28298b9 Auto merge of #27365 - pcwalton:more-collections, r=aturon
This was showing up in Servo profiles.

r? @aturon
2015-07-29 13:11:29 +00:00
bors
78bf4b6ff6 Auto merge of #27360 - dhuseby:fixing_freebsd_stat_structs_and_tests, r=alexcrichton
…ebsd 10.1 x86_64 and i686
2015-07-29 11:33:20 +00:00
bors
d10ff632ce Auto merge of #27358 - bluss:split-at-mut, r=aturon
Use raw pointers to avoid aliasing violation in split_at_mut

Fixes #27357
2015-07-29 09:57:50 +00:00
Blake Loring
a067b4588a Modified to add 'found' to error message closes #26485 2015-07-29 10:06:50 +01:00
bors
6fcf62831e Auto merge of #27349 - arielb1:constant-at, r=alexcrichton
Fixes #27033
Fixes #27077 

r? @alexcrichton
2015-07-29 08:23:04 +00:00
bors
d576ef3d7b Auto merge of #27261 - arielb1:drop-sanity-check, r=pnkfelix
This fixes multiple bugs, and as several of these are soundness issue, is a [breaking-change].

r? @pnkfelix
2015-07-29 06:47:55 +00:00
bors
4b4119d5c0 Auto merge of #27339 - alexcrichton:remove-old-rt, r=brson
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-29 05:12:33 +00:00
Nicolette Verlinden
fe33e58137 Make docs for Vec::push() use vec! with square brackets 2015-07-28 23:55:12 -05:00
Nicolette Verlinden
48606e3ecd Mention vec![x; len] syntax in Vec docs 2015-07-28 23:53:25 -05:00
Dave Huseby
40eb53c409 recent changes to search for gcc/clang on freebsd and this fixes #14381 2015-07-28 21:23:19 -07:00
bors
68fc2d98d5 Auto merge of #27260 - alexcrichton:cap-lints, r=nrc
This commit is an implementation of [RFC 1193][rfc] which adds the ability to
the compiler to cap the lint level for the entire compilation session. This flag
will ensure that no lints will go above this level, and Cargo will primarily use
this flag passing `--cap-lints allow` to all upstream dependencies.

[rfc]: https://github.com/rust-lang/rfcs/pull/1193

Closes #27259
2015-07-29 02:04:38 +00:00
Alex Crichton
b345437c3c rustc: Add a --cap-lints flag to the compiler
This commit is an implementation of [RFC 1193][rfc] which adds the ability to
the compiler to cap the lint level for the entire compilation session. This flag
will ensure that no lints will go above this level, and Cargo will primarily use
this flag passing `--cap-lints allow` to all upstream dependencies.

[rfc]: https://github.com/rust-lang/rfcs/pull/1193

Closes #27259
2015-07-28 18:23:09 -07:00
bors
8d432fbf10 Auto merge of #26846 - P1start:print-maybe-styled-macro, r=pnkfelix
`EmitterWriter::print_maybe_styled` was basically always used with `format!`, so this macro makes some code cleaner. It should also remove some unnecessary allocations (most `print_maybe_styled` invocations allocated a `String` previously, whereas the new macro uses `write_fmt` to write the formatted string directly to the terminal).

This probably could have been part of #26838, but it’s too late now. It’s also rebased on #26838’s branch because otherwise pretty much all of the changes in this PR would conflict with the other PR’s changes.
2015-07-29 00:28:55 +00:00
Alex Crichton
76db37ee4b std: Stabilize a number of small APIs
The following APIs were all marked with a `#[stable]` tag:

* process::Child::id
* error::Error::is
* error::Error::downcast
* error::Error::downcast_ref
* error::Error::downcast_mut
* io::Error::get_ref
* io::Error::get_mut
* io::Error::into_inner
* hash::Hash::hash_slice
* hash::Hasher::write_{i,u}{8,16,32,64,size}
2015-07-28 16:34:01 -07:00
Brian Anderson
6464198508 std: Remove some old #[cfg(test) hacks
Since most lang items are actually defined in core, these hack reexports don't actually
do anything useful.
2015-07-28 16:22:05 -07:00
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
Simonas Kazlauskas
cca0ea718d Replace illegal with invalid in most diagnostics 2015-07-29 01:59:31 +03:00
Simonas Kazlauskas
ffcdf0881b Improve typeck diagnostic messages
Mostly by splitting error messages into proper pairs of errors and helps
2015-07-29 01:57:24 +03:00
Simonas Kazlauskas
77e9228b4a Improve invalid recursive types diagnostic 2015-07-29 01:57:24 +03:00
bors
ba324694d6 Auto merge of #27318 - soon:E0391_explanation, r=nrc
Part of #24407
2015-07-28 22:51:53 +00:00
Alexis Beingessner
b539906de1 clarify subtyping 2015-07-28 15:41:58 -07:00
Alexis Beingessner
9123bb02ca fix borrow-splitting 2015-07-28 15:38:39 -07:00
Patrick Walton
3a12b4c4f8 libcollections: Inline some performance-critical string functions; e.g.
`chars()`.

This was showing up in Servo profiles.
2015-07-28 15:18:27 -07:00
Alexis Beingessner
b93438f648 fix incorrect name 2015-07-28 15:16:59 -07:00
Alexis Beingessner
0d37e78977 lots more felix fixes 2015-07-28 15:13:54 -07:00
bors
55ede7ed8e Auto merge of #27234 - oli-obk:move_get_name_get_ident_to_impl, r=eddyb
this has quite some fallout. but also made lots of stuff more readable imo

[breaking-change] for plugin authors
2015-07-28 21:14:28 +00:00
Alexis Beingessner
5789106737 many many pnkfelix fixes 2015-07-28 13:20:36 -07:00
Ulrik Sverdrup
73d4330ff8 Use raw pointers to avoid aliasing violation in split_at_mut
Fixes #27357
2015-07-28 22:04:25 +02: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
aa6efd959e Auto merge of #27173 - mark-buer:split-android-ndks, r=alexcrichton
Allows a multi-Android-target Rust compiler to be built.
Without these (or similar) changes, only a single-Android-target Rust compiler is possible.
Please see https://internals.rust-lang.org/t/dual-target-android-rust-compiler/2382/3 for additional context.
2015-07-28 17:58:18 +00:00
krumelmonster
9699119c57 more precise for inclusive range 2015-07-28 19:22:20 +02:00
Ariel Ben-Yehuda
757b0c176f prohibit the lhs of an @-pattern being a constant
as this breaks code that worked under some conditions, this is a
[breaking-change]

Fixes #27033
Fixes #27077
2015-07-28 19:51:08 +03:00
Ariel Ben-Yehuda
bd01175234 clarify the parenthetical notation stability error message
This also calls the right API, which e.g. prevents a suggestion
for #![feature(unboxed_closures)] on stable.

Fixes #26970
2015-07-28 19:21:24 +03:00
Oliver Schneider
00a5e66f81 remove get_ident and get_name, make as_str sound 2015-07-28 18:07:20 +02:00
bors
661a5ad38e Auto merge of #26173 - pnkfelix:fsk-trans-nzmove-take3, r=nikomatsakis
Add dropflag hints (stack-local booleans) for unfragmented paths in trans.  Part of #5016.

Added code to maintain these hints at runtime, and to conditionalize drop-filling and calls to destructors.

In this early stage of my incremental implementation strategy, we are using hints, so we are always free to leave out a flag for a path -- then we just pass `None` as the dropflag hint in the corresponding schedule cleanup call. But, once a path has a hint, we must at least maintain it: i.e. if the hint exists, we must ensure it is never set to "moved" if the data in question might actually have been initialized. It remains sound to conservatively set the hint to "initialized" as long as the true drop-flag embedded in the value itself is up-to-date.

I hope the commit series has been broken up to be readable; most of the commits in the series should build (though I did not always check this).

----

Oh, I think this technically qualifies as a:
[breaking-change]
because it removes drop-filling in some cases where one could previously observe it. That should only affect `unsafe` code; no safe code should be able to inspect whether the drop-fill was present or not. For an example of code that needed to change to account for this, see commit a81c24ae0216ab47df59acd724f8a33124fb6d97 (a unit test of the `move_val_init` intrinsic).  I have not encountered actual code that needed to be updated to account for the change, since this should only be skipping the drop-filling on *moved* values, not on dropped one, and so even types that use `unsafe_no_drop_flag` should be unchanged by this particular PR. (Their time will come later.)
2015-07-28 15:15:00 +00:00
Simonas Kazlauskas
91397a6aa3 Replace occurences of illegal in user facing docs 2015-07-28 17:55:44 +03:00
Guillaume Gomez
cf55db2ad1 Improve E0119 error explanation 2015-07-28 16:37:11 +02:00
Felix S. Klock II
b4dd765e68 comments and code-cleanup in response to reviews. 2015-07-28 16:15:56 +02:00
Felix S. Klock II
22796c8bad build fragmented map earlier to make its dependencies clearer. 2015-07-28 16:15:56 +02:00