Luqman Aden
5912b1448c
libcore: Get rid of move
.
2013-02-15 02:49:54 -08:00
Nick Desaulniers
5d62a4a52e
Convert all uses of vec::slice to vec::view Issue #3869
...
Rename const_view to const_slice
Renamed mut_view to mut_slice
2013-02-14 16:14:32 -08:00
Patrick Walton
9143688197
librustc: Replace impl Type : Trait
with impl Trait for Type
. rs=implflipping
2013-02-14 14:44:12 -08:00
Nick Desaulniers
4445b38df2
Remove die!, raplace invocations with fail! Issue #4524 pt 3
2013-02-13 17:01:32 -08:00
Ben Striegel
e6c82c0375
RIMOV core::vec
...
Also remove as many uses as possible of vec::cast_to_mut and
cast_from_mut
2013-02-13 12:48:24 -05:00
Niko Matsakis
ab2534974c
Adjust borrow checker algorithm to address #4856 unsoundness,
...
and then adjust code to match. rs=unsound (will review post-landing)
2013-02-12 20:10:50 -08:00
Niko Matsakis
a32498d846
Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
...
correct handling of moves for struct-record update.
Part of #3678 . Fixes #2828 , #3904 , #4719 .
2013-02-07 05:53:30 -08:00
Nick Desaulniers
aee7929469
Replace most invocations of fail keyword with die! macro
2013-01-31 20:12:49 -08:00
Seo Sanghyeon
7b268e8316
Cleanup FIXMEs ( #3488 )
2013-01-31 19:23:18 +09:00
Patrick Walton
28ed9dc09e
librustc: Long lines. rs=burning
2013-01-29 22:40:13 -08:00
Patrick Walton
0c1d9befb3
librustc: Speed up byte copy operations. r=nmatsakis
2013-01-29 22:15:06 -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
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
54b2cad8b3
libsyntax: Remove fn() unsafe { ... }
. r=graydon
2013-01-23 14:41:08 -08:00
Trinick
9dc8e96c5f
core: Rename to_mut and from_mut to cast_to_mut and cast_from_mut
2013-01-23 10:09:45 +00:00
Tim Chevalier
143039ca43
docs: Fix typo
2013-01-21 19:50:38 -08:00
William Ting
60184d12b6
Update documentation with examples for various int, vec methods.
...
add int::range(), remainder() examples
add vec::foldl(), foldr() examples
tweak
2013-01-21 19:50:38 -08:00
Chris Peterson
a8ff9f2ef9
Rename copy_overlapping_memory() to copy_memory()
2013-01-18 14:38:46 -08:00
Patrick Walton
f405e41d7a
librustc: Implement write guards for borrowing @mut
to &
or &mut
. r=nmatsakis
2013-01-17 11:50:20 -08:00
Brian Anderson
0ca369e9dc
Merge pull request #4485 from sanxiyn/use-truncate
...
Use vec::truncate for vec::retain
2013-01-14 14:11:26 -08:00
Seo Sanghyeon
e368b16f82
Use vec::truncate for vec::retain
2013-01-14 19:45:08 +09:00
Seo Sanghyeon
23b130441a
Add a test for vec::retain
2013-01-14 17:38:15 +09:00
Tim Chevalier
62d1db1d6c
Long lines
2013-01-13 16:34:54 -08:00
Tim Chevalier
26334b64a2
Merge pull request #4411 from wting/4203_rename_memcpy
...
Rename memcpy, memmove, memset
2013-01-13 14:58:24 -08:00
Jed Davis
1b01629f18
Make vectors (& old ports) of zero-size types allocate one byte each.
2013-01-13 14:37:59 -08:00
Patrick Walton
ca71c6ec5b
librustc: Make all external functions unsafe. r=tjc
2013-01-10 21:24:08 -08:00
Tim Chevalier
90a0dd4008
core: Change XXXs into proper FIXMEs with issue numbers
2013-01-10 15:35:41 -08:00
William Ting
5cfde77bca
Rename memcpy, memmove, memset to prevent any confusion with the C equivalents.
...
Closes #4203 .
2013-01-10 01:24:41 -06:00
Graydon Hoare
6644da5805
core: fix crashing vec methods due to non-working moved self.
2013-01-09 17:21:21 -08:00
Graydon Hoare
9b8c04e236
core: ignore recent should_fail tests on windows
2013-01-09 09:26:59 -08:00
Erick Tryzelaar
c766924f44
core: add vec.filter that moves elems out of the vector
2013-01-09 08:55:37 -08:00
Erick Tryzelaar
2891a49f0d
core: rename vec.filter to vec.filtered
2013-01-09 08:55:37 -08:00
Erick Tryzelaar
9a7e261562
core: add vec.partition and vec.partitioned
2013-01-09 08:55:37 -08:00
Erick Tryzelaar
c55787d009
core: add a vec.consume method
2013-01-09 08:55:37 -08:00
Erick Tryzelaar
8f9a507973
core: add self to all vec methods
2013-01-09 08:55:37 -08:00
Erick Tryzelaar
dc7183ed0e
core: rename MutableVector to OwnedVector
2013-01-09 08:55:37 -08:00
Erick Tryzelaar
d1b7d44b8c
core: inline all vec methods and add whitespace
2013-01-09 08:55:37 -08:00
Patrick Walton
2db3abddcd
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37
Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
...
This reverts commit a8d37af247
.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 19:27:57 -08:00
asdf
dd73dd0e37
removing checks from vec::bytes::memcpy and memmove as are duplicated from raw::
2013-01-08 13:25:23 -08:00
asdf
4096c9f25f
adding bound checks for raw::memcpy and memmove
2013-01-08 13:25:23 -08:00
Tim Chevalier
89acd1f57f
Rename option::get_default => get_or_default, get_zero => get_or_zero
2013-01-04 16:01:26 -08:00
Tim Chevalier
cef153947d
Long lines
2012-12-28 13:35:15 -08:00
Tim Chevalier
7af1080f5e
Merge pull request #4308 from steveklabnik/patch-1
...
Improve documentation for each.
2012-12-28 11:52:16 -08:00
Steve Klabnik
5ec3aba8cc
Improve documentation for each.
...
Add description of arguments, and an example.
2012-12-28 01:12:28 -05:00
Patrick Walton
e26ca35b08
librustc: Fix the test runner, the condition system, and core test. rs=bustage
2012-12-27 17:53:04 -08:00
Patrick Walton
57c599914a
librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon
2012-12-27 10:02:54 -08:00
Erick Tryzelaar
938058b004
Fix vec::flat_map_to_vec method
2012-12-18 20:48:51 -08:00
Erick Tryzelaar
85bb1fc2c4
Change iter::find's closure to take a ref
2012-12-17 22:01:38 -08:00
Erick Tryzelaar
88962eeed8
core: Add &self to core::iter methods
2012-12-17 22:01:38 -08:00
Brian Anderson
309cdfd835
Remove more uses of 'move' from core::vec
2012-12-14 17:12:41 -08:00
Brian Anderson
2c21f348a4
Rewrite core::vec::shift to not allocate
2012-12-14 17:09:44 -08:00
Brian Anderson
0d59e86d80
core: Remove some uses of 'move'
2012-12-12 19:15:18 -08:00
Brian Anderson
9723d3ac2f
Remove transitional code
2012-12-09 17:59:21 -08:00
Patrick Walton
d1ebdbeb6c
librustc: Implement explicit self for Add and Index; add a hack in the borrow checker to support this. r=nmatsakis
2012-12-04 14:51:31 -08:00
Graydon Hoare
94be145169
core: rename box to managed. Close #4079 .
2012-12-03 17:45:19 -08:00
Graydon Hoare
00c856c0b1
Update license, add license boilerplate to most files. Remainder will follow.
2012-12-03 17:12:14 -08:00
Brian Anderson
b52a4b412e
core: Make core.rc more readable. Cleanup
2012-11-30 01:32:53 -08:00
Brian Anderson
8179e268ef
Register snapshots
2012-11-28 12:33:00 -08:00
Brian Anderson
917ee7e5b1
Ignore two failure tests on windows
2012-11-26 14:48:48 -08:00
Gareth Daniel Smith
689f6ce5d0
Add insert and remove methods to vecs - as proposed in issue #4028 .
2012-11-26 14:34:50 -08:00
Erick Tryzelaar
9539724e8b
Remove parentheses from closure argument types
2012-11-20 16:39:30 -08:00
Patrick Walton
318e534895
rustc: Implement explicit self for Eq and Ord. r=graydon
2012-11-19 15:33:11 -08:00
Tim Chevalier
a006608276
Remove stage0 stuff that was awaiting snapshot
...
and re-register snapshots
Just removing unneeded code, no review
2012-11-03 14:04:32 -07:00
Patrick Walton
ad02510258
libcore: Implement a memory-safe "each_val" for data in aliasable, mutable locations
2012-11-02 10:17:32 -07:00
Niko Matsakis
1a3a70760b
Implement proper subtyping for region fn types (part of #2263 )
2012-10-24 18:56:31 -07:00
Tim Chevalier
11e92f37c1
Remove uses of binary move - <- - from tests and libraries
2012-10-23 12:10:03 -07:00
Tim Chevalier
30a62793fa
Make moves explicit in core tests
2012-10-12 20:43:37 -07:00
Tim Chevalier
945d57a6ff
Export VecUnboxedRepr from vec so a test case can use it
2012-10-11 17:58:45 -07:00
Tim Chevalier
66cea3700e
Fix from_buf in test cases
2012-10-11 16:45:57 -07:00
Tim Chevalier
6854265161
Remove comment that is now false
2012-10-11 16:00:30 -07:00
Tim Chevalier
05999290e2
Finally removing all uses of by-mut-ref
...
The code for the mode itself is still there.
2012-10-05 21:03:40 -07:00
Tim Chevalier
e16dbb7888
Demode some code using by-mutbl-ref; warn about by-mutbl-ref
...
The parser now warns about use of mutbl-ref mode, though it's kind
of a lie since this commit doesn't remove support for the mode.
Changed move_val_init to have stage0 and stage1/2 versions, the latter of
which is demoded.
Changed the type that the typechecker expects the move_val_init
intrinsic to have. After this is pushed, I can make a new snapshot,
which will remove the need for the stage0 versions.
2012-10-05 15:37:01 -07:00
Tim Chevalier
4155a60c75
Fix FIXME that's no longer blocked by #2611
2012-10-04 19:43:32 -07:00
Tim Chevalier
65c96f849f
Forbid deprecated modes again in core
...
Sadly, there's only one file that requires deprecated modes
(stackwalk)... So, forbid them everywhere else.
2012-10-04 16:48:57 -07:00
Tim Chevalier
f78cdcb636
Removing explicit uses of + mode
...
This removes most explicit uses of the + argument mode. Pending a
snapshot, I had to remove the forbid(deprecated_modes) pragma from
a bunch of files. I'll put it back!
+ mode still has to be used in a few places for functions that get
moved (see task.rs)
The changes outside core and std are due to the to_bytes trait and
making the compiler (with legacy modes on) agree with the libraries
(with legacy modes off) about modes.
2012-10-02 14:31:39 -07:00
Erick Tryzelaar
8fc3088b2a
rename vec::raw::form_slice to buf_as_slice
...
This matches the str::raw function.
2012-10-01 20:44:30 -07:00
Graydon Hoare
c042e06908
De-export vec. Part of #3583 .
2012-10-01 16:11:17 -07:00
Tim Chevalier
b18320446e
Move over to calling ptr::addr_of
...
Everything should now call ptr::addr_of instead of
ptr::p2::addr_of. Only the pipes macro code when compiled
by stage0 will call ptr::p2::addr_of. Needs a snapshot to get
rid of that.
2012-10-01 15:12:09 -07:00
Tim Chevalier
3639d38d5c
Add a demoded version of ptr::addr_of
...
Currently, the new version is ptr::p2::addr_of and the old one is
ptr::addr_of. This is kind of cheesy, but I need a snapshot before I
can ditch the old version, since the pipe compiler generates calls to
addr_of.
core is converted over to use the new version, std is not.
2012-09-28 22:19:01 -07:00
Tim Chevalier
a3a257cc3b
Demode iter::foldl and friends
2012-09-28 17:57:02 -07:00
Brian Anderson
e48429abae
core: Demode the vec::foldr method
2012-09-28 17:48:14 -07:00
Tim Chevalier
fec96b2ae0
Demoding in iter: any, all, map_to_vec, flat_map_to_vec, filter_to_vec
2012-09-28 17:44:15 -07:00
Brian Anderson
8766c2e35b
core: Demode patterns
2012-09-28 16:57:36 -07:00
Niko Matsakis
565b39b302
rename iter2 to each2, make it follow iterator protocol
2012-09-28 16:13:03 -07:00
Niko Matsakis
21519bc7e0
demode vec
2012-09-28 13:27:45 -07:00
Brian Anderson
24265b1598
core: Add failure tests for higher-order vec functions
2012-09-27 16:58:24 -07:00
Niko Matsakis
e844e1db6e
change vec::view sig to be sound (good catch @bblum)
2012-09-26 21:29:22 -07:00
Brian Anderson
2340ef96d5
Merge pull request #3526 from Dretch/viewmethod
...
Make vec::view a method too.
2012-09-26 21:08:26 -07:00
Brian Anderson
e8fe718bfd
core: Replace map/map_default with map_ref/map_default_ref
2012-09-26 20:15:23 -07:00
Niko Matsakis
67a8e7128a
Demode vec::push (and convert to method)
2012-09-26 18:02:07 -07:00
Tim Chevalier
e19e628b19
Demode iter-trait
2012-09-25 22:13:05 -07:00
Niko Matsakis
267ab11cca
use + mode for (almost) everything when not using legacy modes
2012-09-25 12:47:35 -07:00
Brian Anderson
afd91f8a56
Register snapshots. Remove redundant Eq impls, Makefile hacks
2012-09-23 23:01:49 -07:00
Brian Anderson
4a78f9b166
core: Demode option
2012-09-23 17:15:00 -07:00
Niko Matsakis
ba3eebd41d
Make it illegal to use modes in a fn signature with providing
...
an explicit variable name. (Step one to changing the defaults)
First step to #3535
2012-09-23 13:30:13 -05:00
Niko Matsakis
3d59ac3a19
De-mode vec::map, vec::eachi, vec::rev_each, vec::rev_eachi
2012-09-21 19:13:55 -07:00
Graydon Hoare
dffe188991
Install new pub/priv/export rules as defaults, old rules accessible under #[legacy_exports];
2012-09-21 18:11:43 -07:00
Patrick Walton
9117dcb968
rustc: De-mode all overloaded operators
2012-09-20 09:48:05 -07:00
Niko Matsakis
cfed923600
demode the each() method on vec and other iterables.
2012-09-19 17:03:01 -07:00
Graydon Hoare
5e41739562
Remove final bits of residual hokey-hash functions. Close #1616 .
2012-09-19 16:35:53 -07:00
Niko Matsakis
9cf271fe96
De-mode vec::each() and many of the str iteration routines
...
Note that the method foo.each() is not de-moded, nor the other
vec routines.
2012-09-19 10:52:59 -07:00
Niko Matsakis
8d4928f780
Revert "replace explicit calls to vec::each with vec::each_ref, partially demode str"
...
This reverts commit 1be24f0758
.
Not quite ready.
2012-09-18 21:41:13 -07:00
Niko Matsakis
1be24f0758
replace explicit calls to vec::each with vec::each_ref, partially demode str
2012-09-18 21:31:00 -07:00
Brian Anderson
2906f2de31
core: Rename 'unsafe' mod to 'cast'
2012-09-18 19:36:25 -07:00
Brian Anderson
d53cfd225a
core: Move Exclusive and SharedMutableState to the private mod
2012-09-18 15:23:57 -07:00
Gareth Daniel Smith
5d925b212e
Make vec::view a method too.
2012-09-18 21:46:53 +01:00
Brian Anderson
2cdb23bbc0
Replace uses of 'unchecked' with 'unsafe'
2012-09-18 11:31:57 -07:00
Erick Tryzelaar
10e317de54
vec::u8 => vec::bytes ( #3444 )
2012-09-15 13:38:41 -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
Graydon Hoare
c5347b4bf9
Fix implicit-instantiation of non-implicitly-copyable warnings.
2012-09-13 19:53:30 -07:00
Niko Matsakis
2f6b66ecd3
s/vec::as_buf/vec::as_imm_buf/, fix comment, remove set.rs
...
hat tip to @jruderman
2012-09-13 13:24:33 -07:00
Niko Matsakis
109055c7d3
make iter::position() not require Eq
2012-09-13 09:14:49 -07:00
Brian Anderson
ff54ac8e59
Rename vec::unsafe to vec::raw
2012-09-12 17:45:36 -07:00
Niko Matsakis
5d540de769
fixup mutability of vec::each, make iter_bytes pure
...
also, change DVec() to work with imm vectors rather than mut ones
2012-09-12 13:29:31 -07:00
Tim Chevalier
c087886e93
Make moves explicit in arguments
2012-09-11 20:02:34 -07:00
Brian Anderson
8672b9003f
Merge pull request #3440 from jld/vec-dedup
...
Add vec::dedup for in-place consecutive duplicate element removal.
2012-09-11 17:25:21 -07:00
Tim Chevalier
a07ea73bdb
Make moves explicit in task; also make option::unwrap take its argument by move
2012-09-10 13:36:54 -07:00
Tim Chevalier
c104745255
Make moves explicit in vec
...
I'm continuing to make moves explicit, despite #3413 , because that
seems like the most reliable way to make these changes. Once I've made
all the moves explicit, the test for #3413 will be that I can remove them.
2012-09-10 11:15:36 -07:00
Jed Davis
4ea45669b8
Add vec::dedup for in-place consecutive duplicate element removal.
2012-09-10 00:42:58 -07:00
Brian Anderson
f53c2948aa
Rename variables that clash with keywords
2012-09-09 16:53:19 -07:00
Brian Anderson
3bd1f32cd9
Convert all kind bounds to camel case. Remove send, owned keywords.
2012-09-07 18:10:11 -07:00
Patrick Walton
feb014eb3c
rustc: Add an "ne" method to the Eq trait, and implement it everywhere
2012-09-07 12:24:48 -07:00
Patrick Walton
437073868e
libcore: "import" -> "use"
2012-09-04 11:12:17 -07:00
Brian Anderson
f393100b7c
Camel case core::ops
2012-09-02 18:13:56 -07:00
Brian Anderson
49c9ac175f
Silence non-implicitly-copyable-typarams in coretest
2012-09-02 16:34:36 -07:00
Brian Anderson
087c5032a8
core: deny(vecs_implicity_copyable)
2012-09-02 15:38:18 -07:00
Brian Anderson
d777e51333
Demode reinterpret_cast
2012-09-01 18:18:29 -07:00
Tim Chevalier
4128cc4cb4
Make utility funs in core::int, core::uint, etc. not by-reference
...
Closes #3302
2012-08-31 16:21:47 -07:00
Erick Tryzelaar
c0f357924d
libcore: vec::u8::hash is pure.
2012-08-30 20:40:52 -07:00
Erick Tryzelaar
0e1a4a4da2
libcore: rewrite vec::unsafe::from_buf in pure rust
2012-08-30 20:40:52 -07:00
Graydon Hoare
a9619306a5
Start moving core::hash to support a Hash trait. Add to_bytes::IterBytes trait.
2012-08-30 12:38:28 -07:00
Patrick Walton
9518fc79ea
cargo: Fix some lack of knowledge of basic algebraic identities
2012-08-30 10:39:28 -07:00
Patrick Walton
a1c11cab2d
rustc: Make <=
, >=
, and >
use traits as well
2012-08-29 19:23:15 -07:00
Patrick Walton
96534365c2
rustc: Make <
and =
into traits
2012-08-29 18:25:22 -07:00
Brian Anderson
c0c8d3aa8f
core: Demode int/uint mods
2012-08-29 16:23:36 -07:00
Jed Davis
3e4b55807d
Add vec::truncate, for efficiently shortening a vector.
2012-08-29 13:46:49 -07:00
Niko Matsakis
206edf66c9
make rand code use slices
2012-08-27 19:56:42 -07:00
Patrick Walton
ff513b1bcd
libcore: Replace a bunch of "== None" with ".is_none()".
...
Generally, "== None" calls into the shape glue, and it's also more useful.
2012-08-27 17:49:35 -07:00
Patrick Walton
0e5a0e1da5
libcore: Implement equality and ordering on vectors
2012-08-27 17:16:41 -07:00
Graydon Hoare
5d56da1678
Convert over some residual uses of #oldmacros.
2012-08-27 13:54:12 -07:00
Brian Anderson
8337fa1a54
Camel case the option type
2012-08-26 15:56:16 -07:00
Michael Sullivan
1ce7902a41
Add a Buildable interface for constructing general sequences. Work on #2921 .
2012-08-24 22:56:05 -07:00
Michael Sullivan
c87e9a5815
Get rid of the unseemly reinterpret_casts in build_sized implementations. Closes #3272 .
2012-08-24 22:56:05 -07:00
Niko Matsakis
a08f3a7d4d
More complete fix to #3162 (borrowck bug related to access to rec fields)
2012-08-23 18:54:08 -07:00
Ben Blum
dcbeebc801
Make vec::zip not require T:copy ( close #3254 )
2012-08-23 21:09:57 -04:00