Graydon Hoare
697f1e38d6
Change 'native' and 'crust' to 'extern'.
...
This comes with a terminology change. All linkage-symbols are 'extern'
now, including rust syms in other crates. Some extern ABIs are
merely "foreign". The term "native" is retired, not clear/useful.
What was "crust" is now "extern" applied to a _definition_. This
is a bit of an overloading, but should be unambiguous: it means
that the definition should be made available to some non-rust ABI.
2012-06-26 16:18:37 -07:00
Niko Matsakis
013fc92423
remove alias analysis and replace with borrowck
...
This reverts commit 7ef825bb607c4e934c92bd0b73ecbc4c24f3286b.
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 7f6ee0ce0df8af4c21b065cb49b95079ae643f77.
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
Michael Sullivan
6396e2c3c3
Make vecs implicitly copyable for all of our projects.
2012-06-04 19:53:30 -07:00
Niko Matsakis
6c6ad229a3
break up borrowck into modules and begin to document how it works
2012-06-01 10:50:19 -07:00
Kevin Cantu
7dcbaedd32
Rename librustsyntax to libsyntax
...
Per issue #2418 .
2012-05-31 11:15:00 -07:00
Brian Anderson
736ff34e8a
rustc: Move filesearch into metadata mod
...
It's not that related to metadata, but metadata needs it and it will
probably be useful for doing dynamic loading.
2012-05-29 20:38:49 -07:00
Niko Matsakis
9e6a068034
replace last_use with liveness info
2012-05-25 14:37:30 -07:00
Niko Matsakis
30b47649ea
new liveness pass to supercede last_use / initedness
2012-05-24 09:52:03 -07:00
Niko Matsakis
a3be0b1054
fix classes and parameterized ifaces; remove needless self check
...
ref #1726 , #2434
2012-05-24 06:49:40 -07:00
Brian Anderson
9aa18c2852
rustc: Move ast_map to the syntax crate
2012-05-21 23:39:27 -07:00
Niko Matsakis
67ca37ac61
workaround a horribly obscure resolve bug
2012-05-18 14:32:37 -07:00
Niko Matsakis
558be3a70f
pull method lookup / region manip into their own modules
2012-05-16 08:51:16 -07:00
Niko Matsakis
564aa59a3f
further reorganization
2012-05-16 08:02:43 -07:00
Niko Matsakis
5c8069d817
break out type checking of alts/patterns (again)
2012-05-16 06:57:13 -07:00
Niko Matsakis
da98e14c94
Revert "break out type checking of alts/patterns"
...
This reverts commit 8d1c1720e331ea56cfde33ab047216d232236e4b.
2012-05-16 06:38:23 -07:00
Niko Matsakis
8d1c1720e3
break out type checking of alts/patterns
2012-05-16 06:37:53 -07:00
Niko Matsakis
7512284a94
further modularization of typeck, add comments
2012-05-16 06:06:42 -07:00
Brian Anderson
0e21a05e6c
rustc: Extract loader mod from creader mod
...
loader is a utility for locating crates and loading their metadata.
creader is a compiler pass that loads metadata for all used libraries.
2012-05-15 21:36:16 -07:00
Niko Matsakis
ab735320b4
move regionck into typeck, in the process fixing a bug or two
2012-05-15 19:05:03 -07:00
Niko Matsakis
250bbddb90
move infer into typeck module
2012-05-15 14:06:51 -07:00
Niko Matsakis
26dc48d67f
break apart typeck a little (more to come)
2012-05-15 13:38:29 -07:00
Brian Anderson
32c4b6da5b
rustc: Move astencode from metadata to middle
2012-05-14 19:04:31 -07:00
Graydon Hoare
e12b16cde7
Instantiate per-type iface-based visit_glue when intrinsic ifaces present.
2012-05-14 17:57:48 -07:00
Tim Chevalier
89cd2f6bd0
Enforce that self doesn't escape from a class
...
Closes #2294
2012-05-14 14:26:10 -07:00
Brian Anderson
1f52652a06
rustc: Eliminate some indirection to the syntax crate
2012-05-13 17:33:29 -07:00
Brian Anderson
a2572fe77e
rustc: Eliminate metadata's dependency on trans
2012-05-13 17:08:35 -07:00
Brian Anderson
ecf290d448
rustc: Be explicit about which peer modules the metadata mod can access
...
This is the first step in eliminating dependencies on rustc so we can extract
the metadata code into its own crate.
2012-05-13 15:58:10 -07:00
Niko Matsakis
b4d1f1b2c1
replace mutbl pass with borrowck
2012-05-10 21:14:43 -07:00
Graydon Hoare
c23d6a50d7
Preliminary groundwork for intrinsic module, reflection interface.
2012-05-10 17:18:04 -07:00
Niko Matsakis
50a3dd40ae
implement new borrow ck (disabled by default)
2012-05-09 17:00:19 -07:00
Brian Anderson
d13c0c77a2
Explicitly use version 0.2 of crates
2012-04-05 20:29:42 -07:00
Brian Anderson
106c9faa59
rustc: Move ext to librustsyntax
2012-03-29 14:42:31 -07:00
Brian Anderson
442d0a783a
rustc: Move attr, parse, print to rustsyntax
2012-03-29 14:42:31 -07:00
Brian Anderson
15947f8b19
rustc: Move lexer and token to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
8f809f89d9
rustc: Move diagnostic to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
5c25e78b27
rustc: Move fold to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
454df53464
rustc: Move interner to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
9e299f53f4
rustc: Move ast, ast_util, visit to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
140151f3f9
rustc: Move codemap to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
a0ed1fb20b
build: Introduce rustsyntax crate
2012-03-29 14:42:30 -07:00
Graydon Hoare
b37d7e26fe
Update crate URLs to point to interesting things.
2012-03-28 13:52:47 -07:00
Brian Anderson
a477aaba08
rustc: Move eval_const_expr to its own mod
2012-03-26 17:16:26 -07:00
Marijn Haverbeke
87e097a853
Disallow ret inside of block functions
...
Also adds proper checking for cont/break being inside a loop.
Closes #1854
Issue #1619
2012-03-26 12:45:47 +02:00
Niko Matsakis
042c532a08
Implement new inference algorithm.
2012-03-23 21:47:28 -07:00
Brian Anderson
f3fe85dad7
Bump version numbers to 0.2
2012-03-22 15:25:02 -07:00
Marijn Haverbeke
ade1207ba3
Move external-reachability checker to trans
...
Preparation for a fix for issue #2020
2012-03-20 12:28:46 +01:00
Niko Matsakis
d365ec5c7d
kill old serialization code
2012-03-15 18:30:10 -04:00
Marijn Haverbeke
24ed441a05
Reuse monomorphized functions more aggressively
...
Adds a trans::type_use pass that, given a function body, detects how
dependant that function is on properties of its type parameters.
2012-03-15 15:08:31 +01:00