-
Notifications
You must be signed in to change notification settings - Fork 12.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 5 pull requests #59653
Rollup of 5 pull requests #59653
Commits on Mar 11, 2019
-
Add initial implementation of 'sort_at_index' for slices -- analog to…
… C++'s std::nth_element (a.k.a. quickselect) Add some more notes to the documentation: - Mention that the median can be found if we used `len() / 2`. - Mention that this function is usually called "kth element" in other libraries. Address some comments in PR: - Change wording on some of the documentation - Change recursive function into a loop Update name to `partition_at_index` and add convenience return values. Address reviewer comments: - Don't swap on each iteration when searching for min/max element. - Add some docs about when we panic. - Test that the sum of the lengths of the output matches the length of the input. - Style fix for for-loop. Address more reviewer comments Fix Rng stuff for test Fix doc test build Don't run the partition_at_index test on wasm targets Miri does not support entropy for test partition_at_index
Configuration menu - View commit details
-
Copy full SHA for 3f306db - Browse repository at this point
Copy the full SHA 3f306dbView commit details
Commits on Mar 29, 2019
-
Configuration menu - View commit details
-
Copy full SHA for f5fee8f - Browse repository at this point
Copy the full SHA f5fee8fView commit details
Commits on Apr 1, 2019
-
wasi: Load arguments via syscalls
This commit switches the wasi target to loading CLI arguments via the syscalls provided by wasi rather than through the argc/argv passed to the main function. While serving the same purpose it's hoped that using syscalls will make us a bit more portable (less reliance from libstd on an external C library) as well as avoiding the need for a lock!
Configuration menu - View commit details
-
Copy full SHA for 382f9a7 - Browse repository at this point
Copy the full SHA 382f9a7View commit details -
wasi: Use raw syscalls for stdio
I've since learned that the mapping between libc fds and wasi fds are expected to be one-to-one, so we can use the raw syscalls for writing to stdout/stderr and reading from stdin! This should help ensure that we don't depend on a C library too unnecessarily.
Configuration menu - View commit details
-
Copy full SHA for 60f6cbd - Browse repository at this point
Copy the full SHA 60f6cbdView commit details -
wasi: Implement
error_string
to get readable errorsThis routes the `error_string` API to `strerror` in libc which should have more human readable descriptions.
Configuration menu - View commit details
-
Copy full SHA for 32a7684 - Browse repository at this point
Copy the full SHA 32a7684View commit details
Commits on Apr 2, 2019
-
wasi: Fill out
std::fs
module for WASIThis commit fills out the `std::fs` module and implementation for WASI. Not all APIs are implemented, such as permissions-related ones and `canonicalize`, but all others APIs have been implemented and very lightly tested so far. We'll eventually want to run a more exhaustive test suite! For now the highlights of this commit are: * The `std::fs::File` type is now backed by `WasiFd`, a raw WASI file descriptor. * All APIs in `std::fs` (except permissions/canonicalize) have implementations for the WASI target. * A suite of unstable extension traits were added to `std::os::wasi::fs`. These traits expose the raw filesystem functionality of WASI, namely `*at` syscalls (opening a file relative to an already opened one, for example). Additionally metadata only available on wasi is exposed through these traits. Perhaps one of the most notable parts is the implementation of path-taking APIs. WASI actually has no fundamental API that just takes a path, but rather everything is relative to a previously opened file descriptor. To allow existing APIs to work (that only take a path) WASI has a few syscalls to learn about "pre opened" file descriptors by the runtime. We use these to build a map of existing directory names to file descriptors, and then when using a path we try to anchor it at an already-opened file. This support is very rudimentary though and is intended to be shared with C since it's likely to be so tricky. For now though the C library doesn't expose quite an API for us to use, so we implement it for now and will swap it out as soon as one is available.
Configuration menu - View commit details
-
Copy full SHA for 38fb7a7 - Browse repository at this point
Copy the full SHA 38fb7a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac29ca7 - Browse repository at this point
Copy the full SHA ac29ca7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4122d22 - Browse repository at this point
Copy the full SHA 4122d22View commit details -
The `InlineAsm` variant is extremely rare, and `mir::Statement` often contributes significantly to peak memory usage.
Configuration menu - View commit details
-
Copy full SHA for d00d639 - Browse repository at this point
Copy the full SHA d00d639View commit details -
Rollup merge of rust-lang#55448 - Mokosha:SortAtIndex, r=bluss
Add 'partition_at_index/_by/_by_key' for slices. This is an analog to C++'s std::nth_element (a.k.a. quickselect). Corresponds to tracking bug rust-lang#55300.
Configuration menu - View commit details
-
Copy full SHA for 54c602b - Browse repository at this point
Copy the full SHA 54c602bView commit details -
Rollup merge of rust-lang#59186 - ssomers:btreeset_intersection_revis…
…ited_again, r=KodrAus improve worst-case performance of BTreeSet intersection v3 Variation of [rust-lang#59078](rust-lang#59078) with `Intersection` remaining a struct r? @scottmcm
Configuration menu - View commit details
-
Copy full SHA for a08a3a3 - Browse repository at this point
Copy the full SHA a08a3a3View commit details -
Rollup merge of rust-lang#59514 - tmandry:remove-adt-def-from-project…
…ion-elem, r=eddyb Remove adt_def from projections and downcasts in MIR As part of optimizing generator layouts in MIR, we'd like to allow downcasting generators to variants which do not have a corresponding `def_id`, since they are created by the compiler. This refactor hopes to allow that, without regressing perf. r? @eddyb
Configuration menu - View commit details
-
Copy full SHA for 420b11a - Browse repository at this point
Copy the full SHA 420b11aView commit details -
Rollup merge of rust-lang#59619 - alexcrichton:wasi-fs, r=fitzgen
wasi: Implement more of the standard library This commit fills out more of the `wasm32-unknown-wasi` target's standard library, notably the `std::fs` module and all of its internals. A few tweaks were made along the way to non-`fs` modules, but the last commit contains the bulk of the work which is to wire up all APIs to their equivalent on WASI targets instead of unconditionally returning "unsupported". After this some basic filesystem operations and such should all be working in WASI!
Configuration menu - View commit details
-
Copy full SHA for 6fe9bb1 - Browse repository at this point
Copy the full SHA 6fe9bb1View commit details -
Rollup merge of rust-lang#59630 - nnethercote:shrink-mir-Statement, r…
…=pnkfelix Shrink `mir::Statement`. The `InlineAsm` variant is extremely rare, and `mir::Statement` often contributes significantly to peak memory usage.
Configuration menu - View commit details
-
Copy full SHA for fe4518d - Browse repository at this point
Copy the full SHA fe4518dView commit details