- 09 9月, 2017 10 次提交
-
-
由 bors 提交于
Allow Drop types in const's too, with #![feature(drop_types_in_const)]. Implements the remaining amendment, see #33156. cc @SergioBenitez r? @nikomatsakis
-
由 bors 提交于
Revert clamp Revert clamp per https://github.com/rust-lang/rust/issues/44095#issuecomment-328218316 while we take time to assess the potential backwards compatibility damage done by it.
-
由 bors 提交于
Avoid hashing when creating a DepNode from a HirId Instead, combine the already-present DefPathHash with the 32-bit ItemLocalIndex. Should fix #44323. r? @alexcrichton
-
由 bors 提交于
limit and clear cache obligations opportunistically Keeping **all** the obligations for every projection is wasteful of memory and compilation time. We only really care about those subobligations that may inform the result of the projection (i.e., may help to resolve any inference variables that appear within). Therefore, we can clear the subobligations from the cache that don't potentially affect the result of the projection. On every cache hit, we also take the opportunity to check if the type variables have been resolved *yet* and, if so, clear out the pending obligations. Fixes #43613. r? @arielb1 NB -- not sure how to test for this. Probably we should add the #43613 test case to perf.
-
由 Jacob Kiesel 提交于
This reverts commit c589f867.
-
由 Jacob Kiesel 提交于
This reverts commit f74c5d2e.
-
由 Jacob Kiesel 提交于
This reverts commit 61f20f8d.
-
由 Jacob Kiesel 提交于
This reverts commit 576426a0.
-
由 Jacob Kiesel 提交于
This reverts commit 2e34ff76.
-
由 Jacob Kiesel 提交于
This reverts commit b762283e.
-
- 08 9月, 2017 5 次提交
-
-
由 bors 提交于
Migrate a slew of metadata methods to queries This PR intends to make more progress on #41417, knocking off some low-hanging fruit. Closes #44190 cc #44137
-
由 bors 提交于
pprust: fix parenthesization of exprs The pretty printer in `syntax::print::pprust` currently relies on the presence of `ExprKind::Paren` hints in order to correctly parenthesize expressions in its output. If `Paren` nodes are missing, it sometimes produces wrong output, such as printing `1 - (2 - 3)` as `1 - 2 - 3`. This PR fixes `pprust` to correctly print expressions regardless of the presence or absence of `Paren` nodes. This should make `pprust` easier to use with programmatically constructed ASTs. A few notes: * I added a function for assigning precedence values to exprs in `syntax::util::parser`, since there is already code there for assigning precedence values to binops. Let me know if I should move this somewhere more `pprust`-specific. * I also moved the `contains_exterior_struct_lit` function from `rustc_lint::unused::UnusedParens` into `syntax::util::parser`, since it's needed for determining the correct parenthesization of `if`/`while` conditional expressions. * I couldn't find a good way to compare two exprs for equivalence while ignoring semantically-irrelevant details like spans. So the test for the new behavior relies on a slight hack: it adds `Paren` nodes everywhere, so that the pretty-printed version exactly reflects the structure of the AST, and then compares the printed strings. This works, but let me know if there's a better way.
-
由 bors 提交于
travis: Downgrade to previous images temporarily Travis is in the process of [rolling out an update][update] but looks like our tests are breaking, let's temporarily roll back to get the queue moving again. [update]: https://blog.travis-ci.com/2017-08-29-trusty-image-updates
-
由 Alex Crichton 提交于
Travis is in the process of [rolling out an update][update] but looks like our tests are breaking, let's temporarily roll back to get the queue moving again. [update]: https://blog.travis-ci.com/2017-08-29-trusty-image-updates
-
由 Niko Matsakis 提交于
-
- 07 9月, 2017 25 次提交
-
-
由 Alex Crichton 提交于
This commit moves the `crates` method to a query and then migrates all callers to use a query instead of the now-renamed `crates_untracked` method where possible. Closes #41417
-
由 Alex Crichton 提交于
-
由 Stuart Pernsteiner 提交于
-
由 bors 提交于
Debugflag: -Z emit-end-regions Skip EndRegion emission by default. Use `-Z emit-end-regions` to reenable it. The main intent is to fix cases where `EndRegion` emission is believed to be causing excess peak memory pressure. It may also be a welcome change to people inspecting the MIR output who find the EndRegions to be a distraction. (In later follow-up PR's I will put in safe-guards against using the current mir-borrowck without enabling `EndRegion` emission. But I wanted this PR to be minimal, in part because we may wish to backport it to the beta channel if we find that it reduces peak memory usage significantly.)
-
由 bors 提交于
Make the LocalKey facade of thread_local! inlineable cross-crate. Fixes (almost*) #25088 by changing the `LocalKey` `static` `thread_local!` generates to a `const`. This can be done because a `LocalKey` value holds no actual TLS data, only function pointers to get at said data, and it could even be made `Copy` without any negative consequences. The recent stabilization of rvalue promotion to `'static` allows doing this without changing the API. r? @alexcrichton *almost because we can't yet inline `__getit` because it breaks on MSVC, see https://github.com/rust-lang/rust/pull/43931#issuecomment-323534214
-
由 bors 提交于
rustc: Attempt to handle super long linker invocations This commit adds logic to the compiler to attempt to handle super long linker invocations by falling back to the `@`-file syntax if the invoked command is too large. Each OS has a limit on how many arguments and how large the arguments can be when spawning a new process, and linkers tend to be one of those programs that can hit the limit! The logic implemented here is to unconditionally attempt to spawn a linker and then if it fails to spawn with an error from the OS that indicates the command line is too big we attempt a fallback. The fallback is roughly the same for all linkers where an argument pointing to a file, prepended with `@`, is passed. This file then contains all the various arguments that we want to pass to the linker. Closes #41190
-
由 bors 提交于
Rollup of 23 pull requests - Successful merges: #44097, #44206, #44218, #44276, #44277, #44296, #44303, #44313, #44315, #44317, #44319, #44321, #44325, #44326, #44327, #44328, #44330, #44351, #44353, #44354, #44361, #44362, #44377 - Failed merges:
-
由 Mark Simulacrum 提交于
config.toml.example: fix some typos
-
由 Mark Simulacrum 提交于
Fix a bug in the inliner r? @EddyB
-
由 Mark Simulacrum 提交于
Suggest changing literals instead of calling methods (fixes #44307)
-
由 Mark Simulacrum 提交于
bootstrap: openssl for NetBSD/sparc64 in extended build r? @Mark-Simulacrum
-
由 Mark Simulacrum 提交于
Include rustc in the default `./x.py install` The default install used to include rustc, rust-std, and rust-docs, but the refactoring in commit 6b3413d8 make rustc only default in extended builds. This commit makes rustc installed by default again.
-
由 Mark Simulacrum 提交于
More PowerPC Altivec intrinsics
-
由 Mark Simulacrum 提交于
Fix link typo in 1.20.0 release notes Should have been included in https://github.com/rust-lang/rust/pull/44230
-
由 Mark Simulacrum 提交于
Removed the incorrect documentation for from_str Fixes #44242.
-
由 Mark Simulacrum 提交于
#12808 is closed remove the FIXME let's see if this can be cleaned up. https://github.com/rust-lang/rust/issues/12808#issuecomment-326852052
-
由 Mark Simulacrum 提交于
#33490 is closed remove the FIXME let's see if this can be cleaned up. https://github.com/rust-lang/rust/issues/33490#issuecomment-326851930
-
由 Mark Simulacrum 提交于
Make slice::split_at_mut example demonstrate mutability Moved the examples from split_at_mut to split_at so the example at split_at_mut can just demonstrate mutability. See #44314 r? @steveklabnik
-
由 Mark Simulacrum 提交于
bootstrap: only include docs in extended distribution if enabled Fixes #44163
-
由 Mark Simulacrum 提交于
Improve DefIndex formatting to be more semantic Fixes #44318 r? @EddyB
-
由 Mark Simulacrum 提交于
Add test for #22706 Closes #22706
-
由 Mark Simulacrum 提交于
std/time: Give an example to get UNIX_EPOCH in seconds
-
由 Mark Simulacrum 提交于
rustbook: remove dead test functions There is no "test" subcommand added to the `clap::App`, so this is all dead code. Cc @steveklabnik -- your [commit](https://github.com/RalfJung/rust/commit/a076961fd0e3d8a68f8b047460b8f5191d203b08) introducing this stated the intention of having both commands, but it seems nobody has missed the `test` command since February.
-
由 Mark Simulacrum 提交于
impl Debug for SplitWhitespace. This one got missed because `libstd_unicode` doesn't have a `deny(missing_debug_implementations)` like `libstd` and `libcore`. I think that perhaps this lint should check for items exported from other crates too.
-
由 Mark Simulacrum 提交于
Minor documentation improvements for StmtKind Documentation for Semi and Marco StmtKinds. Wasn't obvious to me what these were when writing a lint recently.
-