Patrick Walton
82a09b9a04
librustc: Remove @mut
support from the parser
2014-01-03 14:02:01 -08:00
Patrick Walton
88281290ff
librustc: Remove @mut
support from the typechecker and borrow checker
2014-01-03 14:02:01 -08:00
Patrick Walton
1d29163e9c
librustc: Eliminate an unnecessary @mut
in pretty printing.
...
This removes all `@mut` from `librustc` and `libsyntax`.
2014-01-03 14:02:00 -08:00
Patrick Walton
4c85cf7a40
libsyntax: De-@mut
CodeMap::files
2014-01-03 14:01:59 -08:00
Patrick Walton
449ebeea08
librustc: De-@mut
the AST map
2014-01-03 14:01:58 -08:00
Patrick Walton
497b63ddf0
librustc: De-@mut
all writers
2014-01-03 14:01:58 -08:00
Patrick Walton
b26018cc89
librustc: De-@mut
(and de-@
) the pretty printer
2014-01-03 14:01:58 -08:00
Patrick Walton
4d66af2698
librustc: De-@mut
the span handler
2014-01-03 14:01:57 -08:00
Patrick Walton
3aa19a6b86
librustc: De-@mut
the parse session
2014-01-03 14:01:56 -08:00
bors
d3ae3a27c4
auto merge of #11264 : am0d/rust/crate_type_lint, r=alexcrichton
...
This ensures that the `crate_type` attribute always contains a value,
and does not contain an invalid value.
Fixes #11256 .
2014-01-03 13:31:58 -08:00
bors
08321f1c49
auto merge of #11149 : alexcrichton/rust/remove-either, r=brson
...
Had to change some stuff in typeck to bootstrap (getting methods in fmt off of Either), but other than that not so painful.
Closes #9157
2014-01-03 12:16:48 -08:00
Alex Crichton
4bea679dbe
Remove std::either
2014-01-03 10:25:23 -08:00
bors
11ce6b709a
auto merge of #11276 : brson/rust/0.9, r=pcwalton
2014-01-03 09:56:44 -08:00
bors
a1cb8dc30c
auto merge of #11275 : matt-auld/rust/update_readme, r=pcwalton
2014-01-03 08:41:45 -08:00
bors
8d4719047b
auto merge of #11262 : alexcrichton/rust/issue-11259, r=pcwalton
...
Closes #11259
2014-01-03 05:46:47 -08:00
bors
fb46225980
auto merge of #11093 : alexcrichton/rust/issue-11085, r=pcwalton
...
Closes #11085
2014-01-02 20:06:56 -08:00
Brian Anderson
56ec9c23a4
Bump version to 0.9
2014-01-02 12:55:20 -08:00
bors
0df9b850ac
auto merge of #10696 : fhahn/rust/issue9543-remove-extern-mod-foo, r=pcwalton
...
This patch for #9543 throws an `obsolete syntax` error for `extern mod foo (name="bar")` .
I was wondering if [this](https://github.com/fhahn/rust/compare/mozilla:master...fhahn:issue9543-remove-extern-mod-foo?expand=1#diff-da9d34ca1d0f6beee2838cf02e07345cR4444 ) is the correct place to do this?
I think the wording of the error message could probably be improved as well.
If this approach is OK, I'm going to run the whole test suite tomorrow and update the old syntax to the new one.
2014-01-02 11:32:09 -08:00
bors
3249de8c4f
auto merge of #11274 : michaelwoerister/rust/issue11083, r=pcwalton
...
This pull request fixes #11083 . The problem was that recursive type definitions were not properly handled for enum types, leading to problems with LLVM's metadata "uniquing". This bug has already been fixed for struct types some time ago (#9658 ) but I seem to have forgotten about enums back then. I added the offending code from issue #11083 as a test case.
2014-01-02 09:02:01 -08:00
Florian Hahn
4cb13ed982
Inject std libs with versions
2014-01-02 16:05:09 +01:00
matt-auld
33c7d76208
Update references to rustc.rc in README.
2014-01-02 15:02:41 +00:00
Michael Woerister
6d20876c3f
debuginfo: Fix issue #11083 and some minor clean up.
2014-01-02 15:20:43 +01:00
bors
ff578b7c83
auto merge of #11269 : am0d/rust/lint_typo, r=sanxiyn
2014-01-02 03:32:02 -08:00
bors
bbdf645811
auto merge of #11268 : lkuper/rust/trans-comment, r=pcwalton
2014-01-02 02:11:48 -08:00
bors
8ba61514c9
auto merge of #11246 : ktt3ja/rust/issue-11224, r=alexcrichton
...
Close #11224
2014-01-01 22:12:11 -08:00
bors
a96951048c
auto merge of #11245 : alexcrichton/rust/issue-11225, r=pcwalton
...
Commit messages are a little more descriptive.
2014-01-01 20:56:54 -08:00
a_m0d
65baedfa1f
Fix typo in lint description.
2014-01-01 23:50:11 -05:00
Lindsey Kuper
99dbb1d51f
Fix comment that's been wrong since ancient times (thanks, @jvns).
2014-01-01 23:02:02 -05:00
bors
1b14a9393a
auto merge of #11242 : Dretch/rust/hashmap-key-value-iterators, r=pcwalton
2014-01-01 17:11:57 -08:00
a_m0d
8965e34789
Add linting for crate_type
attribute values.
...
This ensures that the `crate_type` attribute always contains a value,
and does not contain an invalid value.
2014-01-01 19:55:59 -05:00
Florian Hahn
f42a36cded
Remove extern mod foo (name="bar")
syntax, closes #9543
2014-01-01 23:36:57 +01:00
Alex Crichton
dd33b145f3
Fix usage of rustc --ls on invalid files
...
Closes #11259
2014-01-01 13:20:00 -08:00
bors
c34ef5d7e4
auto merge of #11255 : klutzy/rust/small-cleanup, r=pcwalton
...
This patchset removes some `@`s and unnecessary traits,
and replaces a function (`dummy_sp()`) returning constant value
by static variable.
2014-01-01 11:06:51 -08:00
bors
51ace54597
auto merge of #11254 : huonw/rust/impl-names, r=brson
...
The resulting symbol names aren't very pretty at all:
trait Trait { fn method(&self); }
impl<'a> Trait for ~[(&'a int, fn())] { fn method(&self) {} }
gives
Trait$$UP$$VEC$$TUP_2$$BP$int$$FN$$::method::...hash...::v0.0
However, at least it contain some reference to the Self type, unlike
`Trait$__extensions__::method:...`, which is what the symbol name used
to be for anything other than `impl Trait for foo::bar::Baz` (which
became, and still becomes, `Trait$Baz::method`).
2014-01-01 07:56:49 -08:00
Huon Wilson
8f26d0b9b8
syntax: expand impl_pretty_name to handle more cases.
...
The resulting symbol names aren't very pretty at all:
trait Trait { fn method(&self); }
impl<'a> Trait for ~[(&'a int, fn())] { fn method(&self) {} }
gives
Trait$$UP$$VEC$$TUP_2$$BP$int$$FN$$::method::...hash...::v0.0
However, at least it contain some reference to the Self type, unlike
`Trait$__extensions__::method:...`, which is what the symbol name used
to be for anything other than `impl Trait for foo::bar::Baz` (which
became, and still becomes, `Trait$Baz::method`).
2014-01-02 02:53:54 +11:00
bors
736f5a8ea8
auto merge of #11247 : eddyb/rust/symbol-cleanup, r=alexcrichton
2014-01-01 02:51:53 -08:00
klutzy
9cdad685a3
syntax::codemap: Add static DUMMY_SP
...
It replaces `dummy_sp()`.
2014-01-01 19:51:35 +09:00
klutzy
db204b20ab
syntax::diagnostic: Remove @ from Emitter
2014-01-01 19:10:43 +09:00
klutzy
fe10c63326
syntax::diagnostic: Remove unnecessary traits
...
This removes trait `handler` and `span_handler`,
and renames `HandlerT` to `Handler`, `CodemapT` to `SpanHandler`.
2014-01-01 19:10:43 +09:00
klutzy
a52cdfdfce
rustc::driver: Remove two @s
2014-01-01 19:10:43 +09:00
bors
03b510297c
auto merge of #11215 : alexcrichton/rust/metadata-filename, r=pcwalton
...
Right now if you have concurrent builds of two libraries in the same directory
(such as rustc's bootstrapping process), it's possible that two libraries will
stomp over each others' metadata, producing corrupt rlibs.
By placing the metadata file in a tempdir we're guranteed to not conflict with
ay other builds happening concurrently. Normally this isn't a problem because
output filenames are scoped to the name of the crate, but metadata is special in
that it has the same name across all crates.
2013-12-31 22:26:55 -08:00
bors
e61937a6bf
auto merge of #11187 : alexcrichton/rust/once, r=brson
...
Rationale can be found in the first commit, but this is basically the same thing as `pthread_once`
2013-12-31 20:41:56 -08:00
Alex Crichton
c22fed9424
Convert relevant static mutexes to Once
2013-12-31 20:15:03 -08:00
Eduard Burtescu
4e752651f4
Truncate symbol hashes to 64 bits.
2014-01-01 01:42:24 +02:00
bors
1dcc986d52
auto merge of #11173 : whitequark/rust/master, r=thestinger
...
This PR adds `std::unsafe::intrinsics::{volatile_load,volatile_store}`, which map to LLVM's `load volatile` and `store volatile` operations correspondingly.
This would fix #11172 .
I have addressed several uncertainties with this PR in the line comments.
2013-12-31 15:06:55 -08:00
bors
bd52e6acc6
auto merge of #11157 : alexcrichton/rust/issue-11154, r=pcwalton
...
Closes #11154
2013-12-31 13:52:03 -08:00
Kiet Tran
576a85105f
Mark provided methods in dead-code pass
2013-12-31 16:19:57 -05:00
Alex Crichton
0daaeab244
Conservatively export all trait methods and impls
...
The comments have more information as to why this is done, but the basic idea is
that finding an exported trait is actually a fairly difficult problem. The true
answer lies in whether a trait is ever referenced from another exported method,
and right now this kind of analysis doesn't exist, so the conservative answer of
"yes" is always returned to answer whether a trait is exported.
Closes #11224
Closes #11225
2013-12-31 12:42:13 -08:00
Gareth Smith
d435f4f059
Fix issue #11216 - Replace std::hashmap::{each_key, each_value} with iterators.
2013-12-31 20:29:39 +00:00
SiegeLord
cbe8c61fed
Add a --no-analysis command line switch
2013-12-31 15:28:08 -05:00
SiegeLord
a7a9e488a4
Generate --dep-info earlier in the compillation.
2013-12-31 15:28:02 -05:00
Alex Crichton
870024a160
Disallow LTO with a preference to dynamic linking
...
Closes #11154
2013-12-31 11:48:47 -08:00
Peter Zotov
f98f83a15d
Implement volatile_load and volatile_store intrinsics.
2013-12-31 02:54:25 +04:00
Vadim Chugunov
856222987d
Revert "Embed Windows application manifest."
2013-12-30 13:22:54 -08:00
Alex Crichton
fe30087080
Add metadata from a tempdir instead of a build dir
...
Right now if you have concurrent builds of two libraries in the same directory
(such as rustc's bootstrapping process), it's possible that two libraries will
stomp over each others' metadata, producing corrupt rlibs.
By placing the metadata file in a tempdir we're guranteed to not conflict with
ay other builds happening concurrently. Normally this isn't a problem because
output filenames are scoped to the name of the crate, but metadata is special in
that it has the same name across all crates.
2013-12-30 08:21:41 -08:00
bors
f37b746699
auto merge of #11182 : luisbg/rust/crateid, r=cmr
...
Issue #11048
2013-12-30 04:32:09 -08:00
Steven Fackler
dc830345e8
Remove @muts from ExtCtxt
2013-12-29 23:41:09 -08:00
Steven Fackler
3965dddf49
Make ast_fold take &mut self
2013-12-29 23:41:05 -08:00
Luis de Bethencourt
f872c47278
Rename PkgId to CrateId
2013-12-29 15:25:32 -05:00
Luis de Bethencourt
4bc09713df
Rename pkgid variables
2013-12-29 15:25:26 -05:00
Steven Fackler
0607c138ca
Stop using @ExtCtxt
2013-12-28 21:16:03 -07:00
bors
2922697087
auto merge of #11175 : klutzy/rust/ice, r=alexcrichton
...
`ln_str` caused ICE if `RUST_LOG=rustc::middle::liveness` is given
due to borrow failure.
2013-12-28 14:12:01 -08:00
klutzy
eaae0ac68a
rustc: Fix a borrow failure in .ln_str()
...
`ln_str` caused ICE if `RUST_LOG=rustc::middle::liveness` is given
due to borrow failure.
2013-12-29 02:47:12 +09:00
Alex Crichton
b6a7463526
Initialize LLVM only once
...
This also appears to fix a race in LLVM that was causing a deadlock on the bots
during the doc-test tests (where we use rustc in parallel).
2013-12-27 23:39:33 -08:00
Luqman Aden
1265a03139
librustc: Implement coercion for traits.
2013-12-27 03:26:46 -05:00
Patrick Walton
ad160146fd
librustc: Fix tidy problem.
2013-12-26 15:54:37 -08:00
Patrick Walton
cc0584731a
librustc: De-@mut
the def map.
...
This is the last `@mut` in `librustc` that does not depend on libsyntax.
2013-12-26 15:54:37 -08:00
Patrick Walton
56b9a207ab
librustc: De-@mut
the value and type ribs in the resolver
2013-12-26 15:54:37 -08:00
Patrick Walton
c48335e334
librustc: De-@mut
Module::imports
in the resolver
2013-12-26 15:54:37 -08:00
Patrick Walton
47846110a4
librustc: Fully de-@mut
trait_impls
in the type context
2013-12-26 15:54:37 -08:00
Patrick Walton
fecef74d57
librustc: De-@mut
the inherent implementations list
2013-12-26 15:54:37 -08:00
Patrick Walton
ed819c9a81
librustc: De-@mut
the crate cache in the crate reader
2013-12-26 15:54:37 -08:00
Patrick Walton
1f76a9ba5e
librustc: De-@mut
populated_external_traits
in the type context
2013-12-26 15:54:37 -08:00
Patrick Walton
f62faa89ed
librustc: De-@mut
outputs
in the session
2013-12-26 15:54:37 -08:00
Patrick Walton
e4815b6c3f
librustc: De-@mut
the users
list in liveness
2013-12-26 15:54:37 -08:00
Patrick Walton
ff23e1202f
librustc: De-@mut
BindingRscope::anon_bindings
2013-12-26 15:54:36 -08:00
Patrick Walton
d7b152701e
librustc: De-@mut
building_library
in the session
2013-12-26 15:54:36 -08:00
Patrick Walton
c56bac7f40
librustc: De-@mut
node_id
in the session
2013-12-26 15:54:36 -08:00
Patrick Walton
eaf69494a5
librustc: De-@mut
the loop scope in liveness
2013-12-26 15:54:36 -08:00
Patrick Walton
298d0b870f
librustc: De-@mut
label_ribs
in the resolver
2013-12-26 15:54:36 -08:00
Patrick Walton
7f816b7ef4
librustc: De-@mut
the idstack
in constant checking
2013-12-26 15:54:36 -08:00
Patrick Walton
8c703643ad
librustc: De-@mut
the reachability worklist
2013-12-26 15:54:36 -08:00
Patrick Walton
4b4ff2cf8b
librustc: De-@mut
DynamicFailureHandler::finished
2013-12-26 15:54:36 -08:00
Patrick Walton
fc0b466fd4
librustc: De-@mut
all_loans
in the borrow checker
2013-12-26 15:54:36 -08:00
Patrick Walton
0afae85bc2
librustc: De-@mut
inherent_candidates
and extension_candidates
in
...
method lookup
2013-12-26 15:54:36 -08:00
Patrick Walton
1a6c1e5d32
librustc: De-@mut
Liveness::successors
2013-12-26 15:54:36 -08:00
Patrick Walton
89dfd00dcf
librustc: De-@mut
next_id
in the type context
2013-12-26 15:54:36 -08:00
Patrick Walton
a483ee8e33
librustc: De-@mut
the trait map
2013-12-26 15:54:36 -08:00
Patrick Walton
d3fc7b9918
librustc: De-@mut
the translation stats
2013-12-26 15:54:36 -08:00
Patrick Walton
9f6706975b
librustc: De-@mut
fn_stats
in the stats
2013-12-26 15:54:36 -08:00
Patrick Walton
e84f79feb1
librustc: De-@mut
llvm_insns
in the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
8c3a552ac5
librustc: Remove the unused llvm_insn_ctxt
from the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
97ceac7377
librustc: De-@mut
n_llvm_insns
in the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
21e4e410a9
librustc: De-@mut
n_closures
in the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
c010d08cd5
librustc: De-@mut
n_inlines
in the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
8c7804ffac
librustc: De-@mut
n_monos
in the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
38572f4981
librustc: De-@mut
n_fns
in the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
16828bb1dc
librustc: De-@mut
n_real_glues
2013-12-26 15:54:35 -08:00
Patrick Walton
75efa0725d
librustc: De-@mut
n_null_glues
in the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
26d1394767
librustc: De-@mut
n_glues_created
in the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
091bfa9cc3
librustc: De-@mut
n_static_tydescs
in the stats
2013-12-26 15:54:35 -08:00
Patrick Walton
6659ae7d97
librustc: De-@mut
Rib::self_binding
2013-12-26 15:54:35 -08:00
Patrick Walton
d1e23aeb0e
librustc: De-@mut
MoveData
2013-12-26 15:54:35 -08:00
Patrick Walton
1b06a9593f
librustc: De-@mut
MoveData::assignee_ids
2013-12-26 15:54:35 -08:00
Patrick Walton
111e167f48
librustc: De-@mut
MoveData::var_assignments
2013-12-26 15:54:35 -08:00
Patrick Walton
460305749c
librustc: De-@mut
MoveData::path_assignments
2013-12-26 15:54:34 -08:00
Patrick Walton
7d3e25394f
librustc: De-@mut
MoveData::path_map
2013-12-26 15:54:34 -08:00
Patrick Walton
1b8391ca12
librustc: De-@mut
MoveData::moves
2013-12-26 15:54:34 -08:00
Patrick Walton
1ded423505
librustc: Replace the move
method with an accessor in the borrow check
...
move data
2013-12-26 15:54:34 -08:00
Patrick Walton
12c5c19871
librustc: De-@mut
MoveData::paths
2013-12-26 15:54:34 -08:00
Patrick Walton
026364ca26
librustc: Change mut_path
into mutators for specific fields in the
...
borrow check move data
2013-12-26 15:54:34 -08:00
Patrick Walton
fcb47813a4
librustc: Extract first_child
and next_sibling
from the borrow check
...
move data into accessors
2013-12-26 15:54:34 -08:00
Patrick Walton
f700cf3872
librustc: Extract first_move
from the move data into an accessor
2013-12-26 15:54:34 -08:00
Patrick Walton
f19a9b9600
librustc: Extract parent
from move data as an accessor
2013-12-26 15:54:34 -08:00
Patrick Walton
211c6d522b
librustc: Extract loan_path
from move data into an accessor
2013-12-26 15:54:34 -08:00
Patrick Walton
2ba1b0bc06
librustc: De-@mut
populated_external_types
in the type context
2013-12-26 15:54:34 -08:00
Patrick Walton
620be9235d
librustc: De-@mut
the cnum_map
2013-12-26 15:54:34 -08:00
Patrick Walton
5a9c37b7f5
librustc: De-@mut
the borrow check stat fields
2013-12-26 15:54:34 -08:00
Patrick Walton
df0c13d2ea
librustc: De-@mut
the encoding stats
2013-12-26 15:54:34 -08:00
Patrick Walton
75c95e0960
librustc: De-@mut
the region maps
2013-12-26 15:54:34 -08:00
Patrick Walton
f759fe15a1
librustc: De-@mut
cleanup_scopes
in the region maps
2013-12-26 15:54:34 -08:00
Patrick Walton
0c3950d8a8
librustc: De-@mut
the free region map in the region maps
2013-12-26 15:54:33 -08:00
Patrick Walton
d5e32729c9
librustc: De-@mut
the scope map in the region maps
2013-12-26 15:54:33 -08:00
Patrick Walton
2551344928
librustc: De-@mut
all remaining uses of MemWriter
2013-12-26 15:54:33 -08:00
Patrick Walton
b9f0d9bdc1
librustc: De-@mut
ImportResolution
2013-12-26 15:54:33 -08:00
Patrick Walton
4b53a2cdd8
librustc: De-@mut
ImportResolution::type_id
2013-12-26 15:54:33 -08:00
Patrick Walton
9253df1844
librustc: De-@mut
ImportResolution::type_target
2013-12-26 15:54:33 -08:00
Patrick Walton
c10d7177db
librustc: De-@mut
ImportResolution::value_id
2013-12-26 15:54:33 -08:00
Patrick Walton
5fe84118a6
librustc: De-@mut
ImportResolution::value_target
2013-12-26 15:54:33 -08:00
Patrick Walton
aa5b422267
librustc: De-@mut
ImportResolution::is_public
2013-12-26 15:54:33 -08:00
Patrick Walton
de6eb2b290
librustc: De-@mut
ImportResolution::outstanding_references
2013-12-26 15:54:33 -08:00
Patrick Walton
ccb18f47e2
librustc: De-@mut
the used_mut_nodes
table in the type context
2013-12-26 15:54:33 -08:00
Patrick Walton
5c63b1febc
librustc: De-@mut
the entry function and entry type in the session
2013-12-26 15:54:33 -08:00
Patrick Walton
522743c9db
librustc: De-@mut
the moved variables set
2013-12-26 15:54:33 -08:00
Patrick Walton
7cb234bee9
librustc: De-@mut
the test context
2013-12-26 15:54:33 -08:00
Patrick Walton
d0dfc35fc9
librustc: De-@mut
TestCtxt::testfns
2013-12-26 15:54:33 -08:00
Patrick Walton
9ff65b503f
librustc: De-@mut
TestCtxt::path
2013-12-26 15:54:32 -08:00
Patrick Walton
a5d9762972
librustc: De-@mut
impl_dups
in method checking
2013-12-26 15:54:32 -08:00
Patrick Walton
d9c87c7a23
librustc: De-@mut
the moves map
2013-12-26 15:54:32 -08:00
Patrick Walton
f7393d8658
librustc: De-@mut
the method map
2013-12-26 15:54:32 -08:00
Patrick Walton
b9568cdf36
librustc: De-@mut
creader::Env
2013-12-26 15:54:32 -08:00
Patrick Walton
07279011b8
librustc: De-@mut
the type descriptor info
2013-12-26 15:54:32 -08:00
Patrick Walton
e9b9c828b1
librustc: De-@mut
the various glues in the type descriptor info
2013-12-26 15:54:32 -08:00
Patrick Walton
abbee6decd
librustc: De-@mut
ScopeInfo
2013-12-26 15:54:32 -08:00
Patrick Walton
8728b09e78
librustc: De-@mut
ScopeInfo::landing_pad
2013-12-26 15:54:32 -08:00
Patrick Walton
7acaa73377
librustc: De-@mut
ScopeInfo::cleanup_paths
2013-12-26 15:54:32 -08:00
Patrick Walton
89a85e45c5
librustc: De-@mut
ScopeInfo::cleanups
2013-12-26 15:54:32 -08:00
Patrick Walton
3b1a7b5ca9
librustc: Remove the unused reported
table from the loan checking pass
2013-12-26 15:54:32 -08:00
Patrick Walton
19ca9e1884
librustc: De-@mut
Module::children
2013-12-26 15:54:32 -08:00
Patrick Walton
f857398bc9
librustc: De-@mut
the bindings list in pattern resolution
2013-12-26 15:54:32 -08:00