Patrick Walton
db4573a776
librustc: Remove mutable fields from the language.
...
They're still parsed though, to get through bootstrapping.
2013-05-08 17:04:00 -07:00
Patrick Walton
4dc1c2976d
libcore: Remove mutable fields from hash
2013-05-08 17:03:58 -07:00
bors
5a65f51d66
auto merge of #6214 : sanxiyn/rust/simd-2, r=graydon
...
At the moment this only includes type checking and there is no code generation support yet. I wanted to get the design reviewed first.
From discussion with @graydon at #5841 , re-implemented as `#[simd]` attribute on structs.
Progressing towards #3499 .
2013-05-08 14:09:38 -07:00
bors
65ded84d20
auto merge of #6119 : brson/rust/main, r=brson
...
r? @ILyoan
This pulls all the logic for discovering the crate entry point into a new pass (out of resolve and typeck), then changes it so that main is only looked for at the crate level (`#[main]` can still be used anywhere).
I don't understand the special android logic here and worry that I may have broken it.
2013-05-08 12:24:39 -07:00
Brian Anderson
3970d02ec5
rustc: Fix the logic for finding the Android main function
...
I don't understand what this logic is doing
2013-05-08 12:03:15 -07:00
Sean Moon
bd4ee7c7d2
Fix typos
2013-05-09 02:34:47 +09:00
bors
b6f9295654
auto merge of #6317 : brson/rust/durable, r=z0w0
...
#6312
2013-05-08 05:03:38 -07:00
bors
1d7a136145
auto merge of #6309 : nikomatsakis/rust/issue-3678-type-of-extern-fns, r=nikomatsakis
...
Lift restriction on calling extern C functions, and propagate the ABI as part of the type of an extern fn. cc #3678
2013-05-08 02:42:37 -07:00
Sangeun Kim
dc48a558b6
Show lint names
2013-05-08 17:23:48 +09:00
bors
86500fbb13
auto merge of #6297 : sammykim/rust/static-lint-table, r=luqmana
2013-05-07 23:18:39 -07:00
Sangeun Kim
356ebe8792
extranous thing is removed
2013-05-08 10:42:47 +09:00
Brian Anderson
3df7ed15b7
Remove Durable from the language
2013-05-07 17:50:42 -07:00
Brian Anderson
d8ef723d49
rustc: Replace Durable with 'static
2013-05-07 15:30:57 -07:00
Seo Sanghyeon
0ed4495ac4
Generate LLVM SIMD vector types
2013-05-08 02:09:19 +09:00
Seo Sanghyeon
784e8369ca
Remove trailing whitespace
2013-05-08 01:01:31 +09:00
Niko Matsakis
11f7cb26c2
When autoborrowing a fn in trans, adjust the type of the datum to be &fn
.
...
Fixes #6141 .
2013-05-07 11:41:27 -04:00
Seo Sanghyeon
f3217a5c9c
Check SIMD vector types
2013-05-07 23:35:33 +09:00
Seo Sanghyeon
8e0c6fa5b6
Port IRBuilder::CreateVectorSplat
2013-05-07 23:29:19 +09:00
Niko Matsakis
387d6c597a
Lift restriction on calling extern C functions, and propagate
...
the ABI as part of the type of an extern fn. cc #3678
2013-05-07 05:28:39 -04:00
bors
bdb52e58b4
auto merge of #6251 : thestinger/rust/non_owned, r=pcwalton
...
Also fixed the docstring on `TC_ONCE_CLOSURE` (was accidentally the same as `TC_MUTABLE`) and shifted the `TC_EMPTY_ENUM` bit left by one since whatever previously used that bit has been removed.
2013-05-07 01:27:38 -07:00
Sangeun Kim
7455f986a8
Make lint_table static
2013-05-07 16:28:58 +09:00
Niko Matsakis
39a119074a
appease the tidy gods with respect to a FIXME
2013-05-06 20:27:59 -04:00
Niko Matsakis
0ef4e860da
Replace NOTE with FIXME
2013-05-06 14:02:28 -04:00
Niko Matsakis
2ea52a38e5
refinement to technique used to not run regionck
2013-05-06 09:00:37 -04:00
Niko Matsakis
e235f6ca53
remove some unused mut decls and vars
2013-05-06 05:18:23 -04:00
Niko Matsakis
4dc62dfcf3
do not run regionck if there have been type errors
2013-05-06 05:17:36 -04:00
Niko Matsakis
7b36e34c89
Fix two more write guard failures
2013-05-05 21:05:37 -04:00
Daniel Micay
bc52224d47
factor out the has_attr checks
2013-05-05 15:50:10 -04:00
Daniel Micay
58c0df2af6
add #[non_owned] and #[mutable] attributes
2013-05-05 15:36:26 -04:00
Niko Matsakis
4300d4d2fa
Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze
...
Conflicts:
src/libcore/core.rc
src/libcore/hashmap.rs
src/libcore/num/f32.rs
src/libcore/num/f64.rs
src/libcore/num/float.rs
src/libcore/num/int-template.rs
src/libcore/num/num.rs
src/libcore/num/strconv.rs
src/libcore/num/uint-template.rs
src/libcore/ops.rs
src/libcore/os.rs
src/libcore/prelude.rs
src/libcore/rt/mod.rs
src/libcore/unstable/lang.rs
src/librustc/driver/session.rs
src/librustc/middle/astencode.rs
src/librustc/middle/borrowck/check_loans.rs
src/librustc/middle/borrowck/gather_loans.rs
src/librustc/middle/borrowck/loan.rs
src/librustc/middle/borrowck/preserve.rs
src/librustc/middle/liveness.rs
src/librustc/middle/mem_categorization.rs
src/librustc/middle/region.rs
src/librustc/middle/trans/base.rs
src/librustc/middle/trans/inline.rs
src/librustc/middle/trans/reachable.rs
src/librustc/middle/typeck/check/_match.rs
src/librustc/middle/typeck/check/regionck.rs
src/librustc/util/ppaux.rs
src/libstd/arena.rs
src/libstd/ebml.rs
src/libstd/json.rs
src/libstd/serialize.rs
src/libstd/std.rc
src/libsyntax/ast_map.rs
src/libsyntax/parse/parser.rs
src/test/compile-fail/borrowck-uniq-via-box.rs
src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs
src/test/run-pass/borrowck-nested-calls.rs
2013-05-05 15:11:04 -04:00
Niko Matsakis
6cb273ed4e
Address all FIXMEs from #5562
2013-05-05 13:50:10 -04:00
Niko Matsakis
0b0b8018a6
add warning for #6248 and remove instances of it
2013-05-05 12:17:59 -04:00
Brian Anderson
8081e8debf
Register snapshots
2013-05-04 15:43:51 -07:00
Niko Matsakis
989d008124
separate out write_guard code into its own module
2013-05-04 14:29:32 -04:00
Niko Matsakis
ccf2f7b979
make asm_comments something that you opt in to
2013-05-04 14:29:08 -04:00
bors
1f65e4a1d5
auto merge of #6230 : thestinger/rust/whitespace, r=catamorphism
...
I just had `git apply` fix most of them and then did a quick skim over the diff to fix a few cases where it did the wrong thing (mostly replacing tabs with 4 spaces, when someone's editor had them at 8 spaces).
2013-05-04 00:48:37 -07:00
bors
a47e4cb22f
auto merge of #6229 : catamorphism/rust/warning-police, r=catamorphism
2013-05-03 23:48:36 -07:00
Niko Matsakis
0ff8200671
factor code for write guards into its own module; add neglected resolve_stage0
2013-05-03 22:07:33 -04:00
Daniel Micay
86efd97a10
add gitattributes and fix whitespace issues
2013-05-03 20:01:42 -04:00
Tim Chevalier
2df8799f76
rustc: Warning police
2013-05-03 16:56:34 -07:00
Niko Matsakis
be08c3e514
rustc: add rooting, write-guards to slices etc
2013-05-03 16:27:16 -04:00
Tim Chevalier
32b3d3e9eb
tidy
2013-05-03 13:03:53 -07:00
Tim Chevalier
13df2ea69c
rustc: Handle struct patterns where the expected type is an enum
...
Previously, rustc would ICE if you matched on an enum-typed thing
with a structure pattern. Error out correctly.
2013-05-03 13:03:53 -07:00
Niko Matsakis
e7d96934c1
Correct mismatch between the way that pattern ids and expression ids map to types (pattern ids map to the input type, expression ids map to the output type)
2013-05-03 12:29:24 -04:00
bors
79aeb529d5
auto merge of #6046 : brson/rust/io, r=graydon
...
r? @pcwalton
Sorry this is so big, and sorry the first commit is just titled 'wip'.
Some interesting bits
* [LocalServices](f9069baa70
) - This is the set of runtime capabilities that *all* Rust code should expect access to, including the local heap, GC, logging, unwinding.
* [impl Reader, etc. for Option](5fbb0949a5
) - Constructors like `File::open` return Option<FileStream>. This lets you write I/O code without ever unwrapping an option.
This series adds a lot of [documentation](https://github.com/brson/rust/blob/io/src/libcore/rt/io/mod.rs#L11 ) to `core::rt::io`.
2013-05-03 09:09:40 -07:00
Niko Matsakis
34024353e8
Change borrow debugging so it is disabled by -O
2013-05-03 05:42:00 -04:00
bors
213f7b24cc
auto merge of #6207 : sanxiyn/rust/tc-big, r=thestinger
2013-05-03 01:36:37 -07:00
bors
984180c600
auto merge of #6204 : pcwalton/rust/uninhabited-enum-cast, r=catamorphism
...
r? @catamorphism
2013-05-03 00:12:37 -07:00
bors
87c46b548a
auto merge of #6206 : sanxiyn/rust/mach-sty, r=thestinger
2013-05-02 21:42:36 -07:00
Brian Anderson
6c478c7de8
Merge remote-tracking branch 'brson/io' into incoming
...
Conflicts:
mk/rt.mk
src/libcore/run.rs
2013-05-02 20:51:56 -07:00
bors
b37a685958
auto merge of #6201 : pcwalton/rust/inhtwama-serializer, r=graydon
...
This PR removes mutable fields from the serializer and makes the encoder and decoder use INHTWAMA properly (i.e. `&mut self`).
r? @graydon
2013-05-02 20:39:36 -07:00
Brian Anderson
db6a62c537
rustc: Drop the visitor object from the visitor glue
...
Recent demoding makes the visitor glue leak. It hasn't shown up in tests
because the box annihilator deletes the leaked boxes. This affects the
new scheduler though which does not yet have a box annihilator.
I don't think there's any great way to test this besides setting up
a task that doesn't run the box annihilator and I don't know that that's
a capability we want tasks to have.
2013-05-02 18:42:07 -07:00
Patrick Walton
c0f587de34
librustc: Make uninhabited enums not castable to int
2013-05-02 18:41:57 -07:00
Niko Matsakis
9bded76260
move @mut into scope_info
2013-05-02 21:15:36 -04:00
Patrick Walton
dc5df61bc1
librustc: Update the serializer to work properly with INHTWAMA, removing mutable fields in the process
2013-05-02 17:00:51 -07:00
bors
31599fe347
auto merge of #6172 : Sodel-the-Vociferous/rust/rm_trt_obj_magic_nums, r=catamorphism,graydon
...
I don't know how one would write a separate test for this sort of thing. Building the compiler, and `make check` worked, which should mean I didn't screw anything.
2013-05-02 16:03:37 -07:00
Niko Matsakis
4999d44d5b
trans: fix borrow violation
2013-05-02 16:37:28 -04:00
bors
cdf604f434
auto merge of #6193 : youknowone/rust/static-string, r=sanxiyn
2013-05-02 12:36:36 -07:00
Niko Matsakis
88ec89d3fe
fix numerous dynamic borrow failures
2013-05-02 14:32:37 -04:00
bors
b6988843e8
auto merge of #6125 : luqmana/rust/newtype-drop, r=pcwalton
...
#6090
r? @brson
2013-05-02 10:21:40 -07:00
Jeong YunWon
35b91e2f73
Use static strings
2013-05-03 01:41:09 +09:00
bors
1c64f7a0f7
auto merge of #6178 : erickt/rust/remove-drop, r=graydon
...
This patch removes ty::LegacyDtor, which is no longer used.
2013-05-02 08:18:38 -07:00
Seo Sanghyeon
6883814a84
Remove codes related to modes
2013-05-02 21:56:20 +09:00
bors
b42ea7f9ef
auto merge of #6174 : sanxiyn/rust/static-string, r=brson
2013-05-01 22:06:37 -07:00
Erick Tryzelaar
c1de90cdb2
rustc: remove ty::LegacyDtor
2013-05-01 20:30:05 -07:00
Brendan Zabarauskas
e596128bd8
Remove 'Local Variable' comments
2013-05-02 13:22:04 +10:00
Niko Matsakis
fbaf8399c8
rustc: more fix for trans_lvalue rooted twice
2013-05-01 21:50:09 -04:00
Niko Matsakis
6210de9529
lang: fix code for maintaining borrow list
2013-05-01 21:47:09 -04:00
Seo Sanghyeon
4294aed01b
Use static strings
2013-05-02 10:36:30 +09:00
Niko Matsakis
ef6b24d135
rustc: fix the fact that trans_lvalue rooted twice
2013-05-01 20:22:08 -04:00
Niko Matsakis
14bf5c4fe7
rustc: adjust total number of lang items
2013-05-01 20:19:28 -04:00
Daniel Ralston
c64471ab86
Add trait object field types to back/abi.rs, and use them
...
I've added trt_field_vtable, trt_field_box, and trt_field_tydesc, and
inserted them in place of the "magic numbers" used to access trait
object fields through GEPi().
2013-05-01 15:25:17 -07:00
Niko Matsakis
38f93f2121
wip---work on making rooting work properly
2013-05-01 13:48:00 -04:00
bors
55fbc47af1
auto merge of #6148 : erickt/rust/remove-drop, r=pcwalton
...
The drop block has been deprecated for quite some time. This patch series removes support for parsing it and all the related machinery that made drop work.
As a side feature of all this, I also added the ability to annote fields in structs. This allows comments to be properly associated with an individual field. However, I didn't update `rustdoc` to integrate these comment blocks into the documentation it generates.
2013-05-01 09:18:59 -07:00
Erick Tryzelaar
c2e1f47955
rustc: remove the rest of drop
...
Removes:
ast::struct_def::dtor
syntax::ast::ii_dtor
syntax::visit::fk_dtor
syntax::ast_map::node_dtor
syntax:struct_dtor
2013-05-01 07:49:41 -07:00
Niko Matsakis
4af2d90af5
add an option to debug borrows (RUST_DEBUG_BORROW) so you can
...
find out where the offending borrow occurred. This ... still needs
some work.
2013-05-01 10:30:54 -04:00
Niko Matsakis
84861101ec
rustc: print out filename/line-number when a borrow fails
2013-05-01 09:14:47 -04:00
Niko Matsakis
5ab33a2975
correct incorrect handling of overloaded operators, exposing various other bits of rot
2013-05-01 08:49:48 -04:00
Brendan Zabarauskas
ee26c7c433
Revert rename of Div to Quot
2013-05-01 15:40:05 +10:00
bors
7a857673ff
auto merge of #6103 : catamorphism/rust/nonfatal-errors, r=catamorphism
...
r? @nikomatsakis typeck::check::_match wasn't suppressing derived errors properly.
Fixed it. (This will fix #5100 )
2013-04-30 17:39:36 -07:00
Niko Matsakis
f236b850c0
remove some unused mut decls
2013-04-30 16:35:01 -04:00
Niko Matsakis
dc21daeeb8
borrowck: fix critical bug prevent us from ever using write guards :)
2013-04-30 16:34:22 -04:00
Jed Davis
8408012ca4
The null case of a nullable-poiner enum might not be nullary.
...
Cases like `Either<@int,()>` have a null case with at most one value but
a nonzero number of fields; if we misreport this, then bad things can
happen inside of, for example, pattern matching.
Closes #6117 .
2013-04-30 11:36:22 -07:00
Seo Sanghyeon
97109aa51b
Remove mach_sty
2013-05-01 03:27:14 +09:00
Niko Matsakis
418f991118
allover: numerous unused muts etc
2013-04-30 14:10:21 -04:00
Niko Matsakis
70b9ad1748
rustc: work around issue with default-method-simple, fix some rebase
...
errors
2013-04-30 14:09:14 -04:00
Niko Matsakis
545d51c160
rustc: remove modes
2013-04-30 14:08:18 -04:00
Niko Matsakis
7a0c1ea560
correct used_mut annotations for args, inherited case
2013-04-30 14:07:52 -04:00
Niko Matsakis
aa48a170d5
dataflow: fix flow of information through pattern variants
2013-04-30 14:07:26 -04:00
Niko Matsakis
a896440ca1
new borrow checker (mass squash)
2013-04-30 06:59:32 -04:00
Niko Matsakis
202b8dcdc4
adapt to snapshot
2013-04-30 06:43:02 -04:00
bors
c081ffbd1e
auto merge of #6121 : luqmana/rust/newtype-cc, r=graydon
...
#6086
2013-04-30 02:21:37 -07:00
Tim Chevalier
849f8142a2
rustc / test: Fix error message
2013-04-29 20:46:54 -07:00
Luqman Aden
c2b8f98917
librustc: Fix drop finalizer not running for newtype structs.
2013-04-29 19:48:49 -07:00
Luqman Aden
b50aa827a0
librustc: Fix pattern matching on cross crate newtype structs.
2013-04-29 17:35:36 -07:00
Brian Anderson
98f5c6d5b6
rustc: Only accept main functions at the crate level. #4433
2013-04-29 17:10:50 -07:00
Brian Anderson
be8dc615c5
rustc: Move code for discovering the crate entry point into its own pass
...
It doesn't have anything to do with resolve and the logic will likely get
more involved in the future, after #4433
2013-04-29 14:56:05 -07:00
Tim Chevalier
d8024e2c3b
rustc: Change At to Managed and Uniq to Owned
2013-04-29 14:38:39 -07:00
Patrick Walton
a9da34bf6e
librustc: Fix merge fallout.
2013-04-29 14:30:57 -07:00
Patrick Walton
37abf4bad0
librustc: Forbid type implementations on typedefs.
2013-04-29 14:30:57 -07:00