| Age | Commit message (Collapse) | Author | Lines |
|
1. Enforce mutability declarations on class fields. Don't allow any
mutation of class fields not declared as mutable (except inside the
constructor).
2. Handle classes correctly in shape (treat classes like records).
|
|
|
|
Closes #2048
|
|
Oops. We can't do this yet until the next snapshot.
|
|
Closes #2042
Closes #1981
|
|
|
|
|
|
Cross-crate method calls don't work yet. Added
run-pass/class-method-cross-crate to test that, but it's xfailed
References to fields within methods don't work yet. Added
run-pass/class-methods to test that, but it's also xfailed
|
|
In particular, use the ast::method type to represent a class method,
and try to reuse as much iface code as possible. (This makes sense now
since I'll be allowing polymorphic class methods.)
|
|
This is necessary to calculate the correct offsets for field references.
Simple cross-crate class tests (still with fields only) now pass.
|
|
Class tests still fail at runtime
|
|
Cross-crate metadata for classes works well enough that programs with
classes in other crates compile successfully, but output wrong results.
Checking in work so far to avoid merge hassles. (Tests are xfailed.)
|
|
|
|
|
|
With the assumption of monomorphization
|
|
|
|
Instead of using the new_ prefix just name them after their type
|
|
- Move io, run and rand to core.
- Remove incorrect ctypes module (use libc).
- Remove os-specific modules for os and fs.
- Split fs between core::path and core::os.
|
|
This required changing almost all users of hashmaps to import the hashmap interface first.
The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.
|
|
This reverts commit f0250a23d3fa2f8b4a4a4113ca89e41945a4cfed.
|
|
This required changing almost all users of hashmaps to import the hashmap interface first.
The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.
|
|
|