- 01 11月, 2016 6 次提交
-
-
由 bors 提交于
Add `unwrap_or_default` method to `Result` Fixes #37025
-
由 bors 提交于
Implement `RefUnwindSafe` for atomic types Closes #37136
-
由 bors 提交于
hashmap: Store hashes as usize internally We can't use more than usize's bits of a hash to select a bucket anyway, so we only need to store that part in the table. This should be an improvement for the size of the data structure on 32-bit platforms. Smaller data means better cache utilization and hopefully better performance. Fixes #36567
-
由 bors 提交于
Make all vec! macros use square brackets: Attempt 2 [The last PR](https://github.com/rust-lang/rust/pull/37476) ended with tears after a valiant struggle with git. I managed to clean up the completely broken history of that into a brand spanking new PR! Yay! Original: > Everyone hates the old syntax. I hope. Otherwise this PR has some controversy I wasn't expecting. > This would be the perfect time to write a lint recommending vec![..] when you use another style. > Disclaimer: I may have broken something. If I have, I'll fix them when the tests come in. Luckily the chance for a non-syntactical error is pretty low in all this.
-
由 iirelu 提交于
Most of the Rust community agrees that the vec! macro is clearer when called using square brackets [] instead of regular brackets (). Most of these ocurrences are from before macros allowed using different types of brackets. There is one left unchanged in a pretty-print test, as the pretty printer still wants it to have regular brackets.
-
由 bors 提交于
introing one-time diagnostics: only emit "lint level defined here" once This is a revised resubmission of PR #34084 (which was closed due to inactivity on account of time constraints on the author's part). --- We introduce a new `one_time_diagnostics` field on `rustc::session::Session` to hold a hashset of diagnostic messages we've set once but don't want to see again (as uniquified by span and message text), "lint level defined here" being the motivating example dealt with here. This is in the matter of #24690. --- r? @nikomatsakis
-
- 31 10月, 2016 18 次提交
-
-
由 bors 提交于
Rollup of 5 pull requests - Successful merges: #37438, #37458, #37462, #37475, #37486 - Failed merges:
-
由 Guillaume Gomez 提交于
Fix typo in the BitAndAssign operator documentation The name of the operator should be `&=` instead of `&`.
-
由 Guillaume Gomez 提交于
Add E0532 error explanation This resolves one of the error list in https://github.com/rust-lang/rust/issues/35347 - just because I stumbled over it today. I assumed the error code should be removed from `register_diagnostics!` because it's now defined above. Since that is my first code contribution, please check that all is in order. It would be helpful to know how to run the test for the `compile_fail,E0532` part. I did `make check-stage1-cfail NO_REBUILD=1` but that doesn't test the inlined example. r? @GuillaumeGomez
-
由 Guillaume Gomez 提交于
Remove outdated fixme comment. Linked issue has been closed, but the comment was not removed. If this is still an issue, then the comment should probably be updated. r? @petrochenkov
-
由 Guillaume Gomez 提交于
Fix more spans in deriving::generic r? @petrochenkov
-
由 Guillaume Gomez 提交于
improve docs for Index and IndexMut This mainly changes the boring example of Foo/Bar of `IndexMut` into a better one. Also added explanations about syntactic sugar for `v[index]`. Closes #36329
-
由 bors 提交于
LLVM: Update submodule to rust-llvm-2016-10-29 branch. Fixes #37227
-
由 bors 提交于
Replace all uses of SHA-256 with BLAKE2b. Removes the SHA-256 implementation and replaces all uses of it with BLAKE2b, which we already use for debuginfo type guids and incremental compilation hashes. It doesn't make much sense to have two different cryptographic hash implementations in the compiler and Blake has a few advantages over SHA-2 (computationally less expensive, hashes of up to 512 bits).
-
由 Andreas Sommer 提交于
-
由 Simonas Kazlauskas 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 bors 提交于
Shrink Expr_::ExprInlineAsm. On 64-bit this reduces the size of `Expr_` from 144 to 64 bytes, and reduces the size of `Expr` from 176 to 96 bytes. For the workload in #36799 this reduces the RSS for the "lowering ast -> hir" phase and all subsequent phases by 50 MiB, which reduces the peak RSS for that workload by about 1%. Not huge, but it's a very easy improvement. r? @EddyB
-
由 msiglreith 提交于
-
- 30 10月, 2016 7 次提交
-
-
由 Mark-Simulacrum 提交于
-
由 bors 提交于
Disable jemalloc on aarch64/powerpc Sounds like jemalloc is broken on systems which differ in page size than the host it was compiled on (unless an option was passed). This unfortunately reduces the portability of binaries created and can often make Rust segfault by default. For now let's patch over this by disabling jemalloc until we can figure out a better solution. Closes #36994 Closes #37320 cc jemalloc/jemalloc#467
-
由 bors 提交于
[2/n] rustc_metadata: move is_extern_item to trans. *This is part of a series ([prev](https://github.com/rust-lang/rust/pull/37400) | [next](https://github.com/rust-lang/rust/pull/37402)) of patches designed to rework rustc into an out-of-order on-demand pipeline model for both better feature support (e.g. [MIR-based](https://github.com/solson/miri) early constant evaluation) and incremental execution of compiler passes (e.g. type-checking), with beneficial consequences to IDE support as well. If any motivation is unclear, please ask for additional PR description clarifications or code comments.* <hr> Minor cleanup missed by #36551: `is_extern_item` is one of, if not the only `CrateStore` method who takes a `TyCtxt` but doesn't produce something cached in it, and such methods are going away.
-
由 bors 提交于
[1/n] Move the MIR map into the type context. *This is part of a series ([prev]() | [next](https://github.com/rust-lang/rust/pull/37401)) of patches designed to rework rustc into an out-of-order on-demand pipeline model for both better feature support (e.g. [MIR-based](https://github.com/solson/miri) early constant evaluation) and incremental execution of compiler passes (e.g. type-checking), with beneficial consequences to IDE support as well. If any motivation is unclear, please ask for additional PR description clarifications or code comments.* <hr> The first commit reorganizes the `rustc::mir` module to contain the MIR types directly without an extraneous `repr` module which serves no practical purpose but is rather an eyesore. The second commit performs the actual move of the MIR map into the type context, for the purposes of future integration with requesting analysis/lowering by-products through `TyCtxt`. Local `Mir` bodies need to be mutated by passes (hence `RefCell`), and at least one pass (`qualify_consts`) needs simultaneous access to multiple `Mir` bodies (hence arena-allocation). `Mir` bodies loaded from other crates appear as if immutably borrowed (by `.borrow()`-ing one `Ref` and subsequently "leaking" it) to avoid, at least dynamically, *any* possibility of their local mutation. One caveat is that lint passes can now snoop at the MIR (helpful) or even mutate it (dangerous). However, lints are unstable anyway and we can find a way to deal with this in due time. Future work will result in a tighter API, potentially hiding mutation *completely* outside of MIR passes.
-
由 bors 提交于
Print out the error when HeapFree failures do occur cc https://github.com/rust-lang/rust/issues/37395 I'd prefer to use `assert!` instead of `debug_assert!` if the cost is acceptable. r? @alexcrichton
-
由 bors 提交于
rustc_typeck: Allow reification from fn item to unsafe ptr See https://github.com/rust-lang/rfcs/issues/1762. I've never contributed to the compiler internals before-- apologies if I'm not going about this the right way.
-
- 29 10月, 2016 9 次提交
-
-
由 Vadzim Dambrouski 提交于
-
由 bors 提交于
Do not intern filemap to entry w/ mismatched length. Do not intern filemap to entry w/ mismatched length. Fix #37274 (I think). Beta-nominated; note that only the second commit needs to be cherry picked to beta branch. (The first just adds some debug instrumentation that I wish had been present.)
-
由 bors 提交于
Prohibit patterns in trait methods without bodies They are not properly type checked ```rust trait Tr { fn f(&a: u8); // <- This compiles } ``` , mostly rejected by the parser already and generally don't make much sense. This PR is kind of a missing part of https://github.com/rust-lang/rust/pull/35015. Given the [statistics from crater](https://github.com/rust-lang/rust/pull/37378#issuecomment-256154994), the effect of this PR is mostly equivalent to improving `unused_mut` lint. cc https://github.com/rust-lang/rust/issues/35078#issuecomment-255707355 https://github.com/rust-lang/rust/pull/35015 https://github.com/rust-lang/rfcs/pull/1685 https://github.com/rust-lang/rust/issues/35203 r? @EddyB
-
由 Vadim Petrochenkov 提交于
-
由 Jeffrey Seyfried 提交于
-
由 bors 提交于
Support for aarch64 architecture on Fuchsia This patch adds support for the aarch64-unknown-fuchsia target. Also updates src/liblibc submodule to include required libc change.
-
由 bors 提交于
Add support for kernel randomness for Fuchsia Wire up cprng syscall as provider for rand::os::OsRng on Fuchsia.
-
由 Mark-Simulacrum 提交于
-
由 bors 提交于
Avoid more allocations when compiling html5ever These three commits reduce the number of allocations performed when compiling html5ever from 13.2M to 10.8M, which speeds up compilation by about 2%. r? @nrc
-