- 08 2月, 2016 2 次提交
-
-
由 Jeffrey Seyfried 提交于
-
由 Jeffrey Seyfried 提交于
-
- 06 2月, 2016 7 次提交
-
-
由 bors 提交于
This change also modifies the dep graph infrastructure to keep track of the number of active tasks, so that even if we are not building the full dep-graph, we still get assertions when there is no active task and one does something that would add a read/write edge. This is particularly helpful since, if the assertions are *not* active, you wind up with the error happening in the message processing thread, which is too late to know the correct backtrace. ~~Before landing, I need to do some performance measurements. Those are underway.~~ See measurements below. No real effect on time. r? @michaelwoerister
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
its own.
-
由 Niko Matsakis 提交于
another and were not previously instrumented.
-
由 Niko Matsakis 提交于
acccessed.
-
由 Niko Matsakis 提交于
so that we can still get assertion failures even when dep-graph construction is disabled.
-
由 bors 提交于
Have the `ObligationForest` keep some per-tree state (or type `T`) and have it give a mutable reference for use when processing obligations. In this case, it will be a hashmap. This obviously affects the work that @soltanmm has been doing on snapshotting. I partly want to toss this out there for discussion. Fixes #31157. (The test in question goes to approx. 30s instead of 5 minutes for me.) cc #30977. cc @aturon @arielb1 @soltanmm r? @aturon who reviewed original `ObligationForest`
-
- 05 2月, 2016 25 次提交
-
-
由 bors 提交于
You can `#[derive(FromPrimitive)]`, but it [fails later in the compile](https://play.rust-lang.org/?gist=82cb8ad2fac49e3fe472&version=stable) due to hardcoding `std::num::FromPrimitive` which [was removed](https://github.com/rust-lang/rust/commit/eeb94886adccb3f13003f92f117115d17846ce1f) (for some reason Github doesn't show `FromPrimitive` in the diff, but `git show` does). Anyway, this PR removes the code. I didn't mark it as a breaking change, even though [this extremely contrived code using highly unstable features](https://play.rust-lang.org/?gist=1e1b1bbff962837b228a&version=nightly) is broken by it -- should I?
-
由 bors 提交于
If a new cleanup is added to a cleanup scope, the cached exits for that scope are cleared, so all previous cleanups have to be translated again. In the worst case this means that we get N distinct landing pads where the last one has N cleanups, then N-1 and so on. As new cleanups are to be executed before older ones, we can instead cache the number of already translated cleanups in addition to the block that contains them, and then only translate new ones, if any and then jump to the cached ones, getting away with linear growth instead. For the crate in #31381 this reduces the compile time for an optimized build from >20 minutes (I cancelled the build at that point) to about 11 seconds. Testing a few crates that come with rustc show compile time improvements somewhere between 1 and 8%. The "big" winner being rustc_platform_intrinsics which features code similar to that in #31381. Fixes #31381
-
由 bors 提交于
A span spanning only a single character would render like `^~` instead of just `^`. r? @nrc
-
由 bors 提交于
Without this patch, `compiler-rt` fails to build when the `CFLAGS` environment variable contains a `-Werror=*` flag (for example `-Werror=format-security`). The build system was removing only the `-Werror` part from the flag, thus passing an unrecognized `=*` (for example `=format-security`) argument to gcc.
-
由 bors 提交于
Fixes #31354.
-
由 bors 提交于
The first commit improves detection of unused imports -- it should have been part of #30325. Right now, the unused import in the changed test would not be reported. The rest of the commits are miscellaneous, independent clean-ups in resolve that I didn't think warranted individual PRs. r? @nrc
-
由 bors 提交于
These accessors are used to get at the last modification, last access, and creation time of the underlying file. Currently not all platforms provide the creation time, so that currently returns `Option`.
-
由 bors 提交于
- Successful merges: #31007, #31396, #31401, #31411, #31412, #31413, #31415 - Failed merges:
-
由 Steve Klabnik 提交于
-
由 Steve Klabnik 提交于
-
由 Steve Klabnik 提交于
-
由 Steve Klabnik 提交于
-
-
由 Steve Klabnik 提交于
"stmt" already includes the terminating semicolon.
-
由 Steve Klabnik 提交于
According to http://www.copyright.gov/circs/circ01.pdf (See screenshot of relevant section below) , listing the first year of publication in the copyright is enough ![selection_008](https://cloud.githubusercontent.com/assets/829526/12409934/7021c3a6-be95-11e5-8d1a-18f6948571e0.png) The commits d5c8f626 and f979f91a have changed the copyright years This commit reverts back those changes, so that license year is again 2014 (As it was, when this license was first introduced in commit 90ba013b ) -------------------------------------- Edit 1: Added screenshot
-
由 Tshepang Lekhonkhobe 提交于
-
由 Alex Crichton 提交于
These accessors are used to get at the last modification, last access, and creation time of the underlying file. Currently not all platforms provide the creation time, so that currently returns `Option`.
-
由 bors 提交于
fixes #30756 r? @Gankro
-
由 Tshepang Lekhonkhobe 提交于
-
由 Tshepang Lekhonkhobe 提交于
-
由 Tshepang Lekhonkhobe 提交于
-
由 bors 提交于
- use `symlink_file` and `symlink_dir` instead of the old `soft_link` - create a junction instead of a directory symlink for testing recursive_rmdir (as it causes the same troubles, but can be created by users without `SeCreateSymbolicLinkPrivilege`) - `remove_dir_all` was unable to remove directory symlinks and junctions - only run tests that create symlinks if we have the right permissions. - rename `Path2` to `Path` - remove the global `#[allow(deprecated)]` and outdated comments - After factoring out `create_junction()` from the test `directory_junctions_are_directories` and removing needlessly complex code, what I was left with was: ``` #[test] #[cfg(windows)] fn directory_junctions_are_directories() { use sys::fs::create_junction; let tmpdir = tmpdir(); let foo = tmpdir.join("foo"); let bar = tmpdir.join("bar"); fs::create_dir(&foo).unwrap(); check!(create_junction(&foo, &bar)); assert!(bar.metadata().unwrap().is_dir()); } ``` It test whether a junction is a directory instead of a reparse point. But it actually test the target of the junction (which is a directory if it exists) instead of the junction itself, which should always be a symlink. So this test is invalid, and I expect it only exists because the author was suprised by it. So I removed it. Some things that do not yet work right: - relative symlinks do not accept forward slashes - the conversion of paths for `create_junction` is hacky - `remove_dir_all` now messes with the internal data of `FileAttr` to be able to remove symlinks. We should add some method like `is_symlink_dir()` to it, so code outside the standard library can see the difference between file and directory symlinks too.
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
-
-
- 04 2月, 2016 6 次提交
-
-
由 bors 提交于
r? @nrc
-
由 Paul Dicker 提交于
-
由 bors 提交于
This is useful when you have an API that takes a `T: ToSocketAddrs` and needs to turn that into an owned value which will be passed to another API taking `T: ToSocketAddrs` at a later time, for example: https://github.com/sfackler/rust-hyper-socks/blob/master/src/lib.rs#L15
-
由 bors 提交于
I have it set as stable right now under the rationale that it's extending an existing, stable API to another type in the "obvious" way. r? @alexcrichton cc @reem
-
由 Steven Fackler 提交于
-
由 Steven Fackler 提交于
-