- 18 2月, 2015 1 次提交
-
-
由 Aaron Turon 提交于
This commit makes several changes to `std::thread` in preparation for final stabilization: * It removes the ability to handle panics from `scoped` children; see #20807 for discussion * It adds a `JoinHandle` structure, now returned from `spawn`, which makes it possible to join on children that do not share data from their parent's stack. The child is automatically detached when the handle is dropped, and the handle cannot be copied due to Posix semantics. * It moves all static methods from `std::thread::Thread` to free functions in `std::thread`. This was done in part because, due to the above changes, there are effectively no direct `Thread` constructors, and the static methods have tended to feel a bit awkward. * Adds an `io::Result` around the `Builder` methods `scoped` and `spawn`, making it possible to handle OS errors when creating threads. The convenience free functions entail an unwrap. * Stabilizes the entire module. Despite the fact that the API is changing somewhat here, this is part of a long period of baking and the changes are addressing all known issues prior to alpha2. If absolutely necessary, further breaking changes can be made prior to beta. Closes #20807 [breaking-change]
-
- 17 2月, 2015 1 次提交
-
-
由 bors 提交于
This includes everything necessary for promoting borrows of constant rvalues to `'static`. That is, `&expr` will have the type `&'static T` if `const T: &'static T = &expr;` is valid. There is a small exception, dereferences of raw pointers, as they misbehave. They still "work" in constants as I didn't want to break legitimate uses (are there any?). The qualification done here can be expanded to allow simple CTFE via `const fn`.
-
- 16 2月, 2015 17 次提交
-
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 bors 提交于
(still testing locally)
-
由 Manish Goregaokar 提交于
-
- 15 2月, 2015 21 次提交
-
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
Highlights: * Adds an 'uninstall.sh' script to `/usr/local/lib/rustlib/uninstall.sh`, the path to which is printed during installation. * Components can be deselected during install, like `install.sh --without=rust-docs`. * Components can be listed with `install.sh --list-components`. * Vastly reduces spew during install (but supporting a `--verbose` option). Typicall install run looks like: ``` brian@brianX1:~/dev/multirust⟫ sudo ./install.sh [sudo] password for brian: install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh install: installing component 'rustc' install: installing component 'cargo' install: installing component 'rust-docs' Rust is ready to roll. ``` Needs to be merged right before corresponding PRs to cargo and rust-packaging. Fixes https://github.com/rust-lang/rust/issues/21117 Fixes https://github.com/rust-lang/rust/issues/20283
-
由 Manish Goregaokar 提交于
It's not clear what this means, because a macro in item position can expand to zero or more items. For now we disallow it, which is technically a [breaking-change] but is landing without an RFC. The `pub` keyword previously had no effect, which seems quite unintended. Fixes #18317. Fixes #14660.
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
Fixes #12891.
-
由 Manish Goregaokar 提交于
This PR replaces uses of `os::getenv` with newly introduced `env::var{,_os}`. Mostly did this as a background activity to procrastinate from procrastinating. Tests appear to build and run fine. This includes benchmarks from test/bench directory.
-
由 Manish Goregaokar 提交于
Fixes #17436.
-
由 Manish Goregaokar 提交于
Some function signatures have changed, so this is a [breaking-change]. In particular, radixes and numerical values of digits are represented by `u32` now. Part of #22240
-
由 Manish Goregaokar 提交于
`PathBuf` does implement `Hash`, but `Path` doesn't. This makes it annoying if you have a `HashMap` with `PathBuf`s as keys, because it means you have to convert a `Path` into a `PathBuf` and get a reference to it simply to perform operations on the `HashMap`!
-
-
由 Manish Goregaokar 提交于
Rename `libstd/failure.rs` to `libstd/panicking.rs` and `on_fail` to `on_panic`. Closes #22306.
-
由 Manish Goregaokar 提交于
on crates and modules - replace \")\" on more strings - improve readability of grapheme
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
(fixes #22317) rollupable
-
由 Manish Goregaokar 提交于
Fixes #19278
-
由 Manish Goregaokar 提交于
Fixes #14849
-
由 Manish Goregaokar 提交于
Fixes #20948
-
由 Manish Goregaokar 提交于
closes #21909
-
由 Manish Goregaokar 提交于
Fixes #22047 `Range<u64>` and `Range<i64>` may be longer than usize::MAX on 32-bit platforms, and thus they cannot fulfill the protocol for ExactSizeIterator. We don't want a nonobvious platform dependency in basic iterator traits, so the trait impl is removed. The logic of this change assumes that usize is at least 32-bit. This is technically a breaking change; note that `Range<usize>` and `Range<isize>` are always ExactSizeIterators. [breaking-change]
-
由 Manish Goregaokar 提交于
Fixes #9980
-