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