aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/traits/builtin.rs
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade Chalk againFlorian Diebold2020-04-051-18/+35
| | | | | | | 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.
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-20/+16
| | | | | | | 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).
* Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-291-1/+1
|
* Shorten some codeFlorian Diebold2020-02-221-4/+1
|
* Rework find_super_trait_path to protect against cyclesFlorian Diebold2020-02-221-4/+2
|
* Add &dyn Trait -> &dyn SuperTrait coercion, and fix &T -> &dyn TraitFlorian Diebold2020-02-221-30/+65
|
* Implement dyn Trait unsizing as wellFlorian Diebold2020-02-221-7/+105
|
* Implement unsize coercion using proper trait solvingFlorian Diebold2020-02-221-1/+60
|
* More manual clippy fixesKirill Bulatov2020-02-181-2/+2
|
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-181-3/+3
|
* Introduce our own Chalk TypeFamily, instead of using ChalkIrFlorian Diebold2019-12-221-16/+33
| | | | | | It's not very different, except we can directly use Salsa IDs instead of casting them. This means we need to refactor the handling of errors to get rid of UNKNOWN_TRAIT though.
* Rename N! to name!Florian Diebold2019-12-131-3/+3
|
* Add macros for known names and pathsFlorian Diebold2019-12-131-3/+3
|
* Extract built-in trait implementations to separate moduleFlorian Diebold2019-12-031-0/+161
This untangles the builtin logic from the Chalk translation.