Patrick Walton
464ec27fd3
librustc: De-export metadata. rs=deexporting
2013-01-29 16:51:16 -08:00
Patrick Walton
eb4d39e1fe
libstd: Remove "dual impls" from the language and enforce coherence rules. r=brson
...
"Dual impls" are impls that are both type implementations and trait
implementations. They can lead to ambiguity and so this patch removes them
from the language.
This also enforces coherence rules. Without this patch, records can implement
traits not defined in the current crate. This patch fixes this, and updates
all of rustc to adhere to the new enforcement. Most of this patch is fixing
rustc to obey the coherence rules, which involves converting a bunch of records
to structs.
2013-01-29 10:42:45 -08:00
Daniel Micay
e4337a9def
remove remaining is_not_empty functions/methods
2013-01-24 23:24:57 -05:00
Tim Chevalier
a8d076d2de
syntax/rustc: Make some metadata-related functions take slices, kill bad copies
...
Too small to review.
2013-01-22 11:58:08 -08:00
Tim Chevalier
d3bb4990dd
rustc: Make metadata::encoder::encode_path take an &path
...
Eliminates some bad copies.
2013-01-21 20:39:58 -08:00
Graydon Hoare
84825ee310
librustc: Make the default sigil for block lambdas &
instead of @
.
2013-01-15 17:57:45 -08:00
Erick Tryzelaar
df7d376d25
Convert ast::def_id into a struct.
2013-01-14 18:14:16 -08:00
Tim Chevalier
a4dc65baa1
syntax/rustc: Eliminate some bad copies
...
r=pcwalton
2013-01-14 15:49:53 -08:00
Niko Matsakis
2b92962aa2
A collection of refactorings that I found it hard/tiresome to divide:
...
- Make `extern fn()` assignable to any closure type, rather than
a subtype.
- Remove unused int_ty_set and float_ty_set
- Refactor variable unification and make it more DRY
- Do fn sub/lub/glb on the level of fn_sig
- Rename infer::to_str::ToStr to infer::to_str::InferStr
- Capitalize names of various types
- Correct hashing of FnMeta
- Convert various records-of-fns into structs-of-fns. This is both
eliminating use of deprecated features and more forwards compatible
with fn reform.
r=pcwalton
2013-01-09 14:59:07 -08:00
Patrick Walton
2db3abddcd
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37
Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
...
This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 19:27:57 -08:00
Patrick Walton
53f41f07ce
librustc: Make vectors no longer implicitly copyable in rustc. r=graydon
...
~20% perf win for trans on -O0, with other minor improvements across the board.
No effect on -O2.
2013-01-07 14:17:36 -08:00
Patrick Walton
d2d1d98968
librustc: Encode language items into a special lookup table. 9% improvement in hello world compile time.
2013-01-07 10:51:53 -08:00
Patrick Walton
57c599914a
librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon
2012-12-27 10:02:54 -08:00
Erick Tryzelaar
8650c6f683
Switch from serialization to std::serialize. (snapshot)
2012-12-17 20:00:36 -08:00
Brian Anderson
7ca94369da
Fix encoding of trait static method paths. Closes #4097 . r=pcwalton
2012-12-13 15:02:42 -08:00
Patrick Walton
4c2e4c37ce
librustc: Make use
statements crate-relative by default. r=brson
2012-12-13 13:05:22 -08:00
Tim Chevalier
0046ed9462
Remove un-needed code for obsolete classes
...
and rename "class" to "struct" everywhere possible (except local
vars, I was too lazy for that) -- that is why this commit is so
big.
No review, just dead code removal and renaming.
Closes #3515
2012-12-10 18:45:01 -08:00
Tim Chevalier
d2ad028a7c
Rename std::ebml::Reader => std::ebml::reader, same for writer
...
Closes #4076
2012-12-06 16:14:54 -08:00
Patrick Walton
b8cfd5c414
librustc: Long lines. rs=rustbot
2012-12-04 21:13:02 -08:00
Patrick Walton
56ece46f7d
librustc: Remove all legacy pattern bindings from libsyntax and librustc. rs=refactoring
2012-12-04 14:19:19 -08:00
Graydon Hoare
00c856c0b1
Update license, add license boilerplate to most files. Remainder will follow.
2012-12-03 17:12:14 -08:00
Patrick Walton
a0617eae68
librustc: Eliminate most expressions of the form a.b()
that are not method calls. rs=refactoring
2012-11-29 17:51:56 -08:00
Tim Chevalier
ec0c029a7e
Split EBML module into a reader and a writer module
...
Minor refactoring, no review.
Closes #2739
2012-11-24 13:40:00 -08:00
Brian Anderson
1a1e99c27d
Merge remote-tracking branch 'brson/codemap'
...
Conflicts:
src/libsyntax/ext/source_util.rs
2012-11-17 18:38:39 -08:00
Patrick Walton
32ad4ae4cd
librustc: Require the #[derivable] attribute, remove the significance of "impl Foo : Bar;", and allow only a subset of methods in a trait to be derived. r=brson
2012-11-14 11:36:55 -08:00
Brian Anderson
2ec09c4eb9
Objectify the codemap
2012-11-12 18:24:56 -08:00
Brian Anderson
69a8b4d8e2
Rename src/rustc to src/librustc. Use the driver crate
2012-11-07 13:53:39 -08:00