- 26 11月, 2020 22 次提交
-
-
由 Jonas Schievink 提交于
Fix docs formatting for `thir::pattern::_match` They were being rendered all on one line.
-
由 Jonas Schievink 提交于
Fixes a word typo in librustdoc Fixes a word typo in librustdoc
-
由 Jonas Schievink 提交于
Fix persisted doctests on Windows / when using workspaces When using the unstable `--persist-doctests` option, Windows path separators were not escaped properly. Also when running the command in a workspace, crate files can overwrite each other. Before: `src\lib_rs_1_0\rust_out` After: `\crate_a_src_lib_rs_1_0\rust_out`, `\crate_b_src_lib_rs_1_0\rust_out`
-
由 Jonas Schievink 提交于
Clean up rustdoc tests by removing unnecessary features r? ``@jyn514``
-
由 Jonas Schievink 提交于
Fix typos
-
由 Jonas Schievink 提交于
Upgrades the coverage map to Version 4 Changes the coverage map injected into binaries compiled with `-Zinstrument-coverage` to LLVM Coverage Mapping Format, Version 4 (from Version 3). Note, binaries compiled with this version will require LLVM tools from at least LLVM Version 11. r? ``@wesleywiser``
-
由 Jonas Schievink 提交于
Lower patterns before using the bound variable So as to avoid having to lower patterns twice.
-
由 Jonas Schievink 提交于
Move lev_distance to rustc_ast, make non-generic rustc_ast currently has a few dependencies on rustc_lexer. Ideally, an AST would not have any dependency its lexer, for minimizing design-time dependencies. Breaking this dependency would also have practical benefits, since modifying rustc_lexer would not trigger a rebuild of rustc_ast. This commit does not remove the rustc_ast --> rustc_lexer dependency, but it does remove one of the sources of this dependency, which is the code that handles fuzzy matching between symbol names for making suggestions in diagnostics. Since that code depends only on Symbol, it is easy to move it to rustc_span. It might even be best to move it to a separate crate, since other tools such as Cargo use the same algorithm, and have simply contain a duplicate of the code. This changes the signature of find_best_match_for_name so that it is no longer generic over its input. I checked the optimized binaries, and this function was duplicated for nearly every call site, because most call sites used short-lived iterator chains, generic over Map and such. But there's no good reason for a function like this to be generic, since all it does is immediately convert the generic input (the Iterator impl) to a concrete Vec<Symbol>. This has all of the costs of generics (duplicated method bodies) with no benefit. Changing find_best_match_for_name to be non-generic removed about 10KB of code from the optimized binary. I know it's a drop in the bucket, but we have to start reducing binary size, and beginning to tame over-use of generics is part of that.
-
由 Jonas Schievink 提交于
suggest turbofish syntax for uninferred const arguments When not providing a const generic value, and it can not be inferred, the following suggestion is suggested: ![image](https://user-images.githubusercontent.com/39732259/95616180-af127b80-0a69-11eb-8877-551c815f9627.png) Resolves #76737 r? ``@varkor``
-
由 bors 提交于
Mirror centos vault to S3
-
由 Mark Rousskov 提交于
-
由 Rich Kadel 提交于
The angle brackets were confusing my IDE and I thought they were unnecessary. I was wrong.
-
由 Camelid 提交于
A list was being rendered all on one line and there were other formatting issues as well.
-
由 bors 提交于
Validate use of parameters in naked functions * Reject use of parameters inside naked function body. * Reject use of patterns inside function parameters, to emphasize role of parameters a signature declaration (mirroring existing behaviour for function declarations) and avoid generating code introducing specified bindings. Closes issues below by considering input to be ill-formed. Closes #75922. Closes #77848. Closes #79350.
-
由 Rich Kadel 提交于
-
由 Rich Kadel 提交于
-
由 Dániel Buga 提交于
-
由 Nelson J Morais 提交于
-
由 bors 提交于
Always invoke statement attributes on the statement itself This is preparation for PR #78296, which will require us to handle statement items in addition to normal items.
-
由 Rich Kadel 提交于
-
由 Aaron Hill 提交于
-
由 bors 提交于
Only create `OnDiskCache` in incremental compilation mode This lets us skip doing useless work when we're not in incremental compilation mode.
-
- 25 11月, 2020 18 次提交
-
-
由 Arpad Borsos 提交于
When using the unstable `--persist-doctests` option, Windows path separators were not escaped properly. Also when running the command in a workspace, crate files can overwrite each other. Before: `src\lib_rs_1_0\rust_out` After: `\crate_a_src_lib_rs_1_0\rust_out`, `\crate_b_src_lib_rs_1_0\rust_out`
-
由 bors 提交于
Add `summary_opts()` for Markdown summary rendering options We have a similar function `opts()` that is for rendering the main body of the documentation, but until now we just constructed the options for rendering summaries on the fly. This is a problem if/when we change the enabled options since the different places can get out-of-sync.
-
由 Guillaume Gomez 提交于
-
由 bors 提交于
TRACK '-Z polonius' flag Fixes #79316. r? `@jonas-schievink`
-
由 bors 提交于
Validate that `#[naked]` is applied to a function definition
-
由 bors 提交于
Rename `optin_builtin_traits` to `auto_traits` They were originally called "opt-in, built-in traits" (OIBITs), but people realized that the name was too confusing and a mouthful, and so they were renamed to just "auto traits". The feature flag's name wasn't updated, though, so that's what this PR does. There are some other spots in the compiler that still refer to OIBITs, but I don't think changing those now is worth it since they are internal and not particularly relevant to this PR. Also see <https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/opt-in.2C.20built-in.20traits.20(auto.20traits).20feature.20name>. r? `@oli-obk` (feel free to re-assign if you're not the right reviewer for this)
-
由 bors 提交于
Proposal to add Peekable::peek_mut A "peekable" iterator has a `peek()`-method which provides an immutable reference to the next item. We currently do not have a method to modify that item, which we could easily add via a `peek_mut()`. See the test for a use-case (alike to my original use case), where a "pristine" iterator is passed on after modifying its state via `peek_mut()`. If there is interest in this, I can expand on the tests and docs.
-
由 Camelid 提交于
-
由 Camelid 提交于
We have a similar function `opts()` that is for rendering the main body of the documentation, but until now we just constructed the options for rendering summaries on the fly. This is a problem if/when we change the enabled options since the different places can get out-of-sync.
-
由 bors 提交于
Document unsafety in core::slice::memchr Contributes to #66219 Note sure if that's good enough, especially for the `align_to` call. The docs only mention transmuting and I don't think that everything related to reference lifetimes and state validity mentioned in the [nomicon](https://doc.rust-lang.org/nomicon/transmutes.html) are relevant here.
-
由 Rich Kadel 提交于
Co-authored-by: NWesley Wiser <wwiser@gmail.com>
-
由 Camelid 提交于
Goodbye, OIBIT!
-
由 Arlie Davis 提交于
rustc_ast currently has a few dependencies on rustc_lexer. Ideally, an AST would not have any dependency its lexer, for minimizing unnecessarily design-time dependencies. Breaking this dependency would also have practical benefits, since modifying rustc_lexer would not trigger a rebuild of rustc_ast. This commit does not remove the rustc_ast --> rustc_lexer dependency, but it does remove one of the sources of this dependency, which is the code that handles fuzzy matching between symbol names for making suggestions in diagnostics. Since that code depends only on Symbol, it is easy to move it to rustc_span. It might even be best to move it to a separate crate, since other tools such as Cargo use the same algorithm, and have simply contain a duplicate of the code. This changes the signature of find_best_match_for_name so that it is no longer generic over its input. I checked the optimized binaries, and this function was duplicated at nearly every call site, because most call sites used short-lived iterator chains, generic over Map and such. But there's no good reason for a function like this to be generic, since all it does is immediately convert the generic input (the Iterator impl) to a concrete Vec<Symbol>. This has all of the costs of generics (duplicated method bodies) with no benefit. Changing find_best_match_for_name to be non-generic removed about 10KB of code from the optimized binary. I know it's a drop in the bucket, but we have to start reducing binary size, and beginning to tame over-use of generics is part of that.
-
由 Tomasz Miąsko 提交于
* Reject use of parameters inside naked function body. * Reject use of patterns inside function parameters, to emphasize role of parameters a signature declaration (mirroring existing behaviour for function declarations) and avoid generating code introducing specified bindings.
-
由 Aaron Hill 提交于
-
由 bors 提交于
driver: Only output ANSI logging if connected to a terminal Fixes #78435. See #78435 for more. Cc `@RalfJung` `@oli-obk`
-
由 Rich Kadel 提交于
* `rustc` should now compile under LLVM 9 or 10 * Compiler generates an error if `-Z instrument-coverage` is specified but LLVM version is less than 11 * Coverage tests that require `-Z instrument-coverage` and run codegen should be skipped if LLVM version is less than 11
-
由 Aaron Hill 提交于
This is preparation for PR #78296, which will require us to handle statement items in addition to normal items.
-