Commit Graph

69 Commits

Author SHA1 Message Date
bors
a02da4ecde auto merge of #5063 : pcwalton/rust/plussing, r=pcwalton 2013-02-20 21:22:30 -08:00
Patrick Walton
bf2a225c0b librustc: Separate most trait bounds with '+'. rs=plussing 2013-02-20 21:14:20 -08:00
Matthijs 'Thiez' Hofstra
675bdcf341 Created libcore/private/intrinsics.rs, which aims to contain every
rustc intrinsic. Several files in libcore have been changed to use
these intrinsics.
As of yet, none of the intrinsics are documented.
2013-02-20 20:39:49 +01:00
Patrick Walton
bb833ca0f0 librustc: Stop parsing impl Type : Trait and fix several declarations that slipped through. r=tjc 2013-02-15 16:59:56 -08:00
Luqman Aden
5912b1448c libcore: Get rid of move. 2013-02-15 02:49:54 -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
Patrick Walton
d0391c5b09 libcore: De-export libcore. rs=deexporting 2013-01-29 11:48:46 -08:00
gareth
ba2a3e8234 Oops - add the missing pubs! 2013-01-23 22:30:56 +00:00
gareth
9b27ec8684 Add more constructors for managed vectors (as proposed in issue #4553) 2013-01-22 22:52:20 +00:00
Patrick Walton
f405e41d7a librustc: Implement write guards for borrowing @mut to & or &mut. r=nmatsakis 2013-01-17 11:50:20 -08:00
Patrick Walton
ca71c6ec5b librustc: Make all external functions unsafe. r=tjc 2013-01-10 21:24:08 -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
Tim Chevalier
89acd1f57f Rename option::get_default => get_or_default, get_zero => get_or_zero 2013-01-04 16:01:26 -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
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
00c856c0b1 Update license, add license boilerplate to most files. Remainder will follow. 2012-12-03 17:12:14 -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
Niko Matsakis
1a3a70760b Implement proper subtyping for region fn types (part of #2263) 2012-10-24 18:56:31 -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
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
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
Niko Matsakis
8b13912a83 Make impl of Add for @[] public
It's not clear that impls should have to be public to be used
from outside the crate; in particular, I don't know whether
they have to be public to be used from other modules within
the same crate.
2012-09-26 14:26:09 -07:00
Patrick Walton
264e1b2edb libcore: De-mode at_vec 2012-09-26 12:29:27 -07:00
Patrick Walton
a7db161eed Revert "Revert "libcore: De-mode at_vec""
This reverts commit fe09451a5a.
2012-09-26 12:29:27 -07:00
Tim Chevalier
d8ef6bfebf Comment out at_vec test that fails 2012-09-25 22:00:53 -07:00
Tim Chevalier
fe09451a5a Revert "libcore: De-mode at_vec"
This reverts commit ab6318803e.
2012-09-25 20:59:14 -07:00
Patrick Walton
ab6318803e libcore: De-mode at_vec 2012-09-25 18:06:26 -07:00
Patrick Walton
cac5a9f916 libcore: De-export core::at_vec 2012-09-25 17:53:23 -07:00
Brian Anderson
afd91f8a56 Register snapshots. Remove redundant Eq impls, Makefile hacks 2012-09-23 23:01:49 -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
Brian Anderson
298ab6f459 Revert "core: De-export at_vec and extfmt"
This reverts commit 6267d8a94a.
2012-09-21 19:04:06 -07:00
Brian Anderson
6267d8a94a core: De-export at_vec and extfmt 2012-09-21 18:49:22 -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
Brian Anderson
3480986408 core: Minor doc tweakage 2012-09-20 15:33:52 -07:00
Patrick Walton
9117dcb968 rustc: De-mode all overloaded operators 2012-09-20 09:48:05 -07:00
Brian Anderson
0e3daa45e2 Export the correct raw module from core::at_vec 2012-09-19 11:44:04 -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
5c18bf6cdd core: Rename at_vec::unsafe to raw 2012-09-18 11:19:17 -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
Brian Anderson
ff54ac8e59 Rename vec::unsafe to vec::raw 2012-09-12 17:45:36 -07:00