Graydon Hoare
bac89eae48
Remove hokey-hashes from metadata indexes.
2012-09-19 15:51:44 -07:00
Niko Matsakis
8a8f200d10
Introduce auto adjustment table to subsume autoderef/autoref/borrowings.
...
Fixes #3261
Fixes #3443
2012-09-11 21:25:01 -07:00
Paul Stansifer
1153b5dcc8
intern identifiers
2012-08-22 14:59:25 -07:00
Patrick Walton
69daeffddb
rustc: Remove a bunch of unused metadata tags from common
2012-08-17 15:25:40 -07:00
Patrick Walton
578b7266f2
rustc: Encode reexports in the metadata and don't have each_path search tag_paths
2012-08-17 12:42:45 -07:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -07:00
Patrick Walton
2cfe8fb357
rustc: Check self types in method lookup; allow required trait methods to have self types; write self types into metadata
2012-07-31 16:35:11 -07:00
Michael Sullivan
92743dc2a6
Move the world over to using the new style string literals and types. Closes #2907 .
2012-07-14 01:03:43 -07:00
Michael Sullivan
2ea9c8df0f
Accept prefix notation for writing the types of str/~ and friends.
2012-07-12 16:52:26 -07:00
Tim Chevalier
271da617cb
Tag re-exports differently in metadata
...
so that the "list metadata" command doesn't print out anything
about intrinsics, but other code can see them.
Closes #2771
2012-07-09 15:21:29 -07:00
Lindsey Kuper
33334f3c43
Change 'iface' to 'trait' internally; parse trait
as iface
synonym
2012-07-05 11:01:43 -07:00
Brian Anderson
d1fc2b5995
Convert to new closure syntax
2012-07-01 19:19:32 -07:00
Brian Anderson
ce750a7dbc
Box AST idents
2012-06-13 11:30:45 -07:00
Niko Matsakis
013fc92423
remove alias analysis and replace with borrowck
...
This reverts commit 7ef825bb60
.
2012-06-08 20:39:11 -07:00
Brian Anderson
7ef825bb60
Revert "remove alias analysis and replace with borrowck"
...
18s perf regression compiling rustc with opts
This reverts commit 7f6ee0ce0d
.
2012-06-07 19:42:27 -07:00
Niko Matsakis
7f6ee0ce0d
remove alias analysis and replace with borrowck
...
cc #2540
2012-06-07 16:46:57 -07:00
Tim Chevalier
cf2fc2c34e
Annotate or fix FIXMEs in LLVM bindings and metadata code
...
Fixed up a few FIXMEs in lib/llvm to use more descriptive data
types. Covered FIXMEs in metadata::{creader, csearch, decoder} and
one in encoder.
2012-05-17 20:39:17 -07:00
Tim Chevalier
fa5cc5bcd0
Generate drop glue correctly for classes with destructors
2012-05-15 18:00:41 -07:00
Brian Anderson
a2572fe77e
rustc: Eliminate metadata's dependency on trans
2012-05-13 17:08:35 -07:00
Tim Chevalier
931514cfb6
Remove commented-out code and old comments that accidentally snuck in
2012-05-02 14:02:22 -07:00
Tim Chevalier
3d4ef74c9b
Encode the ifaces a class implements in metadata
...
This lets you use class A as if it had type B if A implements B,
and A and B are in different crates from your own.
Closes #2285
2012-05-02 13:38:56 -07:00
Niko Matsakis
b04b415e0d
encode the borrowing table, add a simple cross-crate borrowing test
2012-04-23 16:41:11 -07:00
Niko Matsakis
3c995fb8f3
make nominal types optionally parameterized by a self region.
...
Issue #2201 .
2012-04-19 21:01:11 -07:00
Haitao Li
5aa5220f8a
Encode crate dependencies' hash and version data
2012-04-08 02:00:58 +08:00
Marijn Haverbeke
c902eafa14
Convert old-style for loops to new-style
...
Most could use the each method, but because of the hack used to
disambiguate old- and new-style loops, some had to use vec::each.
(This hack will go away soon.)
Issue #1619
2012-04-06 20:38:23 +02:00
Tim Chevalier
edb747ceed
Enforce mutability declarations in classes; correct shapes for classes
...
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).
2012-03-27 22:11:58 -07:00
Marijn Haverbeke
84019aa0dc
Keep an explicit map of things that have to be spilled
...
This prevents us from spilling locals more than once.
Closes #2040
2012-03-23 16:08:01 +01:00
Marijn Haverbeke
1b81c5112a
Remove last vestiges of old-style intrinsics
...
Closes #2048
2012-03-23 16:08:01 +01:00
Marijn Haverbeke
52d618a99a
Revert removal of intrinsics
...
Oops. We can't do this yet until the next snapshot.
2012-03-23 12:51:20 +01:00
Marijn Haverbeke
f5024692d4
Remove support for the old-style intrinsics
...
Closes #2042
Closes #1981
2012-03-23 12:21:55 +01:00
Tim Chevalier
73a0c17d77
Make cross-crate calls to class methods work
2012-03-22 20:32:47 -07:00
Niko Matsakis
b653a18416
add mut decls to rustc and make them mandatory
2012-03-21 21:04:14 -07:00
Tim Chevalier
1680ccce1e
Classes WIP
...
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.)
2012-03-16 15:28:05 -07:00
Marijn Haverbeke
b6ad34bef4
Properly recognize external intrinsics
2012-03-15 10:22:46 +01:00
Marijn Haverbeke
2c8c50d6cb
Make sure enum and resource constructors are inlined properly
2012-03-15 09:32:53 +01:00
Marijn Haverbeke
83c9f58534
Rename dict to vtable throughout the compiler
...
The difference went away.
2012-03-15 09:28:50 +01:00
Graydon Hoare
87c14f1e3d
Move src/comp to src/rustc
2012-03-02 18:46:13 -08:00