- 15 12月, 2017 32 次提交
-
-
由 bors 提交于
Update the rls and rustfmt submodules r? @nrc
-
由 Oliver Schneider 提交于
-
由 bors 提交于
Lifetime Resolution for Generic Associated Types Tracking Issue: https://github.com/rust-lang/rust/issues/44265 r? @nikomatsakis This PR implements lifetime resolution for generic associated types.
🎉 ## Remaining Work Before Merge I'm going to go do these things in the next day or so. Please let me know if you spot anything in my changes until then. - [x] If I'm not mistaken, at least some tests should pass now. I need to go through the tests and re-enable the ones that should work by removing the appropriate `~ ERROR` comments -
由 bors 提交于
When attempting to write str with single quote suggest double quotes Fix #26101.
-
由 Esteban Küber 提交于
-
由 bors 提交于
[MIR-borrowck] Two phase borrows This adds limited support for two-phase borrows as described in http://smallcultfollowing.com/babysteps/blog/2017/03/01/nested-method-calls-via-two-phase-borrowing/ The support is off by default; you opt into it via the flag `-Z two-phase-borrows` I have written "*limited* support" above because there are simple variants of the simple `v.push(v.len())` example that one would think should work but currently do not, such as the one documented in the test compile-fail/borrowck/two-phase-reservation-sharing-interference-2.rs (To be clear, that test is not describing something that is unsound. It is just providing an explicit example of a limitation in the implementation given in this PR. I have ideas on how to fix, but I want to land the work that is in this PR first, so that I can stop repeatedly rebasing this branch.)
-
由 bors 提交于
rustc: unpack newtyped of #[repr(simd)] vector types. Prerequisite for a `#[repr(transparent)]` implementation that works with SIMD vectors. cc @rkruppe
-
由 bors 提交于
Move compile-fail tests with NOTE/HELP annotations to UI Remove NOTE/HELP annotations from UI tests cc https://github.com/rust-lang/rust/issues/44844 @oli-obk @est31 r? @nikomatsakis
-
由 Felix S. Klock II 提交于
Instead, filter out (non-)conflicts of activiations with themselves in the same manner that we filter out non-conflict between an activation and its reservation.
-
由 Felix S. Klock II 提交于
In reality the currently generated MIR has at least one of the activations in a copy that occurs before the merge. But still, good to have a test, in anticipation of that potentially changing...
-
由 Felix S. Klock II 提交于
-
由 bors 提交于
trait alias infrastructure This will be an implementation of trait aliases (RFC 1733, #41517). Progress so far: - [x] Feature gate - [x] Add to parser - [x] `where` clauses - [x] prohibit LHS type parameter bounds via AST validation https://github.com/rust-lang/rust/pull/45047#discussion_r143575575 - [x] Add to AST and HIR - [x] make a separate PathSource for trait alias contexts https://github.com/rust-lang/rust/pull/45047#discussion_r143353932 - [x] Stub out enough of typeck and resolve to just barely not ICE Postponed: - [ ] Actually implement the alias part - [ ] #21903 - [ ] #24010 I need some pointers on where to start with that last one. The test currently does this: ``` error[E0283]: type annotations required: cannot resolve `_: CD` --> src/test/run-pass/trait-alias.rs:34:16 | 34 | let both = foo(); | ^^^ | = note: required by `foo` ```
-
由 Vadim Petrochenkov 提交于
Update docs for custom normalization of test output
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-
由 bors 提交于
incr.comp.: Speed up span hashing by caching expansion context hashes. This PR fixes the performance regressions from https://github.com/rust-lang/rust/pull/46338. r? @nikomatsakis
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Alex Burka 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
- 14 12月, 2017 8 次提交
-
-
由 bors 提交于
Validate miri against the HIR const evaluator r? @EddyB cc @alexcrichton @arielb1 @RalfJung The interesting parts are the last few functions in `librustc_const_eval/eval.rs` * We warn if miri produces an error while HIR const eval does not. * We warn if miri produces a value that does not match the value produced by HIR const eval * if miri succeeds and HIR const eval fails, nothing is emitted, but we still return the HIR error * if both error, nothing is emitted and the HIR const eval error is returned So there are no actual changes, except that miri is forced to produce the same values as the old const eval. * This does **not** touch the const evaluator in trans at all. That will come in a future PR. * This does **not** cause any code to compile that didn't compile before. That will also come in the future It would be great if someone could start a crater run if travis passes
-
由 Felix S. Klock II 提交于
Address review note: `AccessErrorsReported` meant to track whether error reported at *any* point in past.
-
由 Oliver Schneider 提交于
-
由 bors 提交于
Use PathBuf instead of String where applicable r? @jseyfried
-
由 Oliver Schneider 提交于
-
由 Oliver Schneider 提交于
-
由 bors 提交于
Point at whole method call instead of args To avoid confusion in cases where the code is ```rust fn foo() {} / foo( | bar() | ^^^ current diagnostics point here for arg count mismatch | ); |_^ new diagnostic span points here ``` as this leads to confusion making people think that the diagnostic is talking about `bar`'s arg count, not `foo`'s. Point at `fn`s definition on arg mismatch, just like we do for closures. Re #42855, Fix #45633.
-
由 bors 提交于
Use spans for -Z external-macro-backtrace ``` % rustc ui/type-check/cannot_infer_local_or_vec.rs -Z external-macro-backtrace error[E0282]: type annotations needed --> <vec macros>:3:1 | 1 | / ( $ elem : expr ; $ n : expr ) => ( 2 | | $ crate :: vec :: from_elem ( $ elem , $ n ) ) ; ( $ ( $ x : expr ) , * ) => ( 3 | | < [ _ ] > :: into_vec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * ) | | ^^^^^^^^^^^^^^^^^^^^^ | | | | | cannot infer type for `T` 4 | | => ( vec ! [ $ ( $ x ) , * ] ) | |______________________________- in this expansion of `vec!` | ::: ui/type-check/cannot_infer_local_or_vec.rs | 12 | let x = vec![]; | - ------ in this macro invocation | | | consider giving `x` a type error: aborting due to previous error ```
-