- 08 2月, 2018 1 次提交
-
-
由 Gianni Ciccarelli 提交于
a `default impl` need not include all items from the trait a `default impl` alone does not mean that a type implements the trait
-
- 23 1月, 2018 2 次提交
-
-
由 Michael Woerister 提交于
-
由 Niko Matsakis 提交于
It turns out that this *can* happen after all, if the region is only used in projections from the input types.
-
- 21 12月, 2017 2 次提交
-
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-
- 16 12月, 2017 1 次提交
-
-
由 Taylor Cramer 提交于
-
- 15 12月, 2017 1 次提交
-
-
由 Alex Burka 提交于
-
- 11 12月, 2017 1 次提交
-
-
由 Niko Matsakis 提交于
Now that we made `resolve_lifetimes` into a query, elision errors no longer abort compilation, which affects some tests. Also, remove `dep_graph_crosscontaminate_tables` -- there is no a path in the dep-graph, though red-green handles it. The same scenario is (correctly) tested by issue-42602.rs in any case.
-
- 06 12月, 2017 1 次提交
-
-
由 Oliver Schneider 提交于
-
- 05 12月, 2017 1 次提交
-
-
由 Irina-Gabriela Popa 提交于
-
- 23 11月, 2017 1 次提交
-
-
由 Taylor Cramer 提交于
-
- 18 11月, 2017 1 次提交
-
-
由 Taylor Cramer 提交于
After this change, impl Trait existentials are desugared to a new `abstract type` definition paired with a set of lifetimes to apply. In-scope generics are included as parents of the `abstract type` generics. Parent regions are replaced with static, and parent regions referenced in the `impl Trait` type are duplicated at the end of the `abstract type`'s generics.
-
- 16 11月, 2017 2 次提交
-
-
由 Chris Vittal 提交于
Uses Symbol::intern and hir.node_to_pretty_string to create a name for the impl Trait parameter that is just impl and then a ' + ' separated list of bounds that the user typed.
-
由 Christopher Vittal 提交于
Replace hir::TyImplTrait with TyImplTraitUniversal and TyImplTraitExistential. Add an ImplTraitContext enum to rustc::hir::lowering to track the kind and allowedness of an impl Trait. Significantly alter lowering to thread ImplTraitContext and one other boolean parameter described below throughought much of lowering. The other parameter is for tracking if lowering a function is in a trait impl, as there is not enough information to otherwise know this information during lowering otherwise. This change also removes the checks from ast_ty_to_ty for impl trait allowedness as they are now all taking place in HIR lowering.
-
- 08 11月, 2017 5 次提交
-
-
由 Michael Hewson 提交于
-
由 Michael Hewson 提交于
-
由 Michael Hewson 提交于
-
由 Michael Hewson 提交于
Had to take the infer context as a parameter instead of the type context, so that the function can be called during inference
-
由 Michael Hewson 提交于
Rewrote ExplicitSelf, adding a new `Other` variant for arbitrary self types. It’s a bit more sophisticated now, and checks for type equality, so you have to pass the type context and param env as arguments. There’s a borrow-checker error here that I have to fix Rewrote check_method_receiver, so it acts as if arbitrary self types are allowed, and then checks for ExplicitSelf::Other at the end and disallows it unless the feature is present.
-
- 05 11月, 2017 1 次提交
-
-
由 leonardo.yvens 提交于
Any auto trait is allowed in trait object bounds. Fix duplicate check of type and lifetime parameter count.
-
- 03 11月, 2017 2 次提交
-
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
- 28 10月, 2017 1 次提交
-
-
由 Paul Lietar 提交于
-
- 15 10月, 2017 1 次提交
-
-
由 matthewjasper 提交于
-
- 08 10月, 2017 1 次提交
-
-
由 Michael Hewson 提交于
- function has been renamed to check_method_receiver
-
- 06 10月, 2017 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 30 9月, 2017 1 次提交
-
-
由 petrochenkov 提交于
-
- 24 9月, 2017 1 次提交
-
-
由 Ariel Ben-Yehuda 提交于
This reduces the size of hir::Expr from 128 to 88 bytes (!) and shaves 200MB out of #36799.
-
- 23 9月, 2017 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 18 9月, 2017 1 次提交
-
-
由 Michael Woerister 提交于
These Region values end up in crate metadata so they should not use NodeId.
-
- 11 9月, 2017 3 次提交
-
-
由 Eduard-Mihai Burtescu 提交于
-
由 Eduard-Mihai Burtescu 提交于
-
由 Eduard-Mihai Burtescu 提交于
-
- 05 9月, 2017 2 次提交
-
-
由 Alex Crichton 提交于
This commit moves the calculation of the `LanguageItems` structure into a query rather than being calculated before the `TyCtxt` exists, with the eventual end goal of removing some `CrateStore` methods.
-
由 Alex Crichton 提交于
This commit makes the `named_region_map` field of `GlobalCtxt` private by encapsulating the fields behind new queries, and the new queries are also targeted at particular `HirId` nodes instead of accessing the entire map.
-
- 19 8月, 2017 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 16 8月, 2017 1 次提交
-
-
由 Zack M. Davis 提交于
Like #43008 (f6689991), but _much more aggressive_.
-
- 10 8月, 2017 1 次提交
-
-
由 Alex Crichton 提交于
In preparation for incremental compilation this commit refactors the lint handling infrastructure in the compiler to be more "eager" and overall more incremental-friendly. Many passes of the compiler can emit lints at various points but before this commit all lints were buffered in a table to be emitted at the very end of compilation. This commit changes these lints to be emitted immediately during compilation using pre-calculated lint level-related data structures. Linting today is split into two phases, one set of "early" lints run on the `syntax::ast` and a "late" set of lints run on the HIR. This commit moves the "early" lints to running as late as possible in compilation, just before HIR lowering. This notably means that we're catching resolve-related lints just before HIR lowering. The early linting remains a pass very similar to how it was before, maintaining context of the current lint level as it walks the tree. Post-HIR, however, linting is structured as a method on the `TyCtxt` which transitively executes a query to calculate lint levels. Each request to lint on a `TyCtxt` will query the entire crate's 'lint level data structure' and then go from there about whether the lint should be emitted or not. The query depends on the entire HIR crate but should be very quick to calculate (just a quick walk of the HIR) and the red-green system should notice that the lint level data structure rarely changes, and should hopefully preserve incrementality. Overall this resulted in a pretty big change to the test suite now that lints are emitted much earlier in compilation (on-demand vs only at the end). This in turn necessitated the addition of many `#![allow(warnings)]` directives throughout the compile-fail test suite and a number of updates to the UI test suite.
-
- 29 7月, 2017 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 11 7月, 2017 1 次提交
-
-
由 Tobias Schottdorf 提交于
Addresses the second part of #42171 by removing the `TraitRef` from `ProjectionTy`, and directly storing its `Substs`. Closes #42171.
-