Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Publicise GenericParams | Aleksey Kladov | 2019-11-18 | 1 | -3/+3 |
| | | | | See https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Exposing.20GenericParam.2Ename | ||||
* | Refactor to unify with method resolution | Florian Diebold | 2019-11-01 | 1 | -1/+2 |
| | |||||
* | push name down to hir_expand | Aleksey Kladov | 2019-10-30 | 1 | -1/+1 |
| | |||||
* | remove forward pointer for type_ref | Aleksey Kladov | 2019-10-30 | 1 | -1/+1 |
| | |||||
* | remove forward pointer to Path | Aleksey Kladov | 2019-10-30 | 1 | -2/+4 |
| | |||||
* | remove forward pointer for name | Aleksey Kladov | 2019-10-30 | 1 | -5/+9 |
| | |||||
* | Support `$crate` in item and expr place. | uHOOCCOOHu | 2019-09-26 | 1 | -0/+1 |
| | |||||
* | Resolve trait associated items | Florian Diebold | 2019-09-25 | 1 | -6/+9 |
| | | | | E.g. `Default::default` or `<Foo as Default>::default`. | ||||
* | Handle associated type shorthand (`T::Item`) | Florian Diebold | 2019-09-22 | 1 | -3/+8 |
| | | | | | | | | | | | | This is only allowed for generic parameters (including `Self` in traits), and special care needs to be taken to not run into cycles while resolving it, because we use the where clauses of the generic parameter to find candidates for the trait containing the associated type, but the where clauses may themselves contain instances of short-hand associated types. In some cases this is even fine, e.g. we might have `T: Trait<U::Item>, U: Iterator`. If there is a cycle, we'll currently panic, which isn't great, but better than overflowing the stack... | ||||
* | rename AdtDef -> Adt | Aleksey Kladov | 2019-09-12 | 1 | -9/+9 |
| | |||||
* | generalize impl_froms to nested enums | Aleksey Kladov | 2019-09-12 | 1 | -19/+8 |
| | |||||
* | make various enums "inherit" from AdtDef | Aleksey Kladov | 2019-09-12 | 1 | -24/+25 |
| | |||||
* | Lower bounds on trait definition, and resolve assoc types from super traits | Florian Diebold | 2019-09-07 | 1 | -8/+14 |
| | |||||
* | Add `impl Trait` and `dyn Trait` types | Florian Diebold | 2019-08-22 | 1 | -14/+6 |
| | | | | | | | - refactor bounds handling in the AST a bit - add HIR for bounds - add `Ty::Dyn` and `Ty::Opaque` variants and lower `dyn Trait` / `impl Trait` syntax to them | ||||
* | Don't add `?` bounds as real bounds | Aleksey Kladov | 2019-08-22 | 1 | -0/+8 |
| | | | | closes #1709 | ||||
* | remove ast::*Kind from hir | Aleksey Kladov | 2019-08-19 | 1 | -2/+2 |
| | |||||
* | migrate ra_hir to the new rowan | Aleksey Kladov | 2019-07-19 | 1 | -11/+11 |
| | |||||
* | cargo format | Muhammad Mominul Huque | 2019-07-07 | 1 | -5/+1 |
| | |||||
* | Constify KnownName's | Muhammad Mominul Huque | 2019-07-07 | 1 | -1/+2 |
| | |||||
* | Make EnumVariant a GenericDef and simplify some code | Florian Diebold | 2019-07-06 | 1 | -3/+9 |
| | |||||
* | allow rustfmt to reorder imports | Aleksey Kladov | 2019-07-04 | 1 | -5/+6 |
| | | | | | | This wasn't a right decision in the first place, the feature flag was broken in the last rustfmt release, and syntax highlighting of imports is more important anyway | ||||
* | remove inherent source impls | Aleksey Kladov | 2019-06-11 | 1 | -1/+3 |
| | |||||
* | use Source for impl block | Aleksey Kladov | 2019-06-11 | 1 | -2/+2 |
| | |||||
* | use Source for Trait | Aleksey Kladov | 2019-06-11 | 1 | -1/+1 |
| | |||||
* | use Source for TypeAlias | Aleksey Kladov | 2019-06-11 | 1 | -1/+1 |
| | |||||
* | use Source for Function | Aleksey Kladov | 2019-06-11 | 1 | -1/+1 |
| | |||||
* | use Source more | Aleksey Kladov | 2019-06-11 | 1 | -1/+1 |
| | |||||
* | introduce Source struct | Aleksey Kladov | 2019-06-11 | 1 | -1/+1 |
| | |||||
* | add AstDatabase | Aleksey Kladov | 2019-06-02 | 1 | -2/+2 |
| | |||||
* | add union to code_model | Aleksey Kladov | 2019-05-23 | 1 | -3/+10 |
| | |||||
* | remove minor code duplication | Aleksey Kladov | 2019-05-20 | 1 | -2/+2 |
| | |||||
* | Add default type to GenericParam | Edwin Cheng | 2019-05-19 | 1 | -3/+10 |
| | |||||
* | Add support for inline bounds | Florian Diebold | 2019-05-11 | 1 | -16/+27 |
| | | | | E.g. impl<T: Clone> Foo for T. | ||||
* | Handle where clauses in trait solving | Florian Diebold | 2019-05-11 | 1 | -3/+16 |
| | |||||
* | Chalk integration | Florian Diebold | 2019-05-04 | 1 | -1/+10 |
| | | | | | - add proper canonicalization logic - add conversions from/to Chalk IR | ||||
* | Add HIR for where clauses & ignore impls with where clauses in trait resolution | Florian Diebold | 2019-04-21 | 1 | -2/+40 |
| | | | | | This prevents any `impl<T> Trait for T where ...` from being treated as a blanket impl while we don't handle where clauses yet. | ||||
* | Extract generic_params method to a HasGenericParams trait | Florian Diebold | 2019-04-14 | 1 | -0/+13 |
| | |||||
* | Add Container enum to handle both kinds of container (impl/trait) | Florian Diebold | 2019-04-14 | 1 | -7/+13 |
| | |||||
* | More trait infrastructure | Florian Diebold | 2019-04-14 | 1 | -3/+7 |
| | | | | | | | | | | - make it possible to get parent trait from method - add 'obligation' machinery for checking that a type implements a trait (and inferring facts about type variables from that) - handle type parameters of traits (to a certain degree) - improve the hacky implements check to cover enough cases to exercise the handling of traits with type parameters - basic canonicalization (will probably also be done by Chalk) | ||||
* | Get substs for trait refs in impl blocks | Florian Diebold | 2019-04-14 | 1 | -1/+5 |
| | |||||
* | rename persistent hir database -> def database | Aleksey Kladov | 2019-03-23 | 1 | -2/+2 |
| | |||||
* | replace todo with fixme | Aleksey Kladov | 2019-03-23 | 1 | -1/+1 |
| | |||||
* | Rename Type => TypeAlias | Florian Diebold | 2019-02-24 | 1 | -5/+8 |
| | |||||
* | Fix handling of generics in tuple variants and refactor a bit | Florian Diebold | 2019-02-20 | 1 | -0/+13 |
| | | | | | | Also make them display a tiny bit nicer. Fixes #860. | ||||
* | Handle impl generics in method calls | Florian Diebold | 2019-02-16 | 1 | -10/+28 |
| | |||||
* | Add generic params to impl blocks | Florian Diebold | 2019-02-16 | 1 | -2/+4 |
| | |||||
* | reformat the world | Aleksey Kladov | 2019-02-08 | 1 | -8/+2 |
| | |||||
* | Make the Resolution variants tuple variants | Florian Diebold | 2019-02-01 | 1 | -0/+1 |
| | |||||
* | split HirDatabase api | csmoe | 2019-02-01 | 1 | -2/+2 |
| | |||||
* | Migrate trait & type to new ids | Aleksey Kladov | 2019-01-24 | 1 | -16/+7 |
| |