- 15 3月, 2018 11 次提交
-
-
由 kennytm 提交于
fix #48816 don't print help on indirect compiler ICE https://github.com/rust-lang/rust/issues/48816#issuecomment-372817573
-
由 kennytm 提交于
Speed up SVH computation by using Fingerprint::combine() Fix #47297
-
由 kennytm 提交于
Clarify usage message for --remap-path-prefix.
-
由 kennytm 提交于
Add a test for #48070 Resolves #48070. The bug itself was fixed by #48770, but that PR didn't add a test for it. r? @nikomatsakis
-
由 kennytm 提交于
rustc: Don't invoke `lld` with an `@`-file Looks like LLD doesn't support this yet, so always try to use the OS before we fall back to using `@` cc https://github.com/rust-lang/rust/issues/48948
-
由 kennytm 提交于
Move librustc_typeck READMEs to rustc guide cc https://github.com/rust-lang-nursery/rustc-guide/issues/2 and #48478 Don't merge this before https://github.com/rust-lang-nursery/rustc-guide/pull/85 r? @nikomatsakis
-
由 kennytm 提交于
Add missing examples r? @QuietMisdreavus
-
由 kennytm 提交于
tweak code fences in the rustdoc book You can stack backticks to create "big code fences" if you're documenting some markdown and need to have code fences inside your code fences. This is especially important in this spot in the Rustdoc Book, because we're showing that using no language specifier on your code blocks is interpreted as using `rust`, but the code blocks here lose their code fences! `````````markdown ``````markdown Just showing some recursion, nbd. ```rust println!("sup"); ``` `````` (If you have edit powers in the rust-lang/rust repo, hit the edit button to view the source and see even more recursion :P) `````````
-
由 kennytm 提交于
Remove some unnecessary IdxSet methods This replaces `IdxSet:: reset_to_empty` with `IdxSet:: clear`, and `IdxSet::elems`/`IdxSet::each_bit` with `IdxSet::iter`. Based on some [comments on #rustc](https://botbot.me/mozilla/rustc/2018-01-23/?msg=96063396). r? @pnkfelix
-
由 kennytm 提交于
Fix blink when main theme is selected r? @QuietMisdreavus
-
由 kennytm 提交于
Add info message for -Wall command Users coming from other languages (namely C and C++) often expect to use a -Wall flag. Rustc doesn't support that, and previously it simply printed that it didn't recognize the "all" lint. This change makes rustc print out a help message, explaining: - Why there is no -Wall flag - How to view all the available warnings - Point out that the most commonly used warning is -Wunused - Instead of using a command-line flag, the user should consider a !#[warn(unused)] directive in the root of their crate. I tried to keep the language consistent with the other usage help. Comment if I should change anything. closes #10234, if accepted.
-
- 14 3月, 2018 12 次提交
-
-
由 bors 提交于
Remove syntax and syntax_pos thread locals This moves `syntax` and `syntax_pos` globals into a struct which are pointed to by thread locals. Most of the changes here are indentation changes in test. It would probably be a good idea to ignore whitespace changes while reviewing. Some indentation is unchanged to avoid merge conflicts. r? @michaelwoerister
-
由 John Kåre Alsaker 提交于
-
由 bors 提交于
Update libc to 0.2.39 CC #42681 r? @alexcrichton
-
由 bors 提交于
Put back ui json check r? @petrochenkov
-
由 Guillaume Gomez 提交于
-
由 Guillaume Gomez 提交于
-
由 Peter Hrvola 提交于
Fix #47297 r? @michaelwoerister
-
由 Alex Butler 提交于
-
由 Jeremy Fitzhardinge 提交于
-
由 bors 提交于
Move ascii::escape_default to libcore As requested in #46409, the `ascii::escape_default` method has been added to the core library. All I did was copy over the `std::ascii` module file, remove the (redundant) `AsciiExt` trait, and change some of the documentation to match. None of the tests were changed. I wasn't sure how to handle the annotations. For `EscapeDefault` and `escape_default()`, I changed them to `#[unstable(feature = "core_ascii", issue = "46409")]`. Is that alright? Or should I leave them as they were?
-
由 bobtwinkles 提交于
-
由 bobtwinkles 提交于
Resolves #48070. The bug itself was fixed by #48770, but that PR didn't add a test for it.
-
- 13 3月, 2018 17 次提交
-
-
由 bors 提交于
introduce canonical queries, use for normalization and dropck-outlives This branch adds in the concept of a **canonicalized trait query** and uses it for three specific operations: - `infcx.at(cause, param_env).normalize(type_foldable)` - normalizes all associated types in `type_foldable` - `tcx.normalize_erasing_regions(param_env, type_foldable)` - like normalize, but erases regions first and in the result; this leads to better caching - `infcx.at(cause, param_env).dropck_outlives(ty)` - produces the set of types that must be live when a value of type `ty` is dropped - used from dropck but also NLL outlives This is a kind of "first step" towards a more Chalk-ified approach. It leads to a **big** speedup for NLL, which is basically dominated by the dropck-outlives computation. Here are some timing measurements for the `syn` crate (pre-branch measurements coming soon): | Commit | NLL disabled | NLL enabled | | ------- | --- | --- | | Before my branch | 5.43s | 8.99s | | After my branch | 5.36s | 7.25s | (Note that NLL enabled still does *all the work* that NLL disabled does, so this is not really a way to compare the performance of NLL versus the AST-based borrow checker directly.) Since this affects all codepaths, I'd like to do a full perf run before we land anything. Also, this is not the "final point" for canonicalization etc. I think canonicalization can be made substantially faster, for one thing. But it seems like a reasonable starting point for a branch that's gotten a bit larger than I would have liked. **Commit convention:** First of all, this entire branch ought to be a "pure refactoring", I believe, not changing anything about external behavior. Second, I've tagged the most important commits with `[VIC]` (very important commit), so you can scan for those. =) r? @EddyB
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
Consolidate `trans_apply_param_substs` and `trans_apply_param_substs_env`. Also remove `trans_impl_self_ty`
-
由 Niko Matsakis 提交于
Also, perform substitution in smaller parts.
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
Fixes #31567 Fixes #47470 Fixes #48132 Fixes #48179
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
In particular: - `fully_normalize_monormophic_ty` => `normalize_erasing_regions` - `normalize_associated_type_in_env` => `normalize_erasing_regions` - `fully_normalize_associated_types_in` => `normalize_erasing_regions` - `erase_late_bound_regions_and_normalize` => `normalize_erasing_late_bound_regions`
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
Backed by a canonicalized query. This computes all the types/regions that need to be live when the destructor runs (i.e., that the dtor may access).
-
由 Niko Matsakis 提交于
It is backed by the new `normalize_projection_ty` query, which uses canonicalization.
-
由 Niko Matsakis 提交于
Before, the identifier `X` was also used when generating a pattern to match against the dep-node. So `Foo(DefId)` would generate a match pattern like: match foo { Foo(DefId) => ... } This does not scale to more general types like `&'tcx Ty<'tcx>`. Therefore, we now require *exactly one* argument (the macro was internally tupling anyway, and no actual nodes use more than one argument), and then we can generate a fixed pattern like: match foo { Foo(arg) => ... } Huzzah. (Also, hygiene is nice.)
-
由 Niko Matsakis 提交于
-