- 13 1月, 2018 6 次提交
-
-
由 kennytm 提交于
Update musl to 1.1.18 According to http://www.musl-libc.org/download.html: This release corrects regressions in glob() and armv4t build failure introduced in the previous release, and includes an important bug fix for posix_spawnp in the presence of a large PATH environment variable.
-
由 kennytm 提交于
Add i586-unknown-linux-musl target
-
由 kennytm 提交于
Show only stderr diff when a ui test fails Addresses #46826. This PR will print the normalized output if expected text is empty otherwise it will just print the diff. Should we also show a few (actual == expected) lines above & below when displaying the diff? What about indicating line numbers as well so one can quickly check mismatch lines in .stderr file?
-
由 kennytm 提交于
Fix nested imports not included in the save_analysis output This PR fixes #46823. The bug was caused by the old access level checking code, which checked against the root UseTree even for nested trees. The problem with that is, for nested trees the root is lowered as an empty `ListStem`, which is not reachable by definition. The new code computes the access level with each tree's own ID, and with the root tree's visibility. I tested this manually and it works, but I'm not really satisfied with that. I looked at the existing tests though, and no one checked for the save_analysis output as far as I can see. How should I proceed with that? I think having a test about this would be really nice.
-
由 kennytm 提交于
rustfmt libarena/lib.rs Note: it's my very first pull request. I'm trying to do something very simple to see how it works here, even if it's a tiny change or maybe it's not correct (sorry if it is the case). r? @nrc
-
由 kennytm 提交于
Implement AsRef<Path> for Component Fixes #41866
-
- 12 1月, 2018 2 次提交
-
-
由 bors 提交于
macros: improve 1.0/2.0 interaction This PR supports using unhygienic macros from hygienic macros without breaking the latter's hygiene. ```rust // crate A: #[macro_export] macro_rules! m1 { () => { f(); // unhygienic: this macro needs `f` in its environment fn g() {} // (1) unhygienic: `g` is usable outside the macro definition } } // crate B: #![feature(decl_macro)] extern crate A; use A::m1; macro m2() { fn f() {} // (2) m1!(); // After this PR, `f()` in the expansion resolves to (2), not (3) g(); // After this PR, this resolves to `fn g() {}` from the above expansion. // Today, it is a resolution error. } fn test() { fn f() {} // (3) m2!(); // Today, `m2!()` can see (3) even though it should be hygienic. fn g() {} // Today, this conflicts with `fn g() {}` from the expansion, even though it should be hygienic. } ``` Once this PR lands, you can make an existing unhygienic macro hygienic by wrapping it in a hygienic macro. There is an [example](https://github.com/rust-lang/rust/pull/46551/commits/b766fa887dc0e4b923a38751fe4d570e35a75710) of this in the tests. r? @nrc
-
由 Marco A L Barbosa 提交于
-
- 11 1月, 2018 3 次提交
-
-
由 bors 提交于
Add iterator method specialisations to Range* Add specialised implementations of `max` for `Range`, and `last`, `min` and `max` for `RangeInclusive`, all of which lead to significant advantages in the generated assembly on x86. Note that adding specialisations of `min` and `last` for `Range` led to no benefit, and adding `sum` for `Range` and `RangeInclusive` led to type inference issues (though this is possibly still worthwhile considering the performance gain). This addresses some of the concerns in #39975.
-
由 bors 提交于
Replace uses of DepGraph.in_ignore with DepGraph.with_ignore I currently plan to track tasks in thread local storage. Ignoring things in a closure ensures that the ignore tasks do not overlap the beginning or end of any other task. The TLS API will also use a closure to change a TLS value, so having the ignore task be a closure also helps there. It also adds `assert_ignored` which is used before a `TyCtxt` is created. Instead of adding a new ignore task this simply ensures that we are in a context where reads are ignored. r? @michaelwoerister
-
由 bors 提交于
[incremental] Specialize encoding and decoding of Fingerprints This saves the storage space used by about 32 bits per `Fingerprint`. On average, this reduces the size of the `/target/{mode}/incremental` folder by roughly 5% [Full details here](https://gist.github.com/wesleywiser/264076314794fbd6a4c110d7c1adc43e). Fixes #45875 r? @michaelwoerister
-
- 10 1月, 2018 16 次提交
-
-
由 bors 提交于
Fix built-in indexing not being used where index type wasn't "obviously" usize Fixes #33903 Fixes #46095 This PR was made possible thanks to the generous help of @EddyB Following the example of binary operators, builtin checking for indexing has been moved from the typecheck stage to a writeback stage, after type constraints have been resolved.
-
由 bors 提交于
Implement `Write` for `Cursor<&mut Vec<T>>` Fixes #30132 r? @dtolnay (I'm just going through `feature-accepted` issues I swear
😛 ) -
由 bors 提交于
Rollup of 5 pull requests - Successful merges: #46762, #46777, #47262, #47285, #47301 - Failed merges:
-
由 Corey Farwell 提交于
Fix error index display Fixes #47284. r? @QuietMisdreavus
-
由 Corey Farwell 提交于
Fixed a typo in the compile_error docs Noticed a typo and fixed it.
-
由 Corey Farwell 提交于
Account for `pub` in `const` -> `static` suggestion Fix #45562.
-
由 Corey Farwell 提交于
Deprecate [T]::rotate in favor of [T]::rotate_{left,right}. Background ========== Slices currently have an **unstable** [`rotate`] method which rotates elements in the slice to the _left_ N positions. [Here][tracking] is the tracking issue for this unstable feature. ```rust let mut a = ['a', 'b' ,'c', 'd', 'e', 'f']; a.rotate(2); assert_eq!(a, ['c', 'd', 'e', 'f', 'a', 'b']); ``` Proposal ======== Deprecate the [`rotate`] method and introduce `rotate_left` and `rotate_right` methods. ```rust let mut a = ['a', 'b' ,'c', 'd', 'e', 'f']; a.rotate_left(2); assert_eq!(a, ['c', 'd', 'e', 'f', 'a', 'b']); ``` ```rust let mut a = ['a', 'b' ,'c', 'd', 'e', 'f']; a.rotate_right(2); assert_eq!(a, ['e', 'f', 'a', 'b', 'c', 'd']); ``` Justification ============= I used this method today for my first time and (probably because I’m a naive westerner who reads LTR) was surprised when the docs mentioned that elements get rotated in a left-ward direction. I was in a situation where I needed to shift elements in a right-ward direction and had to context switch from the main problem I was working on and think how much to rotate left in order to accomplish the right-ward rotation I needed. Ruby’s `Array.rotate` shifts left-ward, Python’s `deque.rotate` shifts right-ward. Both of their implementations allow passing negative numbers to shift in the opposite direction respectively. The current `rotate` implementation takes an unsigned integer argument which doesn't allow the negative number behavior. Introducing `rotate_left` and `rotate_right` would: - remove ambiguity about direction (alleviating need to read docs
😉 ) - make it easier for people who need to rotate right [`rotate`]: https://doc.rust-lang.org/std/primitive.slice.html#method.rotate [tracking]: https://github.com/rust-lang/rust/issues/41891 -
由 Corey Farwell 提交于
Stabilize the panic_col feature I've added the panic_col feature in PR #42938. Now it's time to stabilize it! Closes #42939.
-
由 est31 提交于
-
由 est31 提交于
I've added the panic_col feature in PR #42938. Now it's time to stabilize it! Closes #42939.
-
由 Wesley Wiser 提交于
This saves the storage space used by about 32 bits per `Fingerprint`. On average, this reduces the size of the `/target/{mode}/incremental` folder by roughly 5%. Fixes #45875
-
由 bors 提交于
Upgrade liblibc to upstream version 0.2.35. This version of liblibc is a prerequisite for getting libstd to build on CloudABI.
-
由 Guillaume Gomez 提交于
-
由 varkor 提交于
-
由 John Kåre Alsaker 提交于
-
由 bors 提交于
Shorten names of some compiler generated artifacts. This PR makes the compiler mangle codegen unit names by default. The name of every codegen unit name will now be a random string of 16 characters. It also makes the file extensions of some intermediate compiler products shorter. Hopefully, these changes will reduce the pressure on tools with path length restrictions like buildbot. The change should also solve problems with case-insensitive file system. cc #47186 and #47222 r? @alexcrichton
-
- 09 1月, 2018 13 次提交
-
-
由 bors 提交于
Clean emitted diagnostics when `reset_err_count` is called. When external tools like `rustfmt` calls to `reset_err_count` for handler reusing, it will set the error count on the handler to 0, but since https://github.com/rust-lang/rust/pull/47146 the handler will contain status that will prevent the error count to be bumped if this handler is reused. This caused `rustfmt` idempotency tests to fail: https://github.com/rust-lang-nursery/rustfmt/issues/2338 Fixes: https://github.com/rust-lang-nursery/rustfmt/issues/2338
-
由 bors 提交于
Rollup of 10 pull requests - Successful merges: #47210, #47233, #47246, #47254, #47256, #47258, #47259, #47263, #47270, #47272 - Failed merges: #47248
-
由 Andrew Brinker 提交于
-
由 Marco A L Barbosa 提交于
According to http://www.musl-libc.org/download.html: This release corrects regressions in glob() and armv4t build failure introduced in the previous release, and includes an important bug fix for posix_spawnp in the presence of a large PATH environment variable.
-
由 kennytm 提交于
Add missing links r? @QuietMisdreavus (please wait for CI, I have a few doubts about the `Write` trait links...)
-
由 kennytm 提交于
rustdoc: Don't import macros from private imports Fixes #47038
-
由 kennytm 提交于
Add HashMap::remove_entry Implements #46344 r? @dtolnay
-
由 kennytm 提交于
Rename ReprExtern to ReprC … and similarily rename a few other field and locals that mentioned "extern repr".
-
由 kennytm 提交于
Replace empty array hack with repr(align) As a side effect, this fixes the warning about repr(C, simd) that has been reported during x86_64 windows builds since #47111 (see also: #47103) r? @alexcrichton
-
由 kennytm 提交于
Make wasm obey backtrace feature, like other targets E.g. https://github.com/rust-lang/rust/blob/6828cf90146c7fefc4ba4f16dffe75f763f2d910/src/libstd/sys/unix/mod.rs#L40-L41
-
由 kennytm 提交于
Remove unused LLVM related code Ticks a few more boxes on #46437
-