aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/display.rs
Commit message (Collapse)AuthorAgeFilesLines
* Align CallableDefId naming with other idsAleksey Kladov2020-07-161-4/+6
|
* Thread varargs through r-aJonas Schievink2020-07-141-2/+9
|
* Clippy perf warningskjeremy2020-07-061-2/+2
| | | | Removes redundant clones
* (Partially) fix handling of type params depending on type paramsFlorian Diebold2020-06-291-8/+10
| | | | | | | | If the first type parameter gets inferred, that's still not handled correctly; it'll require some more refactoring: E.g. if we have `Thing<T, F=fn() -> T>` and then instantiate `Thing<_>`, that gets turned into `Thing<_, fn() -> _>` before the `_` is instantiated into a type variable -- so afterwards, we have two type variables without any connection to each other.
* Review fixesFlorian Diebold2020-06-051-3/+3
|
* Implement return position impl trait / opaque type supportFlorian Diebold2020-06-051-6/+31
| | | | | | | | | | | | | This is working, but I'm not that happy with how the lowering works. We might need an additional representation between `TypeRef` and `Ty` where names are resolved and `impl Trait` bounds are separated out, but things like inference variables don't exist and `impl Trait` is always represented the same way. Also note that this doesn't implement correct handling of RPIT *inside* the function (which involves turning the `impl Trait`s into variables and creating obligations for them). That intermediate representation might help there as well.
* Omit default types in HirDisplay SourceCode modeTimo Freiberg2020-05-101-27/+36
|
* New HirDisplay method for displaying sourcecodeTimo Freiberg2020-05-081-36/+140
|
* Implement Chalk's debug methods using TLSFlorian Diebold2020-04-101-12/+14
| | | | | | | | | | Chalk now panics if we don't implement these methods and run with CHALK_DEBUG, so I thought I'd try to implement them 'properly'. Sadly, it seems impossible to do without transmuting lifetimes somewhere. The problem is that we need a `&dyn HirDatabase` to get names etc., which we can't just put into TLS. I thought I could just use `scoped-tls`, but that doesn't support references to unsized types. So I put the `&dyn` into another struct and put the reference to *that* into the TLS, but I have to transmute the lifetime to 'static for that to work.
* Merge #3744bors[bot]2020-04-061-1/+1
|\ | | | | | | | | | | | | | | | | 3744: Upgrade Chalk r=matklad a=flodiebold Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * Upgrade Chalk againFlorian Diebold2020-04-051-1/+1
| | | | | | | | | | | | | | The big change here is counting binders, not variables (https://github.com/rust-lang/chalk/pull/360). We have to adapt to the same scheme for our `Ty::Bound`. It's mostly fine though, even makes some things more clear.
* | Hide unit fn return typesLaurențiu Nicola2020-04-051-6/+14
|/
* Simplifyveetaha2020-03-311-16/+13
|
* Simplifyveetaha2020-03-281-11/+4
|
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-27/+23
| | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate).
* Move hir_fmt code to display moduleFlorian Diebold2020-02-141-1/+372
|
* Omit default parameters for reference typesKirill Bulatov2020-01-221-1/+1
|
* Omit closure parametersKirill Bulatov2019-12-231-6/+6
|
* Remove TruncateOptions structKirill Bulatov2019-12-191-13/+10
|
* Omit default parameter typesKirill Bulatov2019-12-191-6/+15
|
* Move TyAleksey Kladov2019-11-271-0/+93