Commit Graph

120 Commits

Author SHA1 Message Date
Brian Anderson f996b3ae81 core: Split local_data into local_data/local_data_priv 2012-09-19 19:08:32 -07:00
Brian Anderson 1397dca2dd core: Move TLS to task::local_data 2012-09-19 19:08:32 -07:00
Brian Anderson 7bf0aa1c43 core: More doc cleanup 2012-09-19 17:17:19 -07:00
Brian Anderson c115b82238 core: Clean up crate docs and give all mods a brief description 2012-09-19 16:52:59 -07:00
Graydon Hoare 5e41739562 Remove final bits of residual hokey-hash functions. Close #1616. 2012-09-19 16:35:53 -07:00
Brian Anderson 2906f2de31 core: Rename 'unsafe' mod to 'cast' 2012-09-18 19:36:25 -07:00
Patrick Walton e653d493fb rustc: Remove legacy mode inference, unless #[legacy_modes] is used 2012-09-18 15:53:04 -07:00
Graydon Hoare aa2ab2659f Add core::reflect, start migrating core::repr to use it. Tidy up various Repr types. 2012-09-14 19:09:38 -07:00
Patrick Walton ce773352d0 rustc: Make the box annihilator a language item 2012-09-14 16:50:12 -07:00
Patrick Walton bc96ea2a18 libcore: Implement a box annihilator, not called yet 2012-09-14 16:13:13 -07:00
Patrick Walton 45f5f8ec45 libcore: Add some visitor-based logging functionality 2012-09-12 18:22:08 -07:00
Brian Anderson fb851242b7 Promote 'pub' and 'priv' from restricted to strict keywords 2012-09-11 18:17:26 -07:00
Brian Anderson 298eb8c726 Convert 'import' to 'use'. Remove 'import' keyword. 2012-09-10 19:04:26 -07:00
Niko Matsakis 29003c799f Rename the poorly named Managed<T> type to Mut<T>.
The Mut<T> type is intended to allow freezable data stuctures to be stored in
`@mut` boxes. Currently this causes borrowck to be very conserivative since it
cannot prove that you are not modifying such a structure while iterating over
it, for example.  But if you do `@Mut<T>` instead of `@mut T`, you will
effectively convert borrowck's static checks into dynamic ones.  This lets
you use the e.g. send_map just like a Java Map or something else.
2012-09-10 16:50:07 -07:00
Brian Anderson a026e9a5cd core: warn(non_camel_case_types) -> deny 2012-09-09 14:51:56 -07:00
Elliott Slaughter 3f0d207b32 gc: Add stack walker for new garbage collector.
Safe points are exported in a per-module list via the crate map. A C
runtime call walks the crate map at startup and aggregates the list of
safe points for the program.

Currently the GC doesn't actually deallocate memory on malloc and
free. Adding the GC at this stage is primarily of testing value.

The GC does attempt to clean up exchange heap and stack-allocated
resource on failure.

A result of this patch is that the user now needs to be careful about
what code they write in destructors, because the GC and/or failure
cleanup may need to call destructors. Specifically, calls to malloc
are considered unsafe and may result in infinite loops or segfaults.
2012-09-07 09:21:21 -07:00
Patrick Walton aefc884cf6 libcore: Add a from_str trait 2012-09-03 13:09:24 -07:00
Brian Anderson ffa5d76a78 core: Only warn about implicitly copying vecs 2012-09-02 16:21:57 -07:00
Brian Anderson 117aa8cfee core: warn(non_camel_case_types) everywhere, with few exceptions 2012-09-02 16:14:26 -07:00
Brian Anderson 087c5032a8 core: deny(vecs_implicity_copyable) 2012-09-02 15:38:18 -07:00
Brian Anderson 65b05a6ce8 Bump version to 0.4 2012-08-30 14:05:59 -07:00
Patrick Walton 96534365c2 rustc: Make `<` and `=` into traits 2012-08-29 18:25:22 -07:00
Graydon Hoare 6d22a805d7 Replace core::path with contents of core::path2. Back to one path module. 2012-08-29 13:26:51 -07:00
Graydon Hoare b769e29680 Compress metadata section. Seems a minor speed win, major space win. 2012-08-28 14:50:39 -07:00
Brian Anderson cfbc7cbdc7 Convert core::pipes to camel case 2012-08-28 14:33:18 -07:00
Graydon Hoare c284b8b1dc Start using core::path2::Path in a lot of places. 2012-08-24 15:51:16 -07:00
Niko Matsakis bc5eb95222 implement a map testing benchmark
This involved some other changes:
- add a managed<T> wrapper that makes send_map usable from @-data
- implement map<K,V> for managed<send_map>

Unit tests are coming.
2012-08-21 16:07:53 -07:00
Ben Blum 0229bc4def Remove fixmes about exporting. Close #2648, close #3119. 2012-08-21 15:30:53 -04:00
Graydon Hoare 08441fca76 Add PosixPath to path2. Add path2 to core build. Add dot/dotdot-normalizing. 2012-08-20 13:59:47 -07:00
Brian Anderson 9c6890f488 Convert more core types to camel case 2012-08-15 17:46:05 -07:00
Brian Anderson 74c69e1053 Convert more core types to camel case 2012-08-15 14:14:20 -07:00
Brian Anderson 11258310e2 Convert more core types to camel case 2012-08-14 18:26:03 -07:00
Brian Anderson 5394e34aa4 core: Camel case some lesser-used modules 2012-08-13 18:59:48 -07:00
Ben Blum 42825fbea6 Split libcore/arc.rs: arc -> std::arc; exclusive -> unsafe::exclusive 2012-08-10 20:53:09 -04:00
Ben Blum f2ca54991f Add sync.rs with counting blocking semaphores 2012-08-07 18:18:48 -04:00
Ben Blum fd17d347b0 core.rc export core::util 2012-08-01 19:12:23 -04:00
Ben Blum 90ce3d94e4 Add core::util, with swap, replace, and noncopyable 2012-08-01 19:07:28 -04:00
Graydon Hoare 7f60c56c3e Clean out transitional lint. 2012-08-01 13:35:40 -07:00
Ben Blum 52ed570f1c Move send_map to libcore 2012-07-30 13:56:14 -04:00
Brian Anderson dfbe6976c2 core: Fix compilation of intrinsic ops when testing 2012-07-28 16:06:25 -07:00
Graydon Hoare dbbaa50290 Nomenclature fixes in the lint checker. Fewer double-negatives.
New style is allow(foo), warn(foo), deny(foo) and forbid(foo),
mirrored by -A foo, -W foo, -D foo and -F foo on command line.

These replace -W no-foo, -W foo, -W err-foo, respectively.

Forbid is new, and means "deny, and you can't override it".
2012-07-26 17:08:33 -07:00
Patrick Walton da80bd17c3 rustc: Introduce a lang_items pass, part of coherence and operator overloading.
This will also help us remove kinds.
2012-07-25 18:37:03 -07:00
Graydon Hoare fada46c421 Add core::hash containing SipHash-2-4 implementation. Re: #1616 and #859. 2012-07-24 17:11:13 -07:00
Elliott Slaughter de82a9be61 Move fail upcall into rust libcore. 2012-07-23 10:45:58 -07:00
Michael Sullivan aa5b5ab886 Create some infrastructure for building up @-vectors. Work on #2921. 2012-07-17 17:09:25 -07:00
Ben Blum 0b07a46222 core.rc export dlist 2012-07-14 01:24:26 -04:00
Graydon Hoare aa7b3cc929 Fix some version numbers. 2012-07-11 09:09:08 -07:00
Eric Holk 604f7c66ff Removing locked queue port/chan prototype. 2012-07-06 11:05:28 -07:00
Eric Holk a4838c93aa Enabling pipes for all stages, and updating closure syntax. 2012-07-06 10:42:39 -07:00
Eric Holk 67b0760592 Moved pipes runtime support to libcore, and add a test that will help verify that busy waiting is no longer happening.
Fixing the result of a bad merge.
2012-07-06 10:42:39 -07:00