| Age | Commit message (Collapse) | Author | Lines |
|
|
|
type declarations.
|
|
to glue of derived tydescs.
|
|
|
|
|
|
|
|
derived tydesc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tydescs to work.
|
|
|
|
|
|
|
|
in
-------------------
type foo = rec(int a);
mod m1 {
mod m2 {
const foo bar = rec(a = 4);
}
}
fn main(vec[str] args) {
log m1.m2.bar.a;
}
-------------------
|
|
|
|
|
|
pat_tag to hold a path.
|
|
|
|
|
|
constructor calls.
|
|
|
|
unresolved names. find_final_def is going to be extended to return the
final expr.
|
|
|
|
|
|
|
|
|
|
|
|
Un-XFAIL const.rs.
|
|
|
|
params.
|
|
|
|
|
|
in trans.rs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
type lteq[T] = fn(&T a) -> bool;
with "unresolved name: T". Before we would silently get to the type checker
and assert in a unresolved ty_path.
|
|
|
|
|
|
* Create an import resolving stage. Currently this involves a copy of the ast,
we can probably revisit this once we revisit doing full copies of the ast in
general.
* Don't repeat work. Once we resolve a import, put it on a hash table and use
it next time we are asked for it. This solves a O(n^2) behaviour in
degenerated cases.
* Once import resolution is done, the target of an import is stored on the
import itself.
|
|
|