about summary refs log tree commit diff
path: root/src/libstd/local_data.rs
AgeCommit message (Collapse)AuthorLines
2014-02-11Move replace and swap to std::mem. Get rid of std::utilEdward Wang-2/+2
Also move Void to std::any, move drop to std::mem and reexport in prelude.
2014-02-07Cleaned up imports per coding standards.chromatic-2/+2
No functional changes; just style.
2014-02-07Removed prelude::* from libstd files.chromatic-1/+3
This replaces the imports from the prelude with the re-exported symbols.
2014-01-29Removing do keyword from libstd and librustcScott Lawrence-10/+10
2014-01-22Replace C types with Rust types in libstd, closes #7313Florian Hahn-6/+5
2014-01-15libstd: Added more #[inline] annotations and replaced uses of `libc::abort` ↵Eduard Burtescu-1/+2
with the intrinsic.
2014-01-12Removed remnants of `@mut` and `~mut` from comments and the type system.Eduard Burtescu-2/+1
2013-12-31Conservatively export all trait methods and implsAlex Crichton-0/+1
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-24std: Get stdtest all passing againAlex Crichton-0/+1
This commit brings the library up-to-date in order to get all tests passing again
2013-12-23std: Fix all code examplesAlex Crichton-2/+2
2013-12-21std: Remove some @-boxesBrian Anderson-49/+49
2013-12-20std: silence warnings when compiling test.Huon Wilson-0/+3
2013-12-15librustc: Remove identifiers named `box`, since it's about to become a keyword.Patrick Walton-6/+6
2013-12-15std: fix spelling in docs.Huon Wilson-1/+1
2013-11-26test: Remove non-procedure uses of `do` from compiletest, libstd tests,Patrick Walton-20/+20
compile-fail tests, run-fail tests, and run-pass tests.
2013-11-26libstd: Remove all non-`proc` uses of `do` from libstdPatrick Walton-2/+2
2013-11-19libstd: Change all uses of `&fn(A)->B` over to `|A|->B` in libstdPatrick Walton-6/+9
2013-11-11Remove #[fixed_stack_segment] and #[rust_stack]Alex Crichton-1/+0
These two attributes are no longer useful now that Rust has decided to leave segmented stacks behind. It is assumed that the rust task's stack is always large enough to make an FFI call (due to the stack being very large). There's always the case of stack overflow, however, to consider. This does not change the behavior of stack overflow in Rust. This is still normally triggered by the __morestack function and aborts the whole process. C stack overflow will continue to corrupt the stack, however (as it did before this commit as well). The future improvement of a guard page at the end of every rust stack is still unimplemented and is intended to be the mechanism through which we attempt to detect C stack overflow. Closes #8822 Closes #10155
2013-10-22Drop the '2' suffix from logging macrosAlex Crichton-8/+8
Who doesn't like a massive renaming?
2013-10-09option: rewrite the API to use compositionDaniel Micay-6/+6
2013-10-02Check enums in missing_doc lintSteven Fackler-0/+1
Closes #9671
2013-09-30std: Remove usage of fmt!Alex Crichton-11/+11
2013-09-25rustdoc: Change all code-blocks with a scriptAlex Crichton-2/+2
find src -name '*.rs' | xargs sed -i '' 's/~~~.*{\.rust}/```rust/g' find src -name '*.rs' | xargs sed -i '' 's/ ~~~$/ ```/g' find src -name '*.rs' | xargs sed -i '' 's/^~~~$/ ```/g'
2013-09-24auto merge of #9457 : klutzy/rust/doc-fix, r=alexcrichtonbors-2/+2
2013-09-24std::local_data: Fix document codeklutzy-2/+2
2013-09-23remove apostrophe where it's is not used as a contractionDan Connolly-1/+1
2013-09-12Improve the local_data docs slightlyAlex Crichton-7/+8
Remove references to local_data::Key and only mention the macro for how to construct new keys into local data.
2013-09-09Remove hacks around issues in local_dataAlex Crichton-9/+7
These compiler bugs have since been fixed (one less layer of indirection)
2013-08-27Consolidate local_data implementations, and cleanupAlex Crichton-207/+453
This moves all local_data stuff into the `local_data` module and only that module alone. It also removes a fair amount of "super-unsafe" code in favor of just vanilla code generated by the compiler at the same time. Closes #8113
2013-08-22Enabled unit tests in std and extra.Vadim Chugunov-1/+0
2013-08-16syntax: add a local_data_key macro that creates a key for access to the TLS.Huon Wilson-2/+2
This allows the internal implementation details of the TLS keys to be changed without requiring the update of all the users. (Or, applying changes that have to be applied for the keys to work correctly, e.g. forcing LLVM to not merge these constants.)
2013-08-07std: add result.map_move, result.map_err_moveErick Tryzelaar-6/+6
2013-08-05Updated std::Option, std::Either and std::ResultMarvin Löbel-7/+7
- Made naming schemes consistent between Option, Result and Either - Changed Options Add implementation to work like the maybe monad (return None if any of the inputs is None) - Removed duplicate Option::get and renamed all related functions to use the term `unwrap` instead
2013-07-22new snapshotDaniel Micay-43/+4
2013-07-17librustc: Remove all uses of the `Copy` bound.Patrick Walton-1/+1
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-3/+5
2013-07-16Add a `get_mut` method for TLSAlex Crichton-1/+76
Simulates borrow checks for '@mut' boxes, or at least it's the same idea.
2013-07-14Make TLS keys actually take up spaceAlex Crichton-40/+40
If the TLS key is 0-sized, then the linux linker is apparently smart enough to put everything at the same pointer. OSX on the other hand, will reserve some space for all of them. To get around this, the TLS key now actuall consumes space to ensure that it gets a unique pointer
2013-07-14Purge the last remnants of the old TLS apiAlex Crichton-119/+121
Closes #3273
2013-07-11Fix testsAlex Crichton-1/+1
2013-07-11Remove all external requirements of `@` from TLSAlex Crichton-11/+11
Closes #6004
2013-07-11Fix a soundness problem with `get`Alex Crichton-0/+8
2013-07-11Work around stage0 to remove '@' requirements from TLSAlex Crichton-0/+40
2013-07-09Rename local_data methods/types for less keystrokesAlex Crichton-48/+59
2013-07-09Change TLS to almost be able to contain owned typesAlex Crichton-12/+6
2013-07-09Change the elements in the task-local map to be actual key-value pairsAlex Crichton-2/+6
2013-06-29Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.Ben Blum-1/+1
2013-06-28std: silence some test warnings.Huon Wilson-13/+10
2013-05-30Remove unnecessary 'use' formsDaniel Farina-2/+3
Fix a laundry list of warnings involving unused imports that glutted up compilation output. There are more, but there seems to be some false positives (where 'remedy' appears to break the build), but this particular set of fixes seems safe.
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+2