about summary refs log tree commit diff
path: root/src/libstd
AgeCommit message (Collapse)AuthorLines
2013-05-10auto merge of #6205 : brson/rust/flate, r=brsonbors-0/+108
r? @graydon I don't think this is necessary in core.
2013-05-10auto merge of #6223 : alexcrichton/rust/issue-6183, r=pcwaltonbors-52/+539
Closes #6183. The first commit changes the compiler's method of treating a `for` loop, and all the remaining commits are just dealing with the fallout. The biggest fallout was the `IterBytes` trait, although it's really a whole lot nicer now because all of the `iter_bytes_XX` methods are just and-ed together. Sadly there was a huge amount of stuff that's `cfg(stage0)` gated, but whoever lands the next snapshot is going to have a lot of fun deleting all this code!
2013-05-10test: Use the new `for` protocolAlex Crichton-2/+74
2013-05-10Move flate from core to stdBrian Anderson-0/+108
2013-05-10auto merge of #6358 : crabtw/rust/mips-segstk, r=brsonbors-0/+1
I changed ```RED_ZONE_SIZE``` to ```RZ_MAC_32``` because of stack canary failure. Here is a LLVM patch for MIPS segmented stacks. http://people.cs.nctu.edu.tw/~jyyou/rust/mips-segstk.patch Current test results ``` failures: rand::tests::test_rng_seeded_custom_seed2 run::tests::test_forced_destroy_actually_kills run::tests::test_unforced_destroy_actually_kills time::tests::run_tests uv_ll::test::test_uv_ll_struct_size_addrinfo uv_ll::test::test_uv_ll_struct_size_uv_timer_t segfaults: rt::io::option::test::test_option_writer_error rt::local_services::test::unwind rt::sched::test_swap_tasks_then stackwalk::test_simple stackwalk::test_simple_deep ```
2013-05-10auto merge of #6329 : sonwow/rust/issue-6306, r=ILyoanbors-6/+6
Fix for #6306
2013-05-09auto merge of #6339 : alexcrichton/rust/unsafe-cvec, r=catamorphismbors-4/+4
As noted by @jwise [here](https://github.com/mozilla/rust/commit/52445129fdb4ee847332acbf516ced8f73b7990a#commitcomment-3172192), it's probably a good idea to keep these unsafe. The lint check won't warn about these because it ignore `unsafe fn` declarations.
2013-05-10rustc: Use the new `for` protocolAlex Crichton-0/+33
2013-05-10std: Use the new `for` protocolAlex Crichton-51/+433
2013-05-10Move core::task::local_data to core::local_dataYoungsoo Son-6/+6
2013-05-09auto merge of #6354 : Aatch/rust/uninit-intrinsic, r=graydonbors-0/+84
Adds an `uninit` intrinsic. It's just an empty function, so llvm optimizes it down to nothing. I changed all of the `init` intrinsic usages to `uninit` where it seemed appropriate to.
2013-05-09auto merge of #6349 : thestinger/rust/explicit_copy, r=thestingerbors-105/+105
I removed some of the copies, but most are just made explicit. The usage in `libcore` was already fixed, but the attribute was only set to warn (not removed).
2013-05-09remove vecs_implicitly_copyable from libstd/libcoreDaniel Micay-105/+105
2013-05-09Mark c_vec functions as unsafe againAlex Crichton-4/+4
2013-05-09Add intrinsic declaration where I missed themJames Miller-0/+4
2013-05-09Make staged versions of the functions that use uninitJames Miller-0/+80
2013-05-09auto merge of #6345 : seanmoon/rust/fix-typos, r=sanxiynbors-14/+14
Hi there, Really enjoying Rust. Noticed a few typos so I searched around for a few more--here's some fixes. Ran `make check` and got `summary of 24 test runs: 4868 passed; 0 failed; 330 ignored`. Thanks! Sean
2013-05-09Replace init() with uninit() where appropriateJames Miller-4/+4
2013-05-09improve MIPS backend and implement segmented stacksJyun-Yan You-0/+1
2013-05-09auto merge of #6337 : thestinger/rust/fix_region, r=thestingerbors-6/+6
also removes unnecessary casts from the RcMut implementation
2013-05-08auto merge of #6328 : recrack/rust/rename_cleanup, r=sanxiynbors-27/+24
rename vec::each(var) to var.each > librustc, libsyntax, libstd, librustdoc, libcore
2013-05-09libstd: rename vec::each(var) to var.eachYoungmin Yoo-27/+24
2013-05-08auto merge of #6332 : huonw/rust/std-base64-match, r=nikomatsakisbors-24/+20
2013-05-08libcore: Fix tests.Patrick Walton-26/+36
2013-05-08librustc: Stop parsing modes and remove them entirely from the languagePatrick Walton-20/+20
2013-05-08librustc: Fix merge fallout.Patrick Walton-8/+17
2013-05-08libstd: Remove some residual mutable fieldsPatrick Walton-1/+34
2013-05-08libcore: Remove more mutable fields from commPatrick Walton-2/+2
2013-05-08libcore: Remove mutable fields from pipesPatrick Walton-15/+22
2013-05-08libcore: Remove mutable fields from the task builder APIPatrick Walton-10/+20
2013-05-08libcore: Remove mutable fields from rand.Patrick Walton-2/+2
2013-05-08libstd: Start warning about mutable fields, now that they only exist in stage0Patrick Walton-1/+3
2013-05-08libstd: Remove mutable fields from future and parPatrick Walton-23/+58
2013-05-08libstd: Remove mutable fields from flatpipes and io_utilPatrick Walton-13/+15
2013-05-08libstd: Remove mutable fields from fileinput and net_tcpPatrick Walton-21/+23
2013-05-08fix incorrect region code based on the old 'selfDaniel Micay-6/+6
also removes unnecessary casts from the RcMut implementation
2013-05-09Fix typosSean Moon-14/+14
2013-05-08libstd: convert chained ifs to a match in base64.Huon Wilson-24/+20
2013-05-08auto merge of #6317 : brson/rust/durable, r=z0w0bors-2/+2
#6312
2013-05-08auto merge of #6305 : thestinger/rust/rc, r=nikomatsakisbors-6/+8
2013-05-07auto merge of #6301 : bjz/rust/numeric-traits, r=pcwaltonbors-0/+14
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-07std: Replace Durable with 'staticBrian Anderson-2/+2
2013-05-07arc: mark RWARC as non-ConstDaniel Micay-0/+1
2013-05-07rc: remove the managed pointer workaroundDaniel Micay-6/+7
2013-05-07auto merge of #6276 : brson/rust/issue-6122, r=graydonbors-0/+1
2013-05-07Add abs_sub method to Signed traitBrendan Zabarauskas-0/+14
2013-05-06auto merge of #6236 : alexcrichton/rust/more-map-methods, r=thestingerbors-27/+91
Closes #5392 and #5393 I implemented the pop/swap methods for TrieMap/TreeMap/SmallIntMap, and I also updated all of them such that pop isn't just a remove/insert, but rather it's all done in one operation. One thing I did notice is that with default methods it'd be really nice to define `insert` and `remove` in terms of `pop` and `swap` (or vice versa, just to have them available).
2013-05-07Add pop() and swap() to the Map traitAlex Crichton-27/+91
2013-05-06auto merge of #6241 : thestinger/rust/rc, r=pcwaltonbors-0/+276
To provide a reference counted pointer type with deterministic destruction once managed boxes are switched over to a garbage collector. Unlike managed boxes, these can be moved instead of just copied/cloned which is helpful for avoiding reference counts. Needs #5601 to be fixed in order for safety to be provided without the current ugly workaround of making the pointers contain `Option<@()>` and `Option<@mut ()>` (which are just set to `None`). @brson: r?
2013-05-06add task-local reference counted smart pointersDaniel Micay-0/+276
To provide a reference counted pointer type with deterministic destruction once managed boxes are switched over to a garbage collector. Unlike managed boxes, these can be moved instead of just copied/cloned which is helpful for avoiding reference counts.