Commit Graph

17958 Commits

Author SHA1 Message Date
bors fda176b070 auto merge of #6337 : thestinger/rust/fix_region, r=thestinger
also removes unnecessary casts from the RcMut implementation
2013-05-09 00:15:33 -07:00
Steven Stewart-Gallus 72c9aab0d2 Created utility uninhabited type
In this commit I added a useful utility type, named Void, that encapsulates the
doable but annoying job of creating an uninhabited type. As well, a function on
that type, named absurd, was created which is useful for ignoring the result of
matching on that type. No unit tests were created because it is not possible to
create an instance of this type to test the usage of.

This type is useful because it is like NonCopyable in that it can be used to
create a type with special characteristics without special bloat. For instance,
instead of typing pub struct PhantomType { priv contents : () } for each void
type one may want to use one can simply type pub struct PhantomType (Void);.
This type make such special cases much easier to write.
2013-05-08 23:29:11 -07:00
bors 936c07dcf0 auto merge of #6328 : recrack/rust/rename_cleanup, r=sanxiyn
rename vec::each(var) to var.each

> librustc, libsyntax, libstd, librustdoc, libcore
2013-05-08 22:54:37 -07:00
Youngmin Yoo c02064d153 librustc: rename vec::each(var) to var.each 2013-05-09 14:20:04 +09:00
Youngmin Yoo 841f4ceaf4 libsyntax: rename vec::each(var) to var.each 2013-05-09 14:20:04 +09:00
Youngmin Yoo d4fa0f1485 libstd: rename vec::each(var) to var.each 2013-05-09 14:20:04 +09:00
Youngmin Yoo 472d9f33df librustdoc: rename vec::each(var) to var.each 2013-05-09 14:17:18 +09:00
Youngmin Yoo 9a292b3da5 libcore: rename vec::each(variable) to variable.each 2013-05-09 14:17:18 +09:00
Huon Wilson ea5c413427 Perform expansion before stripping/building a test harness.
This allows macros to create tests and benchmarks.
2013-05-09 15:15:54 +10:00
bors 101d4bf8b2 auto merge of #6332 : huonw/rust/std-base64-match, r=nikomatsakis 2013-05-08 21:45:37 -07:00
Sangeun Kim 1b4e375046 Add space 2013-05-09 10:44:27 +09:00
bors 3bbbb314ee auto merge of #6327 : z0w0/rust/rm-notest, r=brson
Makes it more consistent, imo.
2013-05-08 18:15:41 -07:00
bors d82d9874a6 auto merge of #6232 : pcwalton/rust/demuting, r=pcwalton
They're still parsed for bootstrapping purposes, but the qualifier is immediately dropped on the floor.

r? @nikomatsakis
2013-05-08 17:09:37 -07:00
Patrick Walton d20e63ab65 test: Fix modes in the benchmarks. 2013-05-08 17:04:03 -07:00
Patrick Walton 85d9409b20 test: Fix broken test 2013-05-08 17:04:03 -07:00
Patrick Walton 36fbf71686 llvm: Unrevert change 2013-05-08 17:04:03 -07:00
Patrick Walton 72868450df libcore: Fix more merge fallout. 2013-05-08 17:04:03 -07:00
Patrick Walton 3affc6ed40 librustc: Fix merge fallout. 2013-05-08 17:04:02 -07:00
Patrick Walton 9d011ebf67 test: Fix tests. 2013-05-08 17:04:02 -07:00
Patrick Walton 16a0125e41 libcore: Fix tests. 2013-05-08 17:04:01 -07:00
Patrick Walton 49a66a5c5a librustc: Stop parsing modes and remove them entirely from the language 2013-05-08 17:04:01 -07:00
Patrick Walton 99daec602f librustc: Fix merge fallout. 2013-05-08 17:04:00 -07:00
Patrick Walton 278b487cab test: Fix tests and the pipe compiler 2013-05-08 17:04:00 -07:00
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 c7522417d4 libstd: Remove some residual mutable fields 2013-05-08 17:04:00 -07:00
Patrick Walton d12d25534b libcore: Remove more mutable fields from comm 2013-05-08 17:03:59 -07:00
Patrick Walton 8919f32f83 Remove mutable fields from comm by using casts. Also mark the cast in cell. 2013-05-08 17:03:59 -07:00
Patrick Walton 56507798d9 libcore: Remove mutable fields from repr 2013-05-08 17:03:59 -07:00
Patrick Walton 6a44482b17 libcore: Remove mutable fields from pipes 2013-05-08 17:03:59 -07:00
Patrick Walton 803a4f45fa libcore: Remove mutable fields from the task builder API 2013-05-08 17:03:59 -07:00
Patrick Walton 226ee7d86f libcore: Remove mutable fields from task::spawn 2013-05-08 17:03:58 -07:00
Patrick Walton 4dc1c2976d libcore: Remove mutable fields from hash 2013-05-08 17:03:58 -07:00
Patrick Walton 2961997f16 libcore: Remove mutable fields from os and ptr 2013-05-08 17:03:58 -07:00
Patrick Walton b2d1ac100f libcore: Remove mutable fields from rand. 2013-05-08 17:03:58 -07:00
Patrick Walton ee78d811e4 libstd: Start warning about mutable fields, now that they only exist in stage0 2013-05-08 17:03:58 -07:00
Patrick Walton bba0680cb0 libstd: Remove mutable fields from future and par 2013-05-08 17:03:58 -07:00
Patrick Walton 92d2ec4d32 libstd: Remove mutable fields from flatpipes and io_util 2013-05-08 17:03:58 -07:00
Patrick Walton da2ac90812 libstd: Remove mutable fields from fileinput and net_tcp 2013-05-08 17:03:57 -07:00
Daniel Micay 0c02d0f92e rename iter::iter_to_vec to iter::to_vec
it's silly to duplicate the namespace in the fn name
2013-05-08 18:49:32 -04: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
Daniel Micay 044abef0e5 fix incorrect region code based on the old 'self
also removes unnecessary casts from the RcMut implementation
2013-05-08 16:00:49 -04: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 270b508174 auto merge of #6326 : z0w0/rust/cfg-debug, r=yichoi 2013-05-08 10:33:40 -07:00
bors b21f37c818 auto merge of #6323 : brson/rust/nullary, r=thestinger
There's no need to delegate to C to call the Rust main function.
2013-05-08 08:39:40 -07:00
bors 8f94ac6118 auto merge of #6267 : huonw/rust/syntax-deriving-generaliseder, r=nikomatsakis
This "finishes" the generic deriving code (which I started in #5640), in the sense it supports everything that I can think of being useful. (Including lifetimes and type parameters on methods and traits, arguments and return values of (almost) any type, static methods.)

It closes #6149, but met with #6257, so the following doesn't work:
```rust
#[deriving(TotalEq)]
struct Foo<'self>(&'self int);
```
(It only fails for `TotalOrd`, `TotalEq` and `Clone`, since they are the only ones that call a method directly on sub-elements of the type, which means that the auto-deref interferes with the pointer.)

It also makes `Rand` (chooses a random variant, fills the fields with random values, including recursively for recursive types) and `ToStr` (`x.to_str()` is the same as `fmt!("%?", x)`) derivable, as well as converting IterBytes to the generic code (which made the code 2.5x shorter, more robust and added support for tuple structs).

({En,De}codable are trickier, so I'll convert them over later.)
2013-05-08 07:24:39 -07:00
Huon Wilson ad5ee00c93 libstd: convert chained ifs to a match in base64. 2013-05-08 23:50:15 +10:00
Huon Wilson 08c8054466 testsuite: xfail tests for windows 2013-05-08 23:30:12 +10:00
bors 37becd887e auto merge of #6321 : ILyoan/rust/test4350, r=z0w0 2013-05-08 06:15:39 -07:00