1
Fork 0
Commit graph

12502 commits

Author SHA1 Message Date
Pietro Albini
401ee42893
Rollup merge of #55328 - raphlinus:copysign_typo, r=joshtriplett
Fix doc for new copysign functions

Thanks to @LukasKalbertodt for catching this. Addresses a comment raised in #55169 after it was merged.
2018-10-25 14:31:21 +02:00
Pietro Albini
4f14bfdc73
Rollup merge of #55269 - matthiaskrgr:typos_oct, r=zackmdavis
fix typos in various places
2018-10-25 14:31:13 +02:00
Pietro Albini
f740b8a4de
Rollup merge of #55247 - peterjoel:peterjoel-prim-char-doc-example, r=joshtriplett
Clarified code example in char primitive doc

The example was not as clear as it could be because it was making an assumption about the structure of the data in order to multiply the number of elements in the slice by the item size. This change demonstrates the idea more straightforwardly, without needing a calculation, by just comparing the size of the slices.
2018-10-25 14:31:07 +02:00
Pietro Albini
49eb443b3b
Rollup merge of #55200 - octronics:gh51430, r=kennytm
Documents `From` implementations for `Stdio`

This PR solves part of #51430 by adding a basic summary and an example to each `impl From` inside `process` module (`ChildStdin`, `ChildStdout`, `ChildStderr`, `File`).

It does not document if the conversions allocate memory and how expensive they are.
2018-10-25 14:31:04 +02:00
Pietro Albini
699f591a16
Rollup merge of #54965 - chathaway-codes:update-tcp-stream-docs, r=GuillaumeGomez
update tcp stream documentation

A small styling issue that seemed inconsistent here when compared to other places (such as https://doc.rust-lang.org/beta/std/net/struct.TcpListener.html).
2018-10-25 14:30:59 +02:00
Pietro Albini
3bcfa07021
Rollup merge of #53931 - iirelu:keyword-docs, r=steveklabnik
Gradually expanding libstd's keyword documentation

I'm working on adding new keywords to the documentation and refreshing the incomplete older ones, and I'm hoping that I can eventually add all the standalone-usable keywords after a bunch of incremental work. It would be cool to see the keywords section of std's docs be a definitive reference as to what each keyword means when you see it, and that's what I'm aiming towards with this work.

I'm far from a Rust expert so there will inevitably be things to fix in this, also I'm not sure if this should be a bunch of quickly-merged PRs or one gradually-updated PR that gets merged once it's done.
2018-10-25 14:30:58 +02:00
Raph Levien
538f65eb61 Fix doc for new copysign functions
Thanks to @LukasKalbertodt for catching this. Addresses a comment
raised in #55169 after it was merged.
2018-10-24 15:19:23 -07:00
OCTronics
0b82e03a88 Documents From implementations for Stdio
Add a basic summary and an example to From `ChildStdin`, `ChildStdout`,
`ChildStderr`, `File` implementations.
2018-10-24 22:02:32 +02:00
iirelu
320ec8137e Hopefully fix compile error
This was added in the fortnight this PR spent stale. I'm hoping this
one-liner fixes it.
2018-10-23 22:27:02 +02:00
Matthias Krüger
4972beaf65 fix typos in various places 2018-10-23 15:56:25 +02:00
Peter Hall
0f6e2741f6
Clarified code example
The example was not as clear as it could be because it was making an assumption about the structure of the data in order to multiply the number of collection elements by the item size. This change demonstrates the idea more straightforwardly, without the calculation.
2018-10-21 18:53:09 +01:00
bors
ca2639e82e Auto merge of #55014 - ljedrz:lazyboye_unwraps, r=matthewjasper
Prefer unwrap_or_else to unwrap_or in case of function calls/allocations

The contents of `unwrap_or` are evaluated eagerly, so it's not a good pick in case of function calls and allocations. This PR also changes a few `unwrap_or`s with `unwrap_or_default`.

An added bonus is that in some cases this change also reveals if the object it's called on is an `Option` or a `Result` (based on whether the closure takes an argument).
2018-10-20 11:22:48 +00:00
kennytm
399314d802
Rollup merge of #55169 - raphlinus:copysign, r=joshtriplett
Add a `copysign` function to f32 and f64

This patch adds a `copysign` function to the float primitive types. It is an exceptionally useful function for writing efficient numeric code, as it often avoids branches, is auto-vectorizable, and there are efficient intrinsics for most platforms.

I think this might work as-is, as the relevant `copysign` intrinsic is already used internally for the implementation of `signum`. It's possible that an implementation might be needed in japaric/libm for portability across all platforms, in which case I'll do that also.

Part of the work towards #55107
2018-10-19 16:47:51 +08:00
ljedrz
d28aed6dc4 Prefer unwrap_or_else to unwrap_or in case of function calls/allocations 2018-10-19 09:45:45 +02:00
Raph Levien
f08db6bf1e Add must_use on copysign
Added a #[must_use] annotation on copysign, per review feedback.
2018-10-18 08:35:09 -07:00
jD91mZM2
51e2a63faf
Fix tidy checks 2018-10-18 16:58:09 +02:00
jD91mZM2
91c1b7a929
Revert liblibc submodule url 2018-10-18 16:54:43 +02:00
jD91mZM2
9d42b1bf04
Interpret shebangs on redox
This is no longer handled on the kernel side
2018-10-18 16:32:42 +02:00
Jeremy Soller
8c277d843c
Don't forget to close executable file 2018-10-18 16:30:44 +02:00
Jeremy Soller
b400005861
Remove unused type parameter 2018-10-18 16:29:45 +02:00
Jeremy Soller
8d2af4a545
Update to new system calls and enviromental variables 2018-10-18 16:29:42 +02:00
kennytm
e4ac447851
Rollup merge of #54646 - vn971:fix_std_thread_sleep, r=frewsxcv
improve documentation on std:🧵:sleep
2018-10-18 12:54:42 +08:00
Raph Levien
9a2e7026dc Fix inconsistent documentation
I improved the f32 version and made a copy-paste error for f64.
2018-10-17 21:09:55 -07:00
Raph Levien
0e6c3f29be Add a copysign function to f32 and f64
This patch adds a `copysign` function to the float primitive types.
It is an exceptionally useful function for writing efficient numeric
code, as it often avoids branches, is auto-vectorizable, and there
are efficient intrinsics for most platforms.

I think this might work as-is, as the relevant `copysign` intrinsic
is already used internally for the implementation of `signum`. It's
possible that an implementation might be needed in japaric/libm for
portability across all platforms, in which case I'll do that also.

Part of the work towards #55107
2018-10-17 18:15:00 -07:00
Simon Sapin
a0df4204c4 Implement FromStr for PathBuf
Initially landed in https://github.com/rust-lang/rust/pull/48292
and reverted in https://github.com/rust-lang/rust/pull/50401.
This time, use `std::string::ParseError` as suggested in
https://github.com/rust-lang/rust/issues/44431#issuecomment-428112632
2018-10-17 15:54:00 +02:00
oliver-giersch
7849aeddb9
adds tracking issue number 2018-10-16 22:42:14 +02:00
oliver-giersch
30bfdc8720
Merge pull request #5 from oliver-giersch/master
sync with upstream
2018-10-15 14:38:34 +02:00
oliver-giersch
ebb9d289db
adds feature gate to doc-test (example) 2018-10-15 14:14:17 +02:00
oliver-giersch
ee5703cbbc
adds missing method call parentheses 2018-10-15 13:47:27 +02:00
oliver-giersch
9d7a83862b
fixes misplaced semicolon 2018-10-15 13:22:39 +02:00
oliver-giersch
986549e9f5
adds doc for Builder::spawn_unchecked 2018-10-15 12:48:24 +02:00
oliver-giersch
bf9dc98655
remove unnecessary lifetime bounds
generic lifetime bound `'a` can be inferred.
2018-10-14 14:28:01 +02:00
Diana
1b355a8976
Fix incorrect link in println! documentation
The eprintln! link was incorrectly linking to eprint! instead
2018-10-14 08:14:21 -04:00
oliver-giersch
a52b474b52
Update mod.rs
removes trailing whitespaces, replaces TODO with FIXME
2018-10-13 18:24:47 +02:00
oliver-giersch
719a59586a
Update mod.rs
removes unnecessary `unsafe`, adds `unstable` attribute
2018-10-13 17:28:47 +02:00
bors
f51752774b Auto merge of #54951 - alexcrichton:more-wasm-threads, r=sfackler
std: Implement TLS for wasm32-unknown-unknown

This adds an implementation of thread local storage for the
`wasm32-unknown-unknown` target when the `atomics` feature is
implemented. This, however, comes with a notable caveat of that it
requires a new feature of the standard library, `wasm-bindgen-threads`,
to be enabled.

Thread local storage for wasm (when `atomics` are enabled and there's
actually more than one thread) is powered by the assumption that an
external entity can fill in some information for us. It's not currently
clear who will fill in this information nor whose responsibility it
should be long-term. In the meantime there's a strategy being gamed out
in the `wasm-bindgen` project specifically, and the hope is that we can
continue to test and iterate on the standard library without committing
to a particular strategy yet.

As to the details of `wasm-bindgen`'s strategy, LLVM doesn't currently
have the ability to emit custom `global` values (thread locals in a
`WebAssembly.Module`) so we leverage the `wasm-bindgen` CLI tool to do
it for us. To that end we have a few intrinsics, assuming two global values:

* `__wbindgen_current_id` - gets the current thread id as a 32-bit
  integer. It's `wasm-bindgen`'s responsibility to initialize this
  per-thread and then inform libstd of the id. Currently `wasm-bindgen`
  performs this initialization as part of the `start` function.
* `__wbindgen_tcb_{get,set}` - in addition to a thread id it's assumed
  that there's a global available for simply storing a pointer's worth
  of information (a thread control block, which currently only contains
  thread local storage). This would ideally be a native `global`
  injected by LLVM, but we don't have a great way to support that right
  now.

To reiterate, this is all intended to be unstable and purely intended
for testing out Rust on the web with threads. The story is very likely
to change in the future and we want to make sure that we're able to do
that!
2018-10-13 14:28:48 +00:00
oliver-giersch
fbb95689d6
adds unsafe thread::Builder::spawn_unchecked function
moves code for `thread::Builder::spawn` into new public unsafe function `spawn_unchecked` and transforms `spawn` into a safe wrapper.
2018-10-13 14:34:31 +02:00
kennytm
8e3f189180
Rollup merge of #54956 - kzys:close-paren, r=varkor
"(using ..." doesn't have the matching ")"

Fixes #54948.
2018-10-12 22:04:14 +08:00
kennytm
80ee322a20
Rollup merge of #54913 - RalfJung:unwind-safe, r=alexcrichton
doc fix: it's auto traits that make for automatic implementations

Being a marker trait is not good enough (that just means "no items in the trait").

r? @alexcrichton who [originally wrote these docs](0a13f1abaf).
2018-10-12 22:04:08 +08:00
kennytm
ef7f77d53d
Rollup merge of #54891 - rust-lang:SimonSapin-patch-1, r=nagisa
Fix tracking issue for Once::is_completed

https://github.com/rust-lang/rust/pull/53027 was merged without a tracking issue. I just filed https://github.com/rust-lang/rust/issues/54890. CC @matklad
2018-10-12 22:04:07 +08:00
kennytm
8455468d0d
Rollup merge of #54755 - lucasloisp:document-reference-address-eq, r=QuietMisdreavus
Documents reference equality by address (#54197)

Clarification of the use of `ptr::eq` to test equality of references via address by pointer coercion,  regarding issue #54197 .

The same example as in `ptr::eq` docs is shown here to clarify that
`PartialEq` compares values pointed-to instead of via address (which can be desired in some cases)
2018-10-12 22:04:00 +08:00
Charles Hathaway
4530b8c56c
Small changes to fix documentation auto compile issues 2018-10-11 15:35:48 -04:00
Vasya Novikov
7a0fa95336
improve docs on thread::sleep 2018-10-11 21:37:30 +03:00
Alex Crichton
cbe9f33b8b std: Implement TLS for wasm32-unknown-unknown
This adds an implementation of thread local storage for the
`wasm32-unknown-unknown` target when the `atomics` feature is
implemented. This, however, comes with a notable caveat of that it
requires a new feature of the standard library, `wasm-bindgen-threads`,
to be enabled.

Thread local storage for wasm (when `atomics` are enabled and there's
actually more than one thread) is powered by the assumption that an
external entity can fill in some information for us. It's not currently
clear who will fill in this information nor whose responsibility it
should be long-term. In the meantime there's a strategy being gamed out
in the `wasm-bindgen` project specifically, and the hope is that we can
continue to test and iterate on the standard library without committing
to a particular strategy yet.

As to the details of `wasm-bindgen`'s strategy, LLVM doesn't currently
have the ability to emit custom `global` values (thread locals in a
`WebAssembly.Module`) so we leverage the `wasm-bindgen` CLI tool to do
it for us. To that end we have a few intrinsics, assuming two global values:

* `__wbindgen_current_id` - gets the current thread id as a 32-bit
  integer. It's `wasm-bindgen`'s responsibility to initialize this
  per-thread and then inform libstd of the id. Currently `wasm-bindgen`
  performs this initialization as part of the `start` function.
* `__wbindgen_tcb_{get,set}` - in addition to a thread id it's assumed
  that there's a global available for simply storing a pointer's worth
  of information (a thread control block, which currently only contains
  thread local storage). This would ideally be a native `global`
  injected by LLVM, but we don't have a great way to support that right
  now.

To reiterate, this is all intended to be unstable and purely intended
for testing out Rust on the web with threads. The story is very likely
to change in the future and we want to make sure that we're able to do
that!
2018-10-11 09:57:55 -07:00
Charles Hathaway
c514b627e4
update tcp stream documentation 2018-10-10 11:16:01 -04:00
Kazuyoshi Kato
da17e07c14 "(using ..." doesn't have the matching ")"
Fixes #54948.
2018-10-10 01:09:18 -07:00
Ralf Jung
54a3583da7 it's auto traits that make for automatic implementations 2018-10-08 17:44:33 +02:00
bors
423d810986 Auto merge of #54871 - u32i64:master, r=frewsxcv
Remove unnecessary comma in `libstd/thread/mod.rs` doc comment

Fix typo in `libstd/thread/mod.rs` doc comment: remove unnecessary comma.
2018-10-08 12:17:36 +00:00
bors
b9adc3327e Auto merge of #53517 - phungleson:fix-impl-from-for-error, r=frewsxcv
Add doc for impl From for Error

As part of issue #51430 (cc @skade).

The impl is very simple, let me know if we need to go into any details.
2018-10-07 22:00:04 +00:00
bors
0ee045ea09 Auto merge of #54835 - oli-obk:mögen_konstante_funktionen_doch_bitte_endlich_stabil_sein, r=Centril
Stabilize `min_const_fn`

tracking issue: #53555

r? @Centril
2018-10-07 13:37:07 +00:00