a-mir-formality
a-mir-formality copied to clipboard
a model of MIR and the Rust type/trait system
The following test doesn't terminate. Same when when evaluating `for
Model the lending iterator example: https://github.com/rust-lang/rust/blob/master/src/test/ui/generic-associated-types/extended/lending_iterator_2.rs ```rust #![feature(generic_associated_types)] pub trait LendingIterator { type Item Option LendingIterator LendingIterator
The rust layer permits things like ``` where [(< T as Iterator[] > :: Item[] == u32)] ``` but this is not really what we support in regular Rust (`T:...
On #77, @voidc and I were discussing how we need to check the well-formedness of local variables during MIR type check, but we decided to hold off because of ongoing...
I've been pondering the "decl layer". I think it might be a bit more readable if we made efforts to make it a touch more Rust like. I thought we...
We need a spike that tests out the basic coherence rules. This may require a few different code examples. Work items: * [ ] #65 (includes fundamental) * [ ]...
We need to model the *overlap* rules (excluding, for now, specialization). These rules work roughly like this: * For each impl I1 in the current crate... * For each impl...
We have to figure out how to model early- vs late-bound lifetimes. I believe that we should be able to erase the distinction in a-mir-formality (and, hopefully, eventually in rustc...
We need to model the orphan rules. Best current description is [RFC 2451] [RFC 2451]: (https://rust-lang.github.io/rfcs/2451-re-rebalancing-coherence.html) Work items: * [ ] Integrate the basic orphan rules * [ ] Tests...