Florian Diebold
530b3047ed
Deduplicate impls in impls_for_trait
...
This was duplicating impls in dependencies a lot...
2019-05-07 13:45:29 +02:00
Florian Diebold
a78228a39c
Turn implements
into a query again
2019-05-07 13:45:29 +02:00
Florian Diebold
0f34568924
Turn eprintln!s into debug!s
2019-05-04 18:18:30 +02:00
Florian Diebold
0ad7317b24
Canonicalize before doing method resolution
2019-05-04 18:18:30 +02:00
Florian Diebold
ef77d83751
Document the peculiarity of the solver query a bit
...
Also remove the only remaining mention of chalk outside of the ty::traits
module.
2019-05-04 18:18:30 +02:00
Florian Diebold
c8a643f090
Move Chalk conversion code to its own module
2019-05-04 18:18:30 +02:00
Florian Diebold
6c3ee834d6
Simplify solution_from_chalk
2019-05-04 18:18:30 +02:00
Florian Diebold
b9c0c2abb7
Chalk integration
...
- add proper canonicalization logic
- add conversions from/to Chalk IR
2019-05-04 18:18:30 +02:00
Florian Diebold
787fb3e5ec
Add HIR for where clauses & ignore impls with where clauses in trait resolution
...
This prevents any `impl<T> Trait for T where ...` from being treated as a
blanket impl while we don't handle where clauses yet.
2019-04-21 15:01:17 +02:00
Florian Diebold
a1ed53a4f1
More trait infrastructure
...
- 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)
2019-04-14 11:28:53 +02:00