Comments (6)
cc @Garogolun, who expressed some interest here.
from chalk.
Adding InScope
went scaringly quickly, but maybe I missed something. The commit is here.
If I understand correctly, the next step is to add types such as T::Item
(where the trait is not specified), and generate rules to infer <T as Iterator>::Item
from T::Item
and things like InScope(Iterator)
? (I also tried thinking a bit about these rules, but I don't know what rustc does exactly.)
from chalk.
@Garogolun argh, sorry, I'm having trouble keeping up with GH notifications right now. Feel free to reach out over gitter for faster responses. =)
Anyway, that commit looks pretty reasonable.
Yes, I think that the next step would be to add a new kind of type that is like an associated type but without the trait, and a rule like:
Normalize<Item>(A, B) :-
InScope(Iterator),
Normalize<Iterator::Item>(A, B).
from chalk.
@Garogolun are you still on it? If not, I am interested in picking this up π
from chalk.
@fabric-and-ink I'm actually on it right now. π Should have something soon.
from chalk.
OK, this is done.
from chalk.
Related Issues (20)
- CI Publish job using Mac runner HOT 2
- When Rust 1.55 hits stable, replace `ControlFlow` with std version
- Recursive solver reports ambiguity HOT 7
- Idea: rework how SLG solver uses the environment
- Auto traits are not handled for generic closures HOT 8
- Consider removing unused field
- Clean up coherence chapter in the Chalk book HOT 1
- Ambiguity through unrelated env clauses because of implied bounds HOT 1
- reconcile SLG/recursive solver's attempts to merge multiple results
- book: hard to read mermaid diagram in dark themes
- Lowered command panics with auto trait HOT 1
- Recursive solver hangs on cyclic traits HOT 3
- mdbook-mermaid needs updating
- Unable to deduce projection types of dyn types from supertrait bounds
- ICE: negative subgoal had delayed_subgoals HOT 2
- any progress and roadmapοΌ HOT 1
- Automatic releases have been failing for a couple of months
- Branch protection prevents automatic releases from updating the version number on the `master` branch
- Recursive Solver fails to solve recursive associated type with GAT
- Fails to solve some existential clause HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chalk.