Eduard Burtescu
1e5a112922
rustc: remove ty::Impl.
2014-04-22 19:14:52 +03:00
Eduard Burtescu
5fa7be659c
rustc: slightly optimize make_mono_id to not clone lots of vectors.
2014-04-22 19:06:55 +03:00
Eduard Burtescu
c9bf84333d
rustc: de-@ method and vtable maps.
2014-04-22 17:18:21 +03:00
Eduard Burtescu
158d7a19b3
rustc: move the method and vtable maps into ty::ctxt.
2014-04-22 17:18:20 +03:00
Alex Crichton
57e0908af3
syntax: Remove AbiSet, use one Abi
...
This change removes the AbiSet from the AST, converting all usage to have just
one Abi value. The current scheme selects a relevant ABI given a list of ABIs
based on the target architecture and how relevant each ABI is to that
architecture.
Instead of this mildly complicated scheme, only one ABI will be allowed in abi
strings, and pseudo-abis will be created for special cases as necessary. For
example the "system" abi exists for stdcall on win32 and C on win64.
Closes #10049
2014-04-03 13:43:45 -07:00
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