Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove assoc_type_by_name helper | Aleksey Kladov | 2019-11-26 | 1 | -5/+3 |
| | |||||
* | Detangle ty from traits a bit | Aleksey Kladov | 2019-11-26 | 1 | -1/+2 |
| | |||||
* | Introduce hir_ty | Aleksey Kladov | 2019-11-26 | 1 | -32/+2 |
| | |||||
* | Id-ify Ty::Adt | Aleksey Kladov | 2019-11-26 | 1 | -1/+1 |
| | |||||
* | Use TypeAliasId in Ty, pt 2 | Aleksey Kladov | 2019-11-25 | 1 | -3/+6 |
| | |||||
* | Fixme for union fields | Aleksey Kladov | 2019-11-25 | 1 | -0/+1 |
| | |||||
* | Fix hir for ast::UnionDef | Aleksey Kladov | 2019-11-25 | 1 | -2/+2 |
| | |||||
* | Use ids for Callable | Aleksey Kladov | 2019-11-25 | 1 | -18/+20 |
| | |||||
* | Use more IDs | Aleksey Kladov | 2019-11-25 | 1 | -17/+18 |
| | |||||
* | Use GenericDefIdMore | Aleksey Kladov | 2019-11-25 | 1 | -15/+17 |
| | |||||
* | Use GenericDefId more | Aleksey Kladov | 2019-11-25 | 1 | -8/+8 |
| | |||||
* | Remove Resolver from autoderef | Aleksey Kladov | 2019-11-25 | 1 | -11/+10 |
| | | | | | Resolver holds onto too much context, including local scopes. Let's try to pass in only what is necessary -- the trait environment. | ||||
* | Switch to variant-granularity field type inference | Aleksey Kladov | 2019-11-24 | 1 | -11/+19 |
| | |||||
* | Simplify ADT fields | Aleksey Kladov | 2019-11-24 | 1 | -11/+5 |
| | |||||
* | Hide data from public API | Aleksey Kladov | 2019-11-22 | 1 | -2/+2 |
| | |||||
* | Move const&static date to hir_def | Aleksey Kladov | 2019-11-22 | 1 | -2/+2 |
| | |||||
* | Move FunctionData to hir_def | Aleksey Kladov | 2019-11-22 | 1 | -3/+3 |
| | |||||
* | Remove old hir::generics module | Aleksey Kladov | 2019-11-21 | 1 | -16/+17 |
| | |||||
* | Move resolver to hir_def | Aleksey Kladov | 2019-11-21 | 1 | -1/+1 |
| | |||||
* | Decouple | Aleksey Kladov | 2019-11-21 | 1 | -3/+4 |
| | |||||
* | Decouple | Aleksey Kladov | 2019-11-21 | 1 | -8/+8 |
| | |||||
* | Decouple Resolver | Aleksey Kladov | 2019-11-21 | 1 | -13/+18 |
| | |||||
* | Add HasResolver trait | Aleksey Kladov | 2019-11-20 | 1 | -1/+1 |
| | |||||
* | Remove hir/adt.rs | Aleksey Kladov | 2019-11-20 | 1 | -2/+1 |
| | |||||
* | Allow non-path default type parameters | Aleksey Kladov | 2019-11-20 | 1 | -3/+1 |
| | |||||
* | Reduce duplication between uncertain floats & ints | Aleksey Kladov | 2019-11-13 | 1 | -7/+7 |
| | |||||
* | Move definition of exprs to hir_def | Aleksey Kladov | 2019-11-12 | 1 | -5/+33 |
| | |||||
* | Minor refactoring | Aleksey Kladov | 2019-11-12 | 1 | -3/+3 |
| | |||||
* | Unfork struct and union ids | Aleksey Kladov | 2019-11-09 | 1 | -2/+2 |
| | |||||
* | Move Namespace enum closer to usage | Aleksey Kladov | 2019-11-04 | 1 | -2/+13 |
| | |||||
* | Remove last traces of nameres from hir | Aleksey Kladov | 2019-11-03 | 1 | -3/+2 |
| | |||||
* | move struct & enum data to hir_def | Aleksey Kladov | 2019-10-31 | 1 | -4/+4 |
| | |||||
* | move builtin types to hir_def | Aleksey Kladov | 2019-10-31 | 1 | -5/+11 |
| | |||||
* | remove forward pointer for type_ref | Aleksey Kladov | 2019-10-30 | 1 | -2/+4 |
| | |||||
* | remove forward pointer to Path | Aleksey Kladov | 2019-10-30 | 1 | -1/+2 |
| | |||||
* | make_mut_slice | Shotaro Yamada | 2019-10-14 | 1 | -4/+2 |
| | |||||
* | import make_mut_arc_slice | Shotaro Yamada | 2019-10-14 | 1 | -1/+2 |
| | |||||
* | `.collect()` directly into `Arc<[T]>` | Shotaro Yamada | 2019-10-14 | 1 | -18/+14 |
| | |||||
* | Avoid cloning `Arc<[T]>` into a vec if possible | Shotaro Yamada | 2019-10-14 | 1 | -4/+3 |
| | |||||
* | Support inferring `Self` type in enum definitions | ice1000 | 2019-10-08 | 1 | -0/+1 |
| | | | | Signed-off-by: ice1000 <[email protected]> | ||||
* | Add SubstsBuilder | Florian Diebold | 2019-09-26 | 1 | -7/+13 |
| | | | | + further refactoring. | ||||
* | Resolve trait associated items | Florian Diebold | 2019-09-25 | 1 | -1/+1 |
| | | | | E.g. `Default::default` or `<Foo as Default>::default`. | ||||
* | Handle associated type shorthand (`T::Item`) | Florian Diebold | 2019-09-22 | 1 | -9/+88 |
| | | | | | | | | | | | | 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... | ||||
* | Remove assoc type selection code for now to fix crashes | Florian Diebold | 2019-09-17 | 1 | -19/+4 |
| | |||||
* | Small review improvements | Florian Diebold | 2019-09-17 | 1 | -5/+3 |
| | |||||
* | Refactor some more | Florian Diebold | 2019-09-17 | 1 | -10/+24 |
| | | | | | | Type-relative paths (`<T>::foo`) also need to work in type context, for example `<T>::Item` is legal. So rather than returning the type ref from the resolver function, just check it before. | ||||
* | Refactor associated item resolution more | Florian Diebold | 2019-09-17 | 1 | -53/+66 |
| | | | | | When resolving an associated item in value namespace, use the `Ty` lowering code for the segments before the last instead of replicating it. | ||||
* | Resolve assoc types on type parameters | Florian Diebold | 2019-09-17 | 1 | -21/+58 |
| | | | | | | E.g. `fn foo<T: Iterator>() -> T::Item`. It seems that rustc does this only for type parameters and only based on their bounds, so we also only consider traits from bounds. | ||||
* | Support bare `Trait` without dyn | Florian Diebold | 2019-09-14 | 1 | -2/+1 |
| | |||||
* | Specify desirable namespace when calling resolve | Aleksey Kladov | 2019-09-13 | 1 | -55/+53 |
| | | | | That way, we are able to get rid of a number of unreachable statements |