| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Type-relative paths (`<T>::foo`) also need to work in type context, for example
`<T>::Item` is legal. So rather than returning the type ref from the resolver
function, just check it before.
|
|
|
|
|
| |
When resolving an associated item in value namespace, use the `Ty` lowering code
for the segments before the last instead of replicating it.
|
| |
|
|
|
|
|
|
| |
E.g. `fn foo<T: Iterator>() -> T::Item`. It seems that rustc does this only for
type parameters and only based on their bounds, so we also only consider traits
from bounds.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1858: use usual token tree for macro expansions r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| | |
1855: split mbe expander code into two modules r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1817: Support path starting with a type r=matklad a=uHOOCCOOHu
The path syntax `<Ty>::foo`
Co-authored-by: uHOOCCOOHu <[email protected]>
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
1852: Gracefully handle `const _` items in `ConstData` r=ecstatic-morse a=ecstatic-morse
A follow-up to #1847.
This makes the `name` field of `ConstData` optional.
Co-authored-by: Dylan MacKenzie <[email protected]>
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1848: Parse `..` as a full pattern r=matklad a=ecstatic-morse
Resolves #1479.
This PR implements [RFC 2707](https://github.com/rust-lang/rfcs/pull/2707) in the parser. It introduces a new `DotDotPat` AST node modeled on `PlaceholderPat` and changes the parsing of tuple and slice patterns to conform to the RFC.
Notably, this PR does *not* change the resulting AST when `..` appears in a struct pattern (e.g. `Struct { a, b: c, .. }`). I *think* this is the behavior mandated by RFC 2707, but someone should confirm this.
Co-authored-by: Dylan MacKenzie <[email protected]>
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This is modeled on `PlaceholderPat`.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1847: Allow an underscore as the identifier in `const` items r=matklad a=ecstatic-morse
[RFC 2526](https://github.com/rust-lang/rust/issues/54912) was recently stabilized, meaning `const _: i32 = 5;` is now a valid item.
Co-authored-by: Dylan MacKenzie <[email protected]>
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1846: Remove a dbg! r=flodiebold a=flodiebold
Co-authored-by: Florian Diebold <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1844: Support bare `Trait` without dyn r=flodiebold a=flodiebold
Co-authored-by: Florian Diebold <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1843: Upgrade Chalk r=flodiebold a=flodiebold
... and remove Ty::UnselectedProjection. It'll be handled differently.
Co-authored-by: Florian Diebold <[email protected]>
|
|/
|
|
| |
... and remove Ty::UnselectedProjection. It'll be handled differently.
|
|\
| |
| |
| |
| |
| |
| |
| | |
1838: rename add_resolution -> add_scope_def r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| | |
1833: Specify desirable namespace when calling resolve r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/
|
|
| |
That way, we are able to get rid of a number of unreachable statements
|
|\
| |
| |
| |
| |
| |
| |
| | |
1835: rename AdtDef -> Adt r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1832: start cleaning up the resolution r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/
|
|
|
|
|
| |
Nameres related types, like `PerNs<Resolution>`, can represent
unreasonable situations, like a local in a type namespace. We should
clean this up, by requiring that call-site specifies the kind of
resolution it expects.
|
|\
| |
| |
| |
| |
| |
| |
| | |
1828: add macros with local_inner_macros argument r=matklad a=JasperDeSutter
fixes #1816
Co-authored-by: JasperDeSutter <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1818: Infer box expression r=matklad a=uHOOCCOOHu
Infer `box e` to be `std::boxed::Box<T>` where `e: T`
Co-authored-by: uHOOCCOOHu <[email protected]>
|
| | |
|