Patrick Walton
6ce74460e6
librustc: Disallow trait bounds in types, enumerations, and structure definitions. r=tjc
2013-01-29 10:42:58 -08:00
Patrick Walton
eb4d39e1fe
libstd: Remove "dual impls" from the language and enforce coherence rules. r=brson
...
"Dual impls" are impls that are both type implementations and trait
implementations. They can lead to ambiguity and so this patch removes them
from the language.
This also enforces coherence rules. Without this patch, records can implement
traits not defined in the current crate. This patch fixes this, and updates
all of rustc to adhere to the new enforcement. Most of this patch is fixing
rustc to obey the coherence rules, which involves converting a bunch of records
to structs.
2013-01-29 10:42:45 -08:00
Alex Crichton
810eeef444
Fix the len() method on LinearMap during popping
2013-01-29 11:16:39 -05:00
Tim Chevalier
c5461e46ae
core: Allow legacy records in in a few modules
...
Because of macros, #[allow(structural_records]] in
extfmt, gc, os, pipes, and run. Will need a snapshot.
2013-01-28 19:41:56 -08:00
Brian Anderson
a72aeef9f7
Revert readline optimization and add test
2013-01-28 19:32:02 -08:00
Michael Neumann
d38939c7e8
Slightly optimize read_line()
...
No need to allocate an additional vector. Instead directly push into the
string.
2013-01-28 14:40:11 -08:00
Michael Neumann
02de11c1e7
Fix example code
2013-01-28 14:40:11 -08:00
Daniel Micay
8eaf0737b7
get rid of LinearMap's find_copy method
2013-01-28 16:06:09 -05:00
Brian Anderson
83ca034d2e
Merge remote-tracking branch 'brson/nocommupstream2'
2013-01-26 14:57:58 -08:00
Tim Chevalier
0743cec023
core: Remove structural records in library tests
2013-01-26 11:35:17 -08:00
Tyler Bindon
3a5d2cdbf3
Fix Option camel case in comments
2013-01-25 19:42:23 -07:00
Brian Anderson
1ef83945c1
Merge remote-tracking branch 'brson/nocommupstream'
...
Conflicts:
src/libcore/private.rs
src/libcore/task/mod.rs
src/libcore/task/spawn.rs
src/libstd/net_tcp.rs
src/libstd/uv_global_loop.rs
src/libstd/uv_iotask.rs
2013-01-25 18:06:30 -08:00
Tim Chevalier
85a34c2898
Merge pull request #4625 from thestinger/container
...
more little container improvements
2013-01-25 11:57:51 -08:00
Tim Chevalier
2d33e308ac
core: Mop up Windows breakage
2013-01-24 20:39:09 -08:00
Daniel Micay
e4337a9def
remove remaining is_not_empty functions/methods
2013-01-24 23:24:57 -05:00
Daniel Micay
ec3f6e1932
implement Mutable trait for vec
2013-01-24 23:10:14 -05:00
Daniel Micay
d95c9cbe38
replace ConstVector trait with the Container trait
2013-01-24 23:02:44 -05:00
Tim Chevalier
b73d926a7e
Merge pull request #4623 from thestinger/map
...
clean up LinearMap implementation
2013-01-24 19:17:23 -08:00
Daniel Micay
5c14b91bad
clean up LinearMap implementation
2013-01-24 22:04:16 -05:00
Erick Tryzelaar
11fd2beef9
Convert dlist records into structs
2013-01-24 16:24:31 -08:00
Erick Tryzelaar
339618a7f9
convert io wrapper records into structs
2013-01-24 16:24:31 -08:00
Erick Tryzelaar
9b17e7a777
Fix another typo
2013-01-24 16:24:31 -08:00
Erick Tryzelaar
5085eb3c28
Convert pipes::Buffer into a struct
2013-01-24 16:24:31 -08:00
Erick Tryzelaar
feab095d65
Convert core::pipes::{Packet,Chan_,Port_} into structs
2013-01-24 16:24:31 -08:00
Erick Tryzelaar
90734a0d33
Convert extfmt::rt::Conv into a struct
2013-01-24 16:24:31 -08:00
Erick Tryzelaar
79a9b23f4a
Fix a typo
2013-01-24 16:24:31 -08:00
Erick Tryzelaar
c15facb5c0
Remove "unsafe" from run::start_program
2013-01-24 16:24:30 -08:00
Erick Tryzelaar
e22d2bc4bc
core: convert io::Res over to the Drop trait
2013-01-24 16:24:30 -08:00
Erick Tryzelaar
e4d4a1499b
convert most of libcore records into structs
2013-01-24 16:24:30 -08:00
Patrick Walton
ad25e208ee
librustc: Allow &mut
to be loaned; allow self
to be loaned; make &mut
loanable to &
. r=nmatsakis
2013-01-24 13:52:22 -08:00
Patrick Walton
163b97b7bb
librustc: Make C functions unsafe
2013-01-24 13:52:21 -08:00
Daniel Micay
dbfe21edda
document LinearMap::new
2013-01-24 13:36:55 -05:00
Daniel Micay
acde90dc1c
remove old LinearMap constructor
2013-01-24 13:36:04 -05:00
Graydon Hoare
07d0af151a
core: fix windows breakage from 982cf90, r=burningtree.
2013-01-23 21:57:05 -08:00
Tim Chevalier
a202dcccca
Merge pull request #4594 from thestinger/map
...
more work on the map trait and TreeMap/LinearMap
2013-01-23 20:10:47 -08:00
Tim Chevalier
982cf90dc6
Add a T_SIGNED type to uint template and eliminate step_down variant
...
Handle negative steps properly in range_step, fix order of arguments
in tests, and such.
2013-01-23 18:57:57 -08:00
Huon Wilson
1a6e1e2801
libcore: Correct behaviour of range_step for uint, tests for range* functions.
...
Splits the range_step function into the two directions (up, low -> high,
and down, high -> low) for the uint types, since there is no way to have
`step < 0` for a backwards range.
2013-01-23 18:56:41 -08:00
Huon Wilson
83e3c82d63
libcore: Add range_step and range_rev functions.
...
Closes #1817
2013-01-23 18:56:41 -08:00
Brian Anderson
bc0c5bb447
core: Stop using oldcomm
2013-01-23 17:35:35 -08:00
Brian Anderson
cc9ab2c033
Remove old comm-based weak task interface
2013-01-23 17:35:34 -08:00
Brian Anderson
a3e087cefa
core: Remove private::chan_from_global_ptr. #3915
2013-01-23 17:35:34 -08:00
Brian Anderson
b9608fe423
std: Convert uv_global_loop to use pipes
2013-01-23 17:35:34 -08:00
Brian Anderson
fb9299346a
core: Convert getenv/setenv to use a mutex
...
This much simpler implementation uses a global mutex
and eliminates the kernel environment channel.
2013-01-23 17:35:34 -08:00
Brian Anderson
8852279a9e
core: Add new weak task API
2013-01-23 17:35:31 -08:00
Daniel Micay
7f0fa143bc
switch LinearMap to current constructor convention
2013-01-23 18:01:24 -05:00
Patrick Walton
54b2cad8b3
libsyntax: Remove fn() unsafe { ... }
. r=graydon
2013-01-23 14:41:08 -08:00
Tim Chevalier
10e8ae852d
Merge pull request #4597 from Dretch/atvec-constructors
...
Oops - add the missing pubs!
2013-01-23 14:37:47 -08:00
gareth
ba2a3e8234
Oops - add the missing pubs!
2013-01-23 22:30:56 +00:00
Daniel Micay
591eefd740
improve hashmap/treemap documentation
2013-01-23 16:47:27 -05:00
Daniel Micay
988ce7180d
rm unnecessary usage of 'unsafe' from hashmap
2013-01-23 16:39:09 -05:00