Commit Graph

36151 Commits

Author SHA1 Message Date
Manish Goregaokar 925d5ad715 Rollup merge of #23415 - alexcrichton:stabilize-flush, r=aturon
The [associated RFC][rfc] for possibly splitting out `flush` has been closed and
as a result there are no more blockers for stabilizing this method, so this
commit marks the method as such.

[rfc]: https://github.com/rust-lang/rfcs/pull/950
2015-03-17 15:20:03 +05:30
Manish Goregaokar c2671b59cc Rollup merge of #23409 - GBGamer:patch-2, r=alexcrichton
To the correct MAP_NORESERVE. Every other instance is known as MAP_NORESERVE, so this is just a basic typo.

I really doubt this will break anybody's but my own code.

[breaking-change]
2015-03-17 15:19:57 +05:30
Manish Goregaokar a4b57bebd0 Rollup merge of #23402 - tamird:needstest-tests, r=jakub-
@alexcrichton @jakub-
2015-03-17 15:19:51 +05:30
Manish Goregaokar 74adeda78a Rollup merge of #23400 - nrc:pub_use, r=eddyb
r? @eddyb
2015-03-17 15:19:45 +05:30
Manish Goregaokar 285cb8e6d8 Rollup merge of #23399 - tbu-:pr_libflate_error, r=huonw
This removes the error case of the compression functions, the only errors that
can occur are incorrect parameters or an out-of-memory condition, both of which
are handled with panics in Rust.

Also introduces an extensible `Error` type instead of returning an `Option`.
The type implements a destructor so you can't destructure it.
2015-03-17 15:19:38 +05:30
bors e46610966f Auto merge of #23104 - japaric:inherent, r=nikomatsakis
- Allow inherent implementations on `char`, `str`, `[T]`, `*const T`, `*mut T` and all the numeric primitives.
- copy `unicode::char::CharExt` methods into `impl char`
- remove `unicode::char::CharExt`, its re-export `std::char::CharExt` and `CharExt` from the prelude
- copy `collections::str::StrExt` methods into `impl str`
- remove `collections::str::StrExt` its re-export `std::str::StrExt`, and `StrExt` from the prelude
- copy `collections::slice::SliceExt` methods into `impl<T> [T]`
- remove `collections::slice::SliceExt` its re-export `std::slice::SliceExt`, and `SliceExt` from the prelude
- copy `core::ptr::PtrExt` methods into `impl<T> *const T`
- remove `core::ptr::PtrExt` its re-export `std::ptr::PtrExt`, and `PtrExt` from the prelude
- copy `core::ptr::PtrExt` and `core::ptr::MutPtrExt` methods into `impl<T> *mut T`
- remove `core::ptr::MutPtrExt` its re-export `std::ptr::MutPtrExt`, and `MutPtrExt` from the prelude
- copy `core::num::Int` and `core::num::SignedInt` methods into `impl i{8,16,32,64,size}`
- copy `core::num::Int` and `core::num::UnsignedInt` methods into `impl u{8,16,32,64,size}`
- remove `core::num::UnsignedInt` and its re-export `std::num::UnsignedInt`
- move `collections` tests into its own crate: `collectionstest`
- copy `core::num::Float` methods into `impl f{32,64}`

Because this PR removes several traits, this is a [breaking-change], however functionality remains unchanged and breakage due to unresolved imports should be minimal. If you encounter an error due to an unresolved import, simply remove the import:

``` diff
  fn main() {
-     use std::num::UnsignedInt;  //~ error: unresolved import `std::num::UnsignedInt`.
-
      println!("{}", 8_usize.is_power_of_two());
  }
```

---

cc  #16862
[preview docs](http://japaric.github.io/inherent/std/index.html)
[unicode::char](http://japaric.github.io/inherent/unicode/primitive.char.html)
[collections::str](http://japaric.github.io/inherent/collections/primitive.str.html)
[std::f32](http://japaric.github.io/inherent/std/primitive.f32.html)
2015-03-17 03:23:50 +00:00
Jorge Aparicio b65ebc4094 better document the hacks required to test libcollections 2015-03-16 21:57:43 -05:00
Jorge Aparicio 8256241d3a impl f{32,64} 2015-03-16 21:57:43 -05:00
Jorge Aparicio 59749087f8 fix after rebase 2015-03-16 21:57:42 -05:00
Jorge Aparicio 6d49476e7b preemptively fix windows compilation errors 2015-03-16 21:57:42 -05:00
Jorge Aparicio cb5e429291 move some tests back to libcollections 2015-03-16 21:57:42 -05:00
Jorge Aparicio e09bf82a31 enable enum_set tests 2015-03-16 21:57:42 -05:00
Jorge Aparicio a079d5e4d2 remove imports 2015-03-16 21:57:42 -05:00
Jorge Aparicio 6453fcd4cc extract libcollections tests into libcollectionstest 2015-03-16 21:57:42 -05:00
Jorge Aparicio 3ff84fc5fd impl {i,u}{8,16,32,64,size} 2015-03-16 21:57:42 -05:00
Jorge Aparicio 8afcaabee3 impl<T> *const T, impl<T> *mut T 2015-03-16 21:57:42 -05:00
Jorge Aparicio 633c593bc3 impl<T> [T] 2015-03-16 21:56:31 -05:00
Jorge Aparicio 5b118f5ecd impl str 2015-03-16 21:56:31 -05:00
Jorge Aparicio b2f37554bf impl char 2015-03-16 21:56:31 -05:00
Jorge Aparicio 8570739880 allow inherent implementations on primitives 2015-03-16 21:56:31 -05:00
bors a2572885ab Auto merge of #23352 - alexcrichton:stabilize-net, r=aturon
This commit performs a stabilization pass over the std::net module,
incorporating the changes from RFC 923. Specifically, the following actions were
taken:

Stable functionality:

* `net` (the name)
* `Shutdown`
* `Shutdown::{Read, Write, Both}`
* `lookup_host`
* `LookupHost`
* `SocketAddr`
* `SocketAddr::{V4, V6}`
* `SocketAddr::port`
* `SocketAddrV4`
* `SocketAddrV4::{new, ip, port}`
* `SocketAddrV6`
* `SocketAddrV4::{new, ip, port, flowinfo, scope_id}`
* Common trait impls for socket addr structures
* `ToSocketAddrs`
* `ToSocketAddrs::Iter`
* `ToSocketAddrs::to_socket_addrs`
* `ToSocketAddrs for {SocketAddr*, (Ipv*Addr, u16), str, (str, u16)}`
* `Ipv4Addr`
* `Ipv4Addr::{new, octets, to_ipv6_compatible, to_ipv6_mapped}`
* `Ipv6Addr`
* `Ipv6Addr::{new, segments, to_ipv4}`
* `TcpStream`
* `TcpStream::connect`
* `TcpStream::{peer_addr, local_addr, shutdown, try_clone}`
* `{Read,Write} for {TcpStream, &TcpStream}`
* `TcpListener`
* `TcpListener::bind`
* `TcpListener::{local_addr, try_clone, accept, incoming}`
* `Incoming`
* `UdpSocket`
* `UdpSocket::bind`
* `UdpSocket::{recv_from, send_to, local_addr, try_clone}`

Unstable functionality:

* Extra methods on `Ipv{4,6}Addr` for various methods of inspecting the address
  and determining qualities of it.
* Extra methods on `TcpStream` to configure various protocol options.
* Extra methods on `UdpSocket` to configure various protocol options.

Deprecated functionality:

* The `socket_addr` method has been renamed to `local_addr`

This commit is a breaking change due to the restructuring of the `SocketAddr`
type as well as the renaming of the `socket_addr` method. Migration should be
fairly straightforward, however, after accounting for the new level of
abstraction in `SocketAddr` (protocol distinction at the socket address level,
not the IP address).

[breaking-change]
2015-03-17 00:50:26 +00:00
bors 92dd995e17 Auto merge of #23331 - eddyb:attr-lookahead, r=nikomatsakis
Most of the changes are cleanup facilitated by straight-forward attribute handling.
This is a minor [breaking-change] for users of `quote_stmt!` (returns `Option<P<Stmt>>` now) and some of the public methods in `Parser` (a few `Vec<Attribute>` arguments/returns were removed).

r? @nikomatsakis
2015-03-16 22:13:52 +00:00
bors 1760e8749a Auto merge of #23342 - apasel422:23327, r=alexcrichton
closes #23327
2015-03-16 19:35:42 +00:00
Alex Crichton b3a44859ec std: Stabilize the Write::flush method
The [associated RFC][rfc] for possibly splitting out `flush` has been closed and
as a result there are no more blockers for stabilizing this method, so this
commit marks the method as such.

[rfc]: https://github.com/rust-lang/rfcs/pull/950
2015-03-16 11:51:57 -07:00
Tobias Bucher 1b894c65de Improve error handling in libflate
This removes the error case of the compression functions, the only errors that
can occur are incorrect parameters or an out-of-memory condition, both of which
are handled with panics in Rust.

Also introduces an extensible `Error` type instead of returning an `Option`.
2015-03-16 19:15:20 +01:00
bors bde09eea35 Auto merge of #23347 - aturon:stab-misc, r=alexcrichton
This commit deprecates the `count`, `range` and `range_step` functions
in `iter`, in favor of range notation. To recover all existing
functionality, a new `step_by` adapter is provided directly on `ops::Range`
and `ops::RangeFrom`.

[breaking-change]

r? @alexcrichton
2015-03-16 17:02:11 +00:00
Tamir Duberstein c1f6951826 Regression test for #13077
Closes #13077.
2015-03-16 07:35:24 -07:00
Tamir Duberstein 2522207a99 Regression test for #16922
Closes #16922.
2015-03-16 07:35:24 -07:00
Tamir Duberstein ef343645c6 Regression test for #20714
Closes #20714.
2015-03-16 07:35:24 -07:00
Tamir Duberstein c986199425 Regression test for #20396
Closes #20396.
2015-03-16 07:35:23 -07:00
Tamir Duberstein 1d31f31d10 Regression test for #20261
Closes #20261.
2015-03-16 07:35:23 -07:00
Tamir Duberstein 1759cfa01c Consistent spacing 2015-03-16 07:35:23 -07:00
Tamir Duberstein a19bbca092 Regression test for #20225
Closes #20225.
2015-03-16 07:35:23 -07:00
Tamir Duberstein 3a93bdb92c Regression test for #19982
Closes #17165, #19982.
2015-03-16 07:35:23 -07:00
Tamir Duberstein b9f5711a8a Regression test for #18919
Closes #18919.
2015-03-16 07:35:22 -07:00
Tamir Duberstein a4fa901dab Regression test for #13407
Closes #13407.
2015-03-16 07:35:22 -07:00
Tamir Duberstein 802e7073b7 Regression test for #11820
Closes #11820.
2015-03-16 07:35:22 -07:00
Tamir Duberstein a17f061b13 Regression test for #9951
Closes #9951.
2015-03-16 07:35:20 -07:00
bors cc789193e1 Auto merge of #23395 - bluss:tuple-macro, r=alexcrichton
Remove the unused parts of the tuple macro in libcore (for `val0` and similar removed methods). Also adjust the module docs accordingly.
2015-03-16 14:29:13 +00:00
Andrew Paseltiner 90f06ae33f document undefined collection behavior with interior mutability
closes #23327
2015-03-16 09:55:41 -04:00
Corey Richardson 3e01b9e194 Add test for #7950
Closes #7950
2015-03-16 03:33:12 -04:00
Nicholas cbd37d8980 [BREAKING] Rename two instances of MAP_NONRESERVE
To the correct MAP_NORESERVE. Every other thing is known as MAP_NORESERVE, so this is just a basic typo.

I really doubt this will break anybody's but my own code.
2015-03-15 23:03:18 -07:00
Nick Cameron 1fd38c181a Reviewer changes 2015-03-16 17:01:12 +13:00
bors cd3faf38ee Auto merge of #23394 - tanadeau:remove-old_io-notes, r=alexcrichton
r? @alexcrichton
2015-03-16 03:55:13 +00:00
bors b1eadf3f1d Auto merge of #23396 - semarie:remove-sized-bounds, r=sfackler
cc @alexcrichton
2015-03-16 01:23:30 +00:00
Nick Cameron 2df1ceb001 resolve: factor out resolve imports to its own module 2015-03-16 11:03:54 +13:00
Nick Cameron 432011d143 Fallout in testing. 2015-03-16 11:03:54 +13:00
Nick Cameron 170ccd615f Error if pub use references a private item.
[breaking-change]

Closes #23266
2015-03-16 11:03:54 +13:00
Nick Cameron 73afbef3aa Misc tidy ups in resolve 2015-03-16 11:03:54 +13:00
bors c62ae87db2 Auto merge of #23206 - nagisa:print-io, r=alexcrichton
r? @alexcrichton or @aturon 

This still needs to somehow figure out how to avoid unstable warnings arising from the use of unstable functions. I tried to use `#[allow_internal_unstable]` but it still spits out warnings as far as I can see. @huonw (I think you implemented it) does `#[allow_internal_unstable]` not work for some reason or am I using it incorrectly?
2015-03-15 21:16:04 +00:00