Commit Graph

107 Commits

Author SHA1 Message Date
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
Brian Anderson
8f92de3ce5 core: Actually build to_bytes 2012-07-05 14:40:45 -07:00
Brian Anderson
c199090130 core: Export to_bytes 2012-07-05 14:38:59 -07:00
Gareth Daniel Smith
be0141666d convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498 2012-07-04 19:18:13 -07:00
Ben Blum
3777a14f08 Add doubly-linked list to libcore (to be used in task.rs). 2012-07-02 16:03:38 -04:00
Graydon Hoare
312faf31df Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this. 2012-06-21 16:44:10 -07:00
Eric Holk
e4c291530e Basic functionality for new ports and chans
The first benchmark shows about twice the throughput of the old system.
2012-06-21 16:11:11 -07:00
Eric Holk
be664ddd29 Moved arc to libcore and added an arc that allows shared mutable state through mutual exclusion. 2012-06-19 10:31:12 -07:00
Tim Chevalier
0276a3376b Revert "Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion."
This reverts commit 015527b0ce.
2012-06-16 15:21:08 -07:00
Eric Holk
015527b0ce Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion. 2012-06-15 22:00:58 -04:00
Patrick Walton
7571ee85c4 Merge branch 'incoming' 2012-06-07 18:50:42 -07:00
Patrick Walton
3d7400f3ac Add a Num typeclass 2012-06-07 16:08:38 -07:00
Brian Anderson
5f4837ad6a core: Start on a stack walker 2012-06-06 23:39:56 -07:00
Niko Matsakis
3b4cfdeee2 Merge remote-tracking branch 'mozilla/incoming'
Conflicts:
	src/rustc/middle/tstate/auxiliary.rs
2012-06-06 19:00:34 -07:00