diff options
| author | bors <bors@rust-lang.org> | 2017-12-14 20:57:09 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-12-14 20:57:09 +0000 |
| commit | 0077d128d33543290140763ce7d84d05eb57c40a (patch) | |
| tree | 1d7cc06236dd24ffa7590d9c131c43dabb7b9f57 /src/rustllvm/RustWrapper.cpp | |
| parent | 3fc7f8522bbe59189b6423295a65f337b9735a88 (diff) | |
| parent | 834674fa1d97f0e83baf99e1da5e24b82d41f63c (diff) | |
| download | rust-0077d128d33543290140763ce7d84d05eb57c40a.tar.gz rust-0077d128d33543290140763ce7d84d05eb57c40a.zip | |
Auto merge of #45047 - durka:trait-alias, r=petrochenkov
trait alias infrastructure
This will be an implementation of trait aliases (RFC 1733, #41517).
Progress so far:
- [x] Feature gate
- [x] Add to parser
- [x] `where` clauses
- [x] prohibit LHS type parameter bounds via AST validation https://github.com/rust-lang/rust/pull/45047#discussion_r143575575
- [x] Add to AST and HIR
- [x] make a separate PathSource for trait alias contexts https://github.com/rust-lang/rust/pull/45047#discussion_r143353932
- [x] Stub out enough of typeck and resolve to just barely not ICE
Postponed:
- [ ] Actually implement the alias part
- [ ] #21903
- [ ] #24010
I need some pointers on where to start with that last one. The test currently does this:
```
error[E0283]: type annotations required: cannot resolve `_: CD`
--> src/test/run-pass/trait-alias.rs:34:16
|
34 | let both = foo();
| ^^^
|
= note: required by `foo`
```
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
