Commit graph

11274 commits

Author SHA1 Message Date
Felix Raimundo
b76b9e1467 Expands detach documentation in thread::JoinHande.
Part of #29378 .

- Adds an example of a thread detaching.
- Expands what `detaching` means.
2017-06-02 12:26:04 +02:00
Corey Farwell
eb48ee72db Rewrite Receiver::try_iter doc example to show resulting values. 2017-06-02 00:21:32 -04:00
Corey Farwell
d3f3e26db0 Rewrite Receiver::iter doc example to show resulting values. 2017-06-02 00:21:27 -04:00
Brian Anderson
da100fe0bb Support VS 2017
Fixes #38584
2017-06-01 20:41:38 +00:00
bors
4ed2edaafe Auto merge of #42281 - eddyb:well-adjusted, r=nikomatsakis
Decompose Adjustment into smaller steps and remove the method map.

The method map held method callee information for:
* actual method calls (`x.f(...)`)
* overloaded unary, binary, indexing and call operators
* *every overloaded deref adjustment* (many can exist for each expression)

That last one was a historical ~~accident~~ hack, and part of the motivation for this PR, along with:
* a desire to compose adjustments more freely
* containing the autoderef logic better to avoid mutation within an inference snapshot
* not creating `TyFnDef` types which are incompatible with the original one
  * i.e. we used to take a`TyFnDef`'s `for<'a> &'a T -> &'a U` signature and instantiate `'a` using a region inference variable, *then* package the resulting `&'b T -> &'b U` signature in another `TyFnDef`, while keeping *the same* `DefId` and `Substs`
* to fix #3548 by explicitly writing autorefs for the RHS of comparison operators

Individual commits tell their own story, of "atomic" changes avoiding breaking semantics.

Future work based on this PR could include:
* removing the signature from `TyFnDef`, now that it's always "canonical"
  * some questions of variance remain, as subtyping *still* treats the signature differently
* moving part of the typeck logic for methods, autoderef and coercion into `rustc::traits`
* allowing LUB coercions (joining multiple expressions) to "stack up" many adjustments
* transitive coercions (e.g. reify or unsize after multiple steps of autoderef)

r? @nikomatsakis
2017-06-01 11:34:13 +00:00
Eduard-Mihai Burtescu
58632f3c1c tests: fix fallout from empowering unused_allocation in comparisons. 2017-06-01 08:59:47 +03:00
Corey Farwell
bcd1fe56c7 Rewrite doc examples for Receiver::recv_timeout. 2017-05-31 23:01:55 -04:00
Irfan Hudda
18fadb61c4 Simplify helper functions
Based on @scottmcm 's suggestion
2017-05-31 22:25:15 +05:30
king6cong
e66388d21f doc rewording 2017-05-26 19:22:25 +08:00
Mark Simulacrum
2bca4fa47d Rollup merge of #42198 - GuillaumeGomez:os-str-doc, r=QuietMisdreavus
Add missing urls for OsStr docs

r? @rust-lang/docs
2017-05-24 19:50:10 -06:00
Mark Simulacrum
73d4b19565 Rollup merge of #42149 - dvyukov:license, r=brson
libstd/sync/mpsc: relicense under rust license

These files are licensed under a different license
than the rest of the codebase. This causes potential
issues and inconveniences.
Relicense these files under the standard license.
I hold original copyright on that code.

Fixes #36556
2017-05-24 19:50:04 -06:00
Mark Simulacrum
81b8e093fe Rollup merge of #42142 - ids1024:redox, r=aturon
Implement requires_synchronized_create() for Redox

This was breaking the libstd build for Redox.
2017-05-24 19:50:03 -06:00
Mark Simulacrum
8bac98a252 Rollup merge of #42141 - ids1024:nobacktrace, r=aturon
Fix building std without backtrace feature, which was broken in ca8b754

Fixes #42139
2017-05-24 19:50:02 -06:00
Mark Simulacrum
f4780a3f7c Rollup merge of #41980 - gamazeps:thread-send, r=steveklabnik
[Doc] Add `'static` and `Send` constraints explanations to `thread::spawn`

Part of #29378.

Explains why the constraints on the closure and its return value are `'static` and `Send`.

Allows to tick of `thread::spawn` from the list of things to document in the `thread` module.

r? @steveklabnik
2017-05-24 19:49:59 -06:00
Guillaume Gomez
55c3f0b12e Add missing urls for OsStr docs 2017-05-24 19:33:40 +02:00
Guillaume Gomez
819acb5141 Add missing links for CStr and CString 2017-05-22 23:23:27 +02:00
Dmitry Vyukov
0b85b64d6b libstd/sync/mpsc: relicense under rust license
These files are licensed under a different license
than the rest of the codebase. This causes potential
issues and inconveniences.
Relicense these files under the standard license.
I hold original copyright on that code.

Fixes #36556
2017-05-22 09:27:39 +02:00
bors
f6cc40f168 Auto merge of #41904 - sfackler:1.18-stabilization, r=alexcrichton
Stabilize library features for 1.18.0

Closes #38863
Closes #38980
Closes #38903
Closes #36648

r? @alexcrichton

@rust-lang/libs
2017-05-21 22:06:08 +00:00
Ian Douglas Scott
f4147e587d
Implement requires_synchronized_create() for Redox
This was breaking the libstd build for Redox.
2017-05-21 13:23:42 -07:00
Ian Douglas Scott
66237afce4
Fix building without backtrace feature, which was broken in ca8b754
Fixes #42139
2017-05-21 12:38:07 -07:00
Steven Fackler
7c2cd93b2b Stabilize library features for 1.18.0
Closes #38863
Closes #38980
Closes #38903
Closes #36648
2017-05-20 21:58:47 -07:00
Mark Simulacrum
382c0eb810 Rollup merge of #42127 - clarcharr:lifetimes, r=Mark-Simulacrum
Remove unused lifetimes.

This was a typo that made it onto master. Noted by @dtolnay in #42127.

Also note #41960 which suggests warning these.
2017-05-20 17:48:16 -06:00
Mark Simulacrum
9ce4616960 Rollup merge of #42091 - maccoda:maccoda/env_docs, r=frewsxcv
Improving std::env docs

Addresses #29351.
Hopefully this addresses the following points:
> -  iterators should use the standard iterator boilerplate like https://doc.rust-lang.org/std/iter/struct.Map.html, this applies to all structs except for JoinPathsError
> -  JoinPathsError should properly link the function it comes from and use language similar to https://doc.rust-lang.org/std/io/struct.Error.html
> -  same wording issues with VarError
> - functions need to ensure linkage to things they refer to in their descriptions
> - Explain the difference between `os` and non-`os` structs and methods
2017-05-20 17:48:13 -06:00
Alexis Beingessner
e847d46bcb migrate everything to using mem::needs_drop 2017-05-20 19:27:30 -04:00
Clar Charr
6119f9856c Remove unused lifetimes. 2017-05-20 15:32:11 -04:00
bors
272e77f035 Auto merge of #42111 - ollie27:stab, r=Mark-Simulacrum
Correct some stability versions

These were found by running tidy on stable versions of rust and finding
features stabilised with the wrong version numbers.
2017-05-20 15:42:43 +00:00
Oliver Middleton
2f703e4304 Correct some stability versions
These were found by running tidy on stable versions of rust and finding
features stabilised with the wrong version numbers.
2017-05-20 08:38:39 +01:00
Dylan Maccora
55d75c42ef Merge branch 'master' into maccoda/env_docs 2017-05-20 09:42:37 +10:00
Dylan Maccora
b69b6413af Fixed link issue. 2017-05-20 08:32:10 +10:00
Mark Simulacrum
4c2273a081 Rollup merge of #42079 - seeekr:patch-1, r=steveklabnik
fix typo in libstd/sync/mpsc/mod.rs docs
2017-05-19 14:16:21 -06:00
Mark Simulacrum
6a2bf05cbc Rollup merge of #42070 - tshepang:env-misc, r=BurntSushi
misc doc improvements for std::env
2017-05-19 14:16:20 -06:00
Mark Simulacrum
0011828334 Rollup merge of #42056 - sylvestre:master, r=alexcrichton
Improve the error management when /proc is not mounted

This PR does two things:
* Triggers an error on GNU/Linux & Android when /proc/self/exe doesn't exist
* Handle the error properly
2017-05-19 14:16:18 -06:00
Mark Simulacrum
862e7d4af8 Rollup merge of #42024 - citizen428:docs/update-exitstatus, r=steveklabnik
Add documentation for `ExitStatus`

As requested in #29370. r? @steveklabnik
2017-05-19 14:16:16 -06:00
Mark Simulacrum
d7a5390a67 Rollup merge of #41870 - excaliburHisSheath:iss29367-windows-docs, r=frewsxcv
Improve docs in os::windows::ffi and os::windows::fs

Part of #29367

This PR makes changes to the documentation in `os::windows::ffi` and `os::windows::fs` with the goal of fleshing them out and bringing them in line with Rust's quality standards.

r? @steveklabnik
2017-05-19 14:16:12 -06:00
David LeGare
a89292514b Fix doc test failure for OpenOptionsExt 2017-05-19 07:29:52 -05:00
David LeGare
4cd838b274 Normalize docs in windows::ffi and windows::fs
- Remove `()` parens when referencing functions in docs.
- Change some examples to be no_run instead of ignore.
- Normalize style in examples for `OpenOptionsExt`.
- Fix typo in windows mod docs.
2017-05-18 21:10:15 -05:00
Michael Kohl
b2fc7b1cbe Add documentation for ExitStatus
As requested in #29370.
2017-05-18 16:58:40 +07:00
Dylan Maccora
fb19560054 std::env docs 2017-05-18 18:26:47 +10:00
Denis Andrejew
f4e33a011e fix typo in libstd/sync/mpsc/mod.rs docs 2017-05-18 08:45:18 +02:00
Tshepang Lekhonkhobe
b9552963d1 misc doc improvements for std::env 2017-05-18 06:47:58 +02:00
Sylvestre Ledru
1b6a182cf1 Improve the error management when /proc is not mounted
This PR does two things:
* Triggers an error on GNU/Linux & Android when /proc/self/exe doesn't exist
* Handle the error properly
2017-05-17 15:14:30 +02:00
Mark Simulacrum
4c72793a20 Rollup merge of #41995 - gamazeps:thread-localkey, r=frewsxcv
[Doc] Add links to the `thread::LocalKey` doc.

Part of #29378 .

I do not know exactly what should be done for the `cleanup` part, if you have any idea I'll gladly do it.

r? @rust-lang/docs
2017-05-16 08:18:31 -06:00
Mark Simulacrum
18171a8861 Rollup merge of #41994 - gamazeps:thread-builder, r=GuillaumeGomez
[Doc] Implrove `thread::Builder`'s doc.

Part of #29378 .

- Explains *why* we would use the builder instead ofthe free function.
- Changes the parent-child explanation for a spawned-caller in `thread::Builder::spawn`
- Adds a link to `io::Result` in `thread::Builder`
- Corrects the return type doc in `thread::Builder::spawn`

r? @rust-lang/docs
2017-05-16 08:18:30 -06:00
Felix Raimundo
f92bd3dbd0 Add links to the thread::LocalKey doc.
Part of #29378 .
2017-05-15 08:10:22 +02:00
Felix Raimundo
a51777ec87 Improve thread::Builder documentation.
Part of #29378 .

- In particular explains *why* we would use the builder instead of
  the free function.
- Changes the parent-child explanation for a spawned-caller.
- Add link to `io::Result` in `thread::Builder`
- Corrects the `thread::Builder::spawn` documentation.
2017-05-14 20:13:32 +02:00
Felix Raimundo
770bd57ea5 Add 'static and Send constraints explanations to thread::spawn
Part of #29378.
2017-05-14 14:14:42 +02:00
Felix Raimundo
a9cb094879 Explain why thread::yield_now could be used.
Part of #29378.
2017-05-14 14:05:10 +02:00
Mark Simulacrum
605d727bb3 Rollup merge of #41896 - tshepang:too-long, r=steveklabnik
doc: break into 2 sentences
2017-05-12 18:57:29 -06:00
Mark Simulacrum
2519e90f95 Rollup merge of #41860 - mbrubeck:docs, r=nagisa
Remove wrong or outdated info from CString docs.

None
2017-05-12 18:57:27 -06:00
bors
39bcd6f425 Auto merge of #41684 - jethrogb:feature/ntstatus, r=alexcrichton
Windows io::Error: also format NTSTATUS error codes

`NTSTATUS` errors may be encoded as `HRESULT`, see [[MS-ERREF]](https://msdn.microsoft.com/en-us/library/cc231198.aspx). These error codes can still be formatted using `FormatMessageW` but require some different parameters to be passed in.

I wasn't sure if this needed a test and if so, how to test it. Presumably we wouldn't want to make our tests dependent on localization-dependent strings returned from `FormatMessageW`.

Users that get an `err: NTSTATUS` will need to do `io::Error::from_raw_os_error(err|0x1000_0000)` (the equivalent of [`HRESULT_FROM_NT`](https://msdn.microsoft.com/en-us/library/ms693780(VS.85).aspx))
2017-05-11 22:37:38 +00:00