Commit Graph

17839 Commits

Author SHA1 Message Date
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
bors
b6f9295654 auto merge of #6317 : brson/rust/durable, r=z0w0
#6312
2013-05-08 05:03:38 -07:00
Zack Corr
cb66d8948a Remove #[cfg(notest)] and use #[cfg(not(test))] to cooincide with #[cfg(debug)] 2013-05-08 21:11:23 +10:00
bors
83838aa429 auto merge of #6311 : indutny/rust/fix/handle-io-fread-errors, r=z0w0
When, occasionally, trying to read directory instead of file, `fread()`
returns `EISDIR` error. And, considering, absence of error handling,
`read_whole_stream()` just loops indefinitely.
2013-05-08 03:54:38 -07:00
Zack Corr
3532350016 Add #[cfg(debug)] flag to rust suite compilation. Closes #3068 2013-05-08 20:03:53 +10: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
bors
e6529c36af auto merge of #6307 : brson/rust/rng2, r=brson
Closes #6280
2013-05-08 01:33:38 -07:00
Sangeun Kim
dc48a558b6 Show lint names 2013-05-08 17:23:48 +09:00
bors
625e518ffe auto merge of #6305 : thestinger/rust/rc, r=nikomatsakis 2013-05-08 00:21:38 -07:00
bors
86500fbb13 auto merge of #6297 : sammykim/rust/static-lint-table, r=luqmana 2013-05-07 23:18:39 -07:00
Brian Anderson
80061ecb1d rt: Remove rust_call_nullary_fn
There's no need to delegate to C to call the Rust main function.
2013-05-07 23:01:05 -07:00
Seo Sanghyeon
eb5fa06113 Move core::simd to core::unstable::simd 2013-05-08 14:37:18 +09:00
ILyoan
1813ab594d testsuite: update a test for #4350 2013-05-08 13:36:20 +09:00
bors
5a1afaf581 auto merge of #6303 : nikomatsakis/rust/issue-4666-test, r=nikomatsakis
existing tests. The bug itself was fixed as part of recent borrowck
reform.

Fixes #4666.
2013-05-07 20:30:37 -07:00
bors
3c4b32cdbe auto merge of #6259 : Aatch/rust/vimfile, r=bstrie
`colorcolumn` is now set with `setlocal`, so it doesn't infect the entire session.

`conceal` support is now opt-in, not opt-out. I haven't found anybody that likes it or cares either way.

The indent file now uses `cindent` with appropriate `cinoptions` and `cinkeys`. Auto-indenting an entire file mostly gets the right thing now, with structs and enums not being affects like before. Defaults to the hanging indent style, unless the first argument is on a new line.

There were some keywords in the syntax file that I've never seen (and have been used as identifiers in some tests) so they have been commented out.
2013-05-07 19:21:37 -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
1755eec87f test: Replace Durable with 'static 2013-05-07 17:50:27 -07:00
bors
d35eb6e1ee auto merge of #6302 : nikomatsakis/rust/issue-6141-leaking-owned-fn, r=brson
When autoborrowing a fn in trans, adjust the type of the datum to be `&fn`.

Fixes #6141.

r? @brson
2013-05-07 17:30:38 -07:00
bors
847552f48b auto merge of #6301 : bjz/rust/numeric-traits, r=pcwalton
This is part of the redesign of the numeric traits tracked in issue #4819.

Renamed:

- `Exponential::expm1` -> `Float::exp_m1` - for consistency with underscore usage elsewhere
- `Exponential::log` -> `Exponential::ln` - a less ambiguous name for the natural logarithm
- `{float, f64, f32}::logarithm` -> `Exponential::log` - for arbitrary base logarithms
- `Real::log_2` -> `Real::ln_2`  - for consistency with `ln`
- `Real::log_10` -> `Real::ln_10` - for consistency with `ln`

Added:

- `Signed::abs_sub` - wraps libm's `fdim` function
- `Float::is_normal` - returns `true` if the number is neither zero, infinite, subnormal or NaN
- `Float::classify` - returns the floating point category of the number
- `Float::ln_1p` - returns the natural logarithm of the number plus one
2013-05-07 16:18:37 -07:00