Niko Matsakis
6965fe4bce
Add AbiSet and integrate it into the AST.
...
I believe this patch incorporates all expected syntax changes from extern
function reform (#3678 ). You can now write things like:
extern "<abi>" fn foo(s: S) -> T { ... }
extern "<abi>" mod { ... }
extern "<abi>" fn(S) -> T
The ABI for foreign functions is taken from this syntax (rather than from an
annotation). We support the full ABI specification I described on the mailing
list. The correct ABI is chosen based on the target architecture.
Calls by pointer to C functions are not yet supported, and the Rust type of
crust fns is still *u8.
2013-03-29 18:36:20 -07:00
Patrick Walton
1e91595520
librustc: Remove fail_unless!
2013-03-29 16:39:08 -07:00
Daniel Micay
705c796ffa
remove obsolete purity workarounds
2013-03-22 18:08:56 -04:00
Patrick Walton
c1084091d4
libstd: Remove all uses of pure
from libstd. rs=depure
2013-03-22 10:29:17 -07:00
Patrick Walton
4634f7edae
librustc: Remove all uses of static
from functions. rs=destatic
2013-03-22 10:27:39 -07:00
Patrick Walton
e78f2e2ac5
librustc: Make the compiler ignore purity.
...
For bootstrapping purposes, this commit does not remove all uses of
the keyword "pure" -- doing so would cause the compiler to no longer
bootstrap due to some syntax extensions ("deriving" in particular).
Instead, it makes the compiler ignore "pure". Post-snapshot, we can
remove "pure" from the language.
There are quite a few (~100) borrow check errors that were essentially
all the result of mutable fields or partial borrows of `@mut`. Per
discussions with Niko I think we want to allow partial borrows of
`@mut` but detect obvious footguns. We should also improve the error
message when `@mut` is erroneously reborrowed.
2013-03-18 17:21:16 -07:00
Patrick Walton
352c070365
librustc: Convert all uses of old lifetime notation to new lifetime notation. rs=delifetiming
2013-03-18 17:21:14 -07:00
Niko Matsakis
852619d5d7
Remove ++
mode from the compiler (it is parsed as +
mode)
...
and obsolete `-` mode altogether (it *was* parsed as `+` mode).
2013-03-13 17:00:09 -04:00
Patrick Walton
d18f785457
librustc: Replace all uses of fn()
with &fn()
. rs=defun
2013-03-11 09:35:58 -07:00
Patrick Walton
d7e74b5e91
librustc: Convert all uses of assert
over to fail_unless!
2013-03-07 22:37:57 -08:00
Erick Tryzelaar
743cfce703
core: convert vec::{last,last_opt} to return references
2013-03-05 19:39:18 -08:00
Patrick Walton
107bf96ff0
librustc: Mark all type implementations public. rs=impl-publicity
2013-02-28 11:32:24 -08:00
Patrick Walton
bf2a225c0b
librustc: Separate most trait bounds with '+'. rs=plussing
2013-02-20 21:14:20 -08:00
Luqman Aden
4cf51c2531
libstd: Get rid of move
.
2013-02-15 02:49:54 -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
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
Daniel Micay
d903231f1e
add a BaseIter implementation for PriorityQueue
2013-02-07 20:18:15 -05:00
Patrick Walton
6ce74460e6
librustc: Disallow trait bounds in types, enumerations, and structure definitions. r=tjc
2013-01-29 10:42:58 -08:00
Tim Chevalier
3a6849f36b
Revert "Revert "Merge pull request #4633 from thestinger/treemap""
...
This reverts commit d73077f82d
.
2013-01-28 17:20:29 -08:00
Tim Chevalier
d73077f82d
Revert "Merge pull request #4633 from thestinger/treemap"
...
I was too hasty in merging -- this needs a snapshot.
This reverts commit 4a7e1ab374
, reversing
changes made to e447521c1c
.
2013-01-25 13:39:04 -08:00
Daniel Micay
ca8f09a39e
use mut function argument syntax in priority_queue
2013-01-25 13:28:43 -05: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
Daniel Micay
d912d53ea9
remove is_not_empty method from PriorityQueue
2013-01-24 14:46:09 -05:00
Patrick Walton
54b2cad8b3
libsyntax: Remove fn() unsafe { ... }
. r=graydon
2013-01-23 14:41:08 -08:00
Daniel Micay
6f4d86ed90
add a base Container trait
2013-01-22 08:10:08 -05:00
Daniel Micay
ffb9049274
add a Mutable container trait with clear
2013-01-22 08:09:53 -05:00
Brian Anderson
6b6acde972
Add a license check to tidy. #4018
2013-01-17 23:28:42 -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
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
5bf7ba0773
Register snapshots
2012-12-17 16:44:27 -08:00
Brian Anderson
68998724c6
Revert "Register snapshots"
...
This reverts commit d6d12d90ff
.
2012-12-17 16:26:44 -08:00
Brian Anderson
d6d12d90ff
Register snapshots
2012-12-17 16:22:21 -08:00
Daniel Micay
f1e87733bd
add an empty PriorityQueue constructor
2012-12-17 15:23:12 -08:00
Brian Anderson
161d289cc7
Long lines
2012-12-16 19:56:09 -08:00
Brian Anderson
8cbf817c2c
Fix doc comment
2012-12-16 19:53:24 -08:00
Brian Anderson
60ef6095f2
Add priority_queue test for unique pointers
2012-12-16 19:53:14 -08:00
Brian Anderson
90bebe3522
Add various workaround attributes to priority_queue
2012-12-16 19:41:07 -08:00
Daniel Micay
ac695aa21a
priority_queue: add docstring for from_vec
2012-12-16 19:27:06 -08:00
Daniel Micay
b3463ea657
priority_queue: replace copies with moves
2012-12-16 19:27:06 -08:00
Daniel Micay
6c433f22a1
priority_queue: clean up naming
2012-12-16 19:27:06 -08:00
Daniel Micay
ab75d3937d
priority_queue: fix test compilation
2012-12-16 19:27:06 -08:00
Daniel Micay
04df723619
priority_queue: fix siftup/siftdown naming
2012-12-16 19:27:06 -08:00
Daniel Micay
7bd0d71554
priority_queue: avoid copy with top and maybe_top
2012-12-16 19:27:06 -08:00
Daniel Micay
e00c3b05e1
priority_queue: fix to_sorted_vec off-by-one error
2012-12-16 19:27:06 -08:00
Daniel Micay
8b13bf7530
priority_queue: replace some copies with swaps
2012-12-16 19:27:06 -08:00
Daniel Micay
285496bd55
priority_queue: make from_vec a static method
2012-12-16 19:27:05 -08:00
Daniel Micay
757a2afb6b
priority_queue: make to_vec/to_sorted_vec methods
2012-12-16 19:27:05 -08:00
Daniel Micay
dd2b32be56
add priority queue implementation (binary heap)
2012-12-16 19:27:05 -08:00