Commit graph

13219 commits

Author SHA1 Message Date
Corentin Henry
fe718ef07f std::net: add warning in Ipv4addr::is_reserved() documentation
See @the8472 comment's on Github:
https://github.com/rust-lang/rust/pull/60145#issuecomment-485424229

> I don't think is_reserved including ranges marked for future use is
> a good idea since those future uses may be realized at at some point
> and then old software with is_reserved filters may have false
> positives. This is not a hypothetical concern, such issues have been
> encountered before when IANA assigned previously reserved /8 address
> blocks.
2019-04-23 10:41:25 +02:00
Corentin Henry
634dcd00b4 std::net: add warning in Ipv6Addr::is_unicast_site_local() doc
site-local addresses are deprecated, so we should warn users about it.
2019-04-23 10:38:26 +02:00
bors
0f11354a9c Auto merge of #60172 - varkor:tidy-double-trailing-newline, r=kennytm
Disallow double trailing newlines in tidy

This wasn't done previously in https://github.com/rust-lang/rust/pull/47064#issuecomment-354533010 as it affected too many files, but I think it's best to fix it now so that the number of files with double trailing newlines doesn't keep increasing.

r? kennytm
2019-04-23 06:40:12 +00:00
bors
3bee49f42b Auto merge of #60121 - davazp:fix-sync-all-macos, r=KodrAus
Fix sync_all on macos/ios

`sync_all` should flush all metadata in macos/ios, so it should call `fcntl` with the `F_FULLFSYNC` flag as `sync_data` does.

Note that without this `sync_data` performs more flushes than `sync_all` on macos/ios.
2019-04-23 03:34:21 +00:00
Jakub Kądziołka
7af0fccc88
Reexport IntErrorKind in std 2019-04-23 00:15:43 +02:00
varkor
7f0f0e31ec Remove double trailing newlines 2019-04-22 16:57:01 +01:00
Corentin Henry
66627777b5 std::net: tests for Ipv4addr::is_reserved()
Also add tests to IpAddr for make sure these addresses are not global
or multicast.
2019-04-22 17:54:27 +02:00
Corentin Henry
a2bead8761 std::net: tests for Ipv4addr::is_ietf_protocol_assignment()
Also add tests to IpAddr to make sure these addresses are not global.
2019-04-22 17:41:43 +02:00
Corentin Henry
9dcfd9f58c std::net: tests for Ipv4addr::is_benchmarking()
also add test to Ipaddr, making sure that these addresses are not
global.
2019-04-22 17:41:37 +02:00
Corentin Henry
40d0127a09 std::net: tests for Ipv6addr::is_unicast_link_local{_strict}() 2019-04-22 17:41:32 +02:00
Corentin Henry
99d9bb640f std::net: fix tests for site-local ipv6 addresses
Ipv6Addr::is_unicast_global() now returns `true` for unicast site
local addresses, since they are deprecated.
2019-04-22 16:03:39 +02:00
Corentin Henry
c302d2c78f std::net: fix Ipv4addr::is_global() tests
Ipv4addr::is_global() previously considered 0/8 was global, but has
now been fixed, so these tests needed to be fixed as well.
2019-04-22 16:03:39 +02:00
Corentin Henry
c34bcc658b std::net: use macros to test ip properties 2019-04-22 16:03:39 +02:00
Corentin Henry
8106320009 std::net: fix documentation markdown 2019-04-22 16:03:39 +02:00
Corentin Henry
9f6a747b32 std::net: fix Ipv4Addr::is_global()
As per @therealbstern's comment[0]:

The implementation of Ipv4::is_global is not complete, according to the
IANA IPv4 Special-Purpose Address Registry.

        - It compares the address to 0.0.0.0, but anything in 0.0.0.0/8
          should not be considered global.
                - 0/8 is not global and is currently forbidden because
                  some systems used to treat it as the local network.
                - The implementation of Ipv4::is_unspecified is correct.
                  0.0.0.0 is the unspecified address.
        - It does not examine 100.64.0.0/10, which is "Shared Address
          Space" and not global.
        - Ditto 192.0.0.0/24 (IETF Protocol Assignments), except for
          192.0.0.9/32 and 192.0.0.10/32, which are carved out as
          globally reachable.
        - 198.18.0.0/15 is for "Benchmarking" and should not be globally
          reachable.
        - 240.0.0.0/4 is reserved and not currently reachable
2019-04-22 16:03:39 +02:00
Corentin Henry
67291cc971 std::net: add Ipv4Addr::is_shared() 2019-04-22 16:03:39 +02:00
Corentin Henry
f87b96773b std::net: add Ipv4Addr::is_ietf_protocol_assignment() 2019-04-22 16:03:39 +02:00
Corentin Henry
de3cf0d5eb std::net: add Ipv4Addr::is_benchmarking() 2019-04-22 16:03:39 +02:00
Corentin Henry
8f679977e0 std::net: add Ipv4Addr::is_reserved() 2019-04-22 16:03:32 +02:00
Ralf Jung
54aefc6a2d use SecRandomCopyBytes on macOS in Miri 2019-04-21 21:54:00 +02:00
bors
33fe1131ca Auto merge of #59826 - llogiq:multi-dbg, r=SimonSapin
allow multiple args to `dbg!(..)`

This closes #59763
2019-04-20 20:55:29 +00:00
Corentin Henry
aea687c314 std::net: fix doc markdown in Ipv6Addr::is_unique_local() 2019-04-20 11:19:10 +02:00
Corentin Henry
1f0aa4043b std::net: add Ipv6Addr::is_unicast_link_local_strict()
RFC 4291 is a little unclear about what is a unicast link local address.
According to section 2.4, the entire fe80::/10 range is reserved for
these addresses, but section 2.5.3 defines a stricter format for such
addresses.

After a discussion[0] is has been decided to add a different method for
each definition, so this commit:

  - renames is_unicast_link_local() into is_unicast_link_local_strict()
  - relaxed the check in is_unicast_link_local()

[0]: https://github.com/rust-lang/rust/issues/27709#issuecomment-400370706
2019-04-20 11:19:10 +02:00
Corentin Henry
5aea18411e std::net: improve Ipv6Addr::is_unicast_site_local() doc
- quote the RFC
- add a link to the RFC
- fix markdown
2019-04-20 11:19:10 +02:00
Corentin Henry
02d815f3ce std::net: site-local ipv6 prefixes are global 2019-04-20 11:19:10 +02:00
Kyle Huey
3e86cf36b5 Add implementations of last in terms of next_back on a bunch of DoubleEndedIterators.
r?Manishearth
2019-04-19 21:52:43 -07:00
Andre Bogus
b641fd374e extend ui test 2019-04-19 21:12:50 +02:00
David Vázquez Púa
d602a6b942 Fix sync_all on macos/ios
sync_all should flush all metadata in macos/ios, so it should call
fcntl with the F_FULLFSYNC flag as sync_data does.

Fixes #55920
2019-04-19 20:42:52 +02:00
Mazdak Farrokhzad
08ee04e71e
Rollup merge of #60078 - matklad:patch-1, r=shepmaster
Use more realistic example for thread builder

Stack size of 10 **bytes** does not make any sense: the minimal possible stack size is greater anyway.
2019-04-19 06:03:24 +02:00
Mazdak Farrokhzad
2171250ca4
Rollup merge of #60041 - jnferner:patch-1, r=shepmaster
Simplify the returning of a Result a bit
2019-04-19 06:03:14 +02:00
Aleksey Kladov
be69785ea2
Use more realistic example for thread builder
Stack size of 10 **bytes** does not make any sense: the minimal possible stack size is greater anyway.
2019-04-18 14:58:38 +03:00
Jan Nils Ferner
379c5412ef
Simplify the returning of a Result a bit 2019-04-18 07:33:31 +02:00
Mazdak Farrokhzad
43985d965a
Rollup merge of #59984 - gluyas:collections-with_capacity-doc-fix, r=rkruppe
Remove collection-specific `with_capacity` documentation from `std::collections`

Fixes #59931

The style of `std::collections` module doc is very much a beginner friendly guide, and documenting niche, collection-specific behaviour feels out of place, if not brittle.

The note about `VecDeque` is outdated (see issue), and while `Vec` probably won't change its guarantees any time soon, the users who are interested in its allocation properties will find that in its own documentation.
2019-04-18 00:23:38 +02:00
Nathan Kleyn
8951eea9b7
Document Item type in std::env::SplitPaths iterator.
Previously there wasn't any documentation to show what the type of
`Item` was inside `std::env::SplitPaths`. Now, in the same format as
other examples of docs in `srd` for `Iterator#Item`, we mention the
type.

This fixes #59543.
2019-04-17 08:11:37 +01:00
Jethro Beekman
d0a1c2d3e0 SGX target: change re-entry abort logic 2019-04-16 18:18:32 -07:00
Ed Barnard
f1da89a667 Add a comment explaining why SecRandomCopyBytes is not used on MacOS 2019-04-16 13:58:44 +01:00
Mazdak Farrokhzad
c712d38634
Rollup merge of #59955 - RalfJung:stdsimd, r=alexcrichton
bump stdsimd; make intra_doc_link_resolution_failure an error again; make lints more consistent

I made `intra_doc_link_resolution_failure` warn so that it would properly respect `deny-warnings = false` in `config.toml`.  `#[warn]` still become errors with `-D warnings` so I thought this was fine.

Turns out however that we don't pass `-D warnings` when running rustdoc, so for additional rustdoc-lints we need to set them to `deny`.

Also sue the opportunity to make the lint flags more consistent between libcore, liballoc, libstd.

Cc @gnzlbg for the *big* stdsimd update.
2019-04-15 18:23:45 +02:00
Mazdak Farrokhzad
92702c1cff
Rollup merge of #59648 - alex:must-use-result, r=alexcrichton
Add must_use annotations to Result::is_ok and is_err

Discussed in #59610
2019-04-15 18:23:39 +02:00
Marc
64dc041511 Remove collection-specific with_capacity doc from std::collections
Fixes #59931
2019-04-15 20:30:52 +12:00
Mazdak Farrokhzad
271eb8fc5a
Rollup merge of #59906 - czipperz:bufwriter-use-getmut, r=kennytm
Make BufWriter use get_mut instead of manipulating inner in Write implementation

`get_mut` allows us to abstract over the implementation detail of inner being optional.
2019-04-14 17:49:24 +02:00
Ralf Jung
8ef7ca1302 make lint levels more consistent 2019-04-14 10:16:23 +02:00
Mazdak Farrokhzad
a52fce7ec8
Rollup merge of #59852 - alexcrichton:more-vectored, r=sfackler
std: Add `{read,write}_vectored` for more types

This commit implements the `{read,write}_vectored` methods on more types
in the standard library, namely:

* `std::fs::File`
* `std::process::ChildStd{in,out,err}`
* `std::io::Std{in,out,err}`
* `std::io::Std{in,out,err}Lock`
* `std::io::Std{in,out,err}Raw`

Where supported the OS implementations hook up to native support,
otherwise it falls back to the already-defaulted implementation.
2019-04-14 00:23:40 +02:00
Mazdak Farrokhzad
449697b7ff
Rollup merge of #59835 - lzutao:nonzero-signed, r=Mark-Simulacrum
Re-export NonZero signed variant in std

Closes  #59834 .
2019-04-14 00:23:39 +02:00
Mazdak Farrokhzad
715875268a
Rollup merge of #59830 - ehuss:keyword-links, r=Mark-Simulacrum
Fix links on keyword docs.

- Make links relative.
- Adjust links from old 2018-edition book.
- Fix broken link in `let` docs.
2019-04-14 00:23:37 +02:00
Mazdak Farrokhzad
8ad17ec6e4
Rollup merge of #59818 - crlf0710:eliminate_libstd_fnbox, r=cramertj
Eliminate `FnBox` usages from libstd.
2019-04-14 00:23:35 +02:00
Mazdak Farrokhzad
bdb264ff5f
Rollup merge of #59675 - SimonSapin:stable-alloc, r=alexcrichton
Stabilize the `alloc` crate.

This implements RFC 2480:

* https://github.com/rust-lang/rfcs/pull/2480
* https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md

Closes https://github.com/rust-lang/rust/issues/27783
2019-04-14 00:23:25 +02:00
Mazdak Farrokhzad
ba173135be
Rollup merge of #59892 - rylev:as-raw-fd, r=alexcrichton
Impl RawFd conversion traits for WASI TcpListener, TcpStream and UdpSocket

r? @alexcrichton
2019-04-12 20:36:18 +02:00
Simon Sapin
fc928a18ba Stabilize the alloc crate.
This implements RFC 2480:

* https://github.com/rust-lang/rfcs/pull/2480
* https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md

Closes https://github.com/rust-lang/rust/issues/27783
2019-04-12 20:07:30 +02:00
Chris Gregory
ac5e755164 Make BufWriter use get_mut instead of manipulating inner in Write implementation
get_mut allows us to abstract over the implementation detail of inner being
optional.
2019-04-11 23:57:29 -05:00
Ryan Levick
8678164483 Impl RawFd converstion traits for TcpListener, TcpStream and UdpSocket 2019-04-11 17:35:36 +02:00