Corey Richardson
32753ed811
middle: trans: meth: remove dead code
2014-04-02 11:17:22 -04:00
Daniel Micay
cbbc1fc843
vec: convert append
and append_one
to methods
...
These were only free functions on `~[T]` because taking self by-value
used to be broken.
2014-03-31 01:13:48 -04:00
Marvin Löbel
c356e3ba6a
Removed deprecated functions map
and flat_map
for vectors and slices.
2014-03-30 03:47:04 +02:00
Eduard Burtescu
75d7d5210a
Implement vtable support for autoderef.
...
Closes #13042 .
2014-03-22 23:31:42 +02:00
Alex Crichton
0dbb909bf7
rustc: Fix fallout of removing get()
2014-03-22 08:48:20 -07:00
Alex Crichton
da3625161d
Removing imports of std::vec_ng::Vec
...
It's now in the prelude.
2014-03-20 09:30:14 -07:00
Daniel Micay
14f656d1a7
rename std::vec_ng -> std::vec
...
Closes #12771
2014-03-20 04:25:32 -04:00
Eduard Burtescu
0bb6de3076
De-@ move maps and rework parts of trans.
2014-03-17 09:53:08 +02:00
Eduard Burtescu
6c42ef31dc
De-@ trans contexts.
2014-03-17 09:53:07 +02:00
Eduard Burtescu
4fae06824c
De-@ Session usage.
2014-03-17 09:53:06 +02:00
Eduard Burtescu
feedd37653
Apply @nikomatsakis' nits and comments patch.
2014-03-13 14:21:45 +02:00
Eduard Burtescu
20b4e159ed
Implement automatic overloaded dereference.
...
Closes #7141 .
2014-03-13 14:21:45 +02:00
Felix S. Klock II
43c07244b3
librustc: Fix up fallout from the automatic conversion.
2014-03-08 21:41:32 +01:00
Patrick Walton
3b6e9d4a7a
librustc: Automatically change uses of ~[T]
to Vec<T>
in rustc.
2014-03-08 21:24:27 +01:00
Eduard Burtescu
05e4d944a9
Replace callee_id with information stored in method_map.
2014-02-26 16:06:45 +02:00
Eduard Burtescu
7a588ceff2
Rename a few typeck method-related structures to UpperCamelCase.
2014-02-26 16:01:36 +02:00
Eduard Burtescu
efef078cfa
Replaced method_map_entry with method_origin and cleaned up vtable checking a bit.
2014-02-19 23:26:40 +02:00
Eduard Burtescu
3af5f38f3c
Don't copy &Trait and &mut Trait to temporaries for every call.
2014-02-14 07:46:41 -08:00
Eduard Burtescu
a02b10a062
Refactored ast_map and friends, mainly to have Paths without storing them.
2014-02-14 08:43:29 +02:00
Flavio Percoco
968633b60a
Replace crate
usage with krate
...
This patch replaces all `crate` usage with `krate` before introducing the
new keyword. This ensures that after introducing the keyword, there
won't be any compilation errors.
krate might not be the most expressive substitution for crate but it's a
very close abbreviation for it. `module` was already used in several
places already.
2014-02-13 20:52:07 +01:00
Daniel Micay
eced501226
allow generating drop glue without the TyDesc
...
Reflection is now the only user of type descriptors. Uses of drop glue
no longer cause a type descriptor to be generated.
2014-02-07 21:20:43 -05:00
Eduard Burtescu
b2d30b72bf
Removed @self and @Trait.
2014-02-07 00:38:33 +02:00
Huon Wilson
f8734df515
rustc: remove use of @[].
2014-02-02 02:59:03 +11:00
Daniel Micay
383e3fd13b
use a more efficient vtable representation
...
[TyDesc, ... methods] -> [destructor, ... methods]
2014-01-29 16:31:46 -05:00
Daniel Micay
50bee30459
stop making visit glue for closures and traits
2014-01-29 10:41:39 -05:00
Eduard Burtescu
15ba0c310a
Demote self to an (almost) regular argument and remove the env param.
...
Fixes #10667 and closes #10259 .
2014-01-27 14:31:24 +02:00
Salem Talha
cc61fc0994
Removed all instances of XXX in preparation for relaxing of FIXME rule
2014-01-26 14:42:53 -05:00
Huon Wilson
68517a2cca
syntax: convert ast_map to use a SmallIntMap.
...
NodeIds are sequential integers starting at zero, so we can achieve some
memory savings by just storing the items all in a line in a vector.
The occupancy for typical crates seems to be 75-80%, so we're already
more efficient than a HashMap (maximum occupancy 75%), not even counting
the extra book-keeping that HashMap does.
2014-01-19 12:56:26 +11:00
Niko Matsakis
84f33fb134
Cleanup trait callees
2014-01-15 20:31:20 -05:00
Niko Matsakis
419ac4a1b8
Issue #3511 - Rationalize temporary lifetimes.
...
Major changes:
- Define temporary scopes in a syntax-based way that basically defaults
to the innermost statement or conditional block, except for in
a `let` initializer, where we default to the innermost block. Rules
are documented in the code, but not in the manual (yet).
See new test run-pass/cleanup-value-scopes.rs for examples.
- Refactors Datum to better define cleanup roles.
- Refactor cleanup scopes to not be tied to basic blocks, permitting
us to have a very large number of scopes (one per AST node).
- Introduce nascent documentation in trans/doc.rs covering datums and
cleanup in a more comprehensive way.
2014-01-15 18:34:38 -05:00
Luqman Aden
d42e75883b
librustc: Don't translate an expr twice when implicitly coercing to a trait object. Fixes #11197 .
2014-01-13 20:52:44 -05:00
Patrick Walton
119c6141f5
librustc: Remove @
pointer patterns from the language
2014-01-13 14:45:21 -08:00
Eduard Burtescu
08ac616d37
Use the right type for self in methods and remove obsoleted items.
...
Fixes #7411 , #10615 .
2014-01-11 16:40:23 +02:00
Eduard Burtescu
6b221768cf
libsyntax: Renamed types, traits and enum variants to CamelCase.
2014-01-09 22:25:28 +02:00
bors
c34fc5e33b
auto merge of #11387 : pcwalton/rust/de-at-block, r=alexcrichton
...
r? @brson
2014-01-09 02:26:26 -08:00
Patrick Walton
5e637a890c
librustc: Move block contexts into per-function arenas, and
...
stack-allocate function contexts.
2014-01-07 17:00:47 -08:00
Raphael Catolino
1812a7b540
Remove unnecessary substitution of type params when generating
...
vtable methods before translating the ref to the method itself.
2014-01-08 00:56:16 +01:00
Patrick Walton
449ebeea08
librustc: De-@mut
the AST map
2014-01-03 14:01:58 -08:00
Luqman Aden
1265a03139
librustc: Implement coercion for traits.
2013-12-27 03:26:46 -05:00
Patrick Walton
4fe1cb1aff
librustc: De-@mut
the vtable map
2013-12-26 13:01:28 -08:00
Patrick Walton
55a7b2fedd
librustc: De-@mut
the impls
table in the type context
2013-12-26 13:01:28 -08:00
Patrick Walton
b941677ea3
librustc: De-@mut
the crate context
2013-12-26 13:01:26 -08:00
Patrick Walton
1185fcc437
librustc: De-@mut
the impl_method_cache
2013-12-26 13:01:24 -08:00
Patrick Walton
13f85cb097
librustc: De-@mut
CrateContext::vtables
.
2013-12-26 13:01:23 -08:00
Patrick Walton
c9432327c4
librustc: Change @mut Block
to @Block
.
2013-12-26 13:01:21 -08:00
Eduard Burtescu
a9c4b18b18
Box Block, fn_decl, variant and Ty in the AST, as they were inflating critical enum sizes.
2013-12-01 00:00:39 +02:00
Alex Crichton
ab387a6838
Register new snapshots
2013-11-28 20:27:56 -08:00
Patrick Walton
8ceb374ab7
librustc: Remove non-procedure uses of do
from librustc, librustdoc,
...
and librustpkg.
2013-11-26 08:25:00 -08:00
Luqman Aden
5754848f8c
libsyntax/librustc: Allow specifying mut on by-value self.
2013-10-22 21:21:21 -04:00
Alex Crichton
daf5f5a4d1
Drop the '2' suffix from logging macros
...
Who doesn't like a massive renaming?
2013-10-22 08:09:56 -07:00