Elliott Slaughter
416584d339
Revert "Fix build by xfailing tests which produce irreducible CFGs."
...
This reverts commit 9ca2a11137
.
2012-07-30 15:58:23 -07:00
Elliott Slaughter
9c9de0bd6c
Update LLVM for better liveness algorithm.
2012-07-30 15:58:23 -07:00
Ben Blum
78dbf7e22e
Make rustdoc/demo.rs less gendered
2012-07-30 18:51:12 -04:00
Niko Matsakis
5d32d03b89
Fix #2979 : inference for lifetimes of & expressions
...
What we now do is to create a region variable for each &
expression (and also each borrow). The lifetime of this
variable will be checked by borrowck to ensure it is not greater
than the lifetime of the underlying data. This both leads to
shorter lifetimes in some cases but also longer in others,
such as taking the address to the interior of unique boxes
tht are rooted in region pointers (e.g., returning a pointer
to the interior of a sendable map).
This may lead to issue #2977 if the rvalue is not POD, because
we may drop the data in trans sooner than borrowck expects us
to. Need to work out precisely where that fix ought to occur.
2012-07-30 14:49:28 -07:00
Brian Anderson
6ef13e76e9
Reduce the difficulty of run-pass/bitv-perf-test. Valgrinds slowly
2012-07-30 12:04:58 -07:00
Michael Sullivan
68e9aa5fcb
Make at_vec push functions more like the current vec ones.
2012-07-30 11:29:24 -07:00
Patrick Walton
519deca716
rustc: Make option<&foo> no longer cause LLVM asserts by getting rid of regions in normalize_ty
2012-07-30 11:28:43 -07:00
Brian Anderson
2e231fbcb7
LONG LINES\!
2012-07-30 11:26:20 -07:00
Ben Blum
52ed570f1c
Move send_map to libcore
2012-07-30 13:56:14 -04:00
Damian Gryski
1854a736f8
rustc: use new siphash impl instead of sha1
...
Updating types std::sha1::sha1 -> hash::streaming was a relatively
small change. Renaming the variables to reflect that things aren't
sha1s any more touched far more lines.
2012-07-30 10:46:01 -07:00
Damian Gryski
04f2073bea
core::hash -- add a hash::streaming interface and associated siphash implementation.
2012-07-30 10:46:01 -07:00
Tim Chevalier
082d8314da
Rewrite bitv to use classes and optimize its representation
...
Rewrote bitv as a class that uses a 32-bit int as its representation
for bit vectors of 32 bits or less, and a vector (the old representation)
otherwise. I didn't benchmark very much, but a bit of informal benchmarking
suggested this is a win.
Closes #2341
2012-07-29 18:39:15 -07:00
Tim Chevalier
6ac86e92fe
Make uint::iterate pure
2012-07-29 18:39:15 -07:00
Tim Chevalier
3cb147a71e
Make tidy skip emacs backup files
2012-07-29 18:39:14 -07:00
Brian Anderson
e178999833
core: More magic to make core build with --test
2012-07-28 16:06:25 -07:00
Brian Anderson
2df03bfdca
core: Correct exports of intrinsic ops
2012-07-28 16:06:25 -07:00
Brian Anderson
dfbe6976c2
core: Fix compilation of intrinsic ops when testing
2012-07-28 16:06:25 -07:00
Brian Anderson
725a73c4d5
std: Implement to_str for net::url::url
2012-07-28 16:05:06 -07:00
Ben Blum
5312704904
Fix too-large constants in linked failure tests for happier valgrinding
2012-07-28 04:23:18 -04:00
Patrick Walton
afe7757525
libstd: Fix missing export from URL module
2012-07-27 22:23:36 -07:00
Patrick Walton
93c2f5e0e4
rustc: Use coherence for operator overloading.
...
The only use of the old-style impls is now placement new.
2012-07-27 19:35:24 -07:00
Graydon Hoare
e6d2e49852
Kill off another couple uses of the term 'mtcs'.
2012-07-27 19:19:40 -07:00
Graydon Hoare
517af7e743
early => earley. Oops.
2012-07-27 19:18:16 -07:00
Graydon Hoare
e11e90f31c
Make macro-system type and constructor names more uniform; more comments.
2012-07-27 19:14:46 -07:00
Graydon Hoare
eabd233dcd
Start killing off obsolete/unused quoters, and fix long lines.
2012-07-27 18:06:24 -07:00
Graydon Hoare
1d9f01cb42
Comments in the new macro system, reflecting conversation with pauls.
2012-07-27 17:42:42 -07:00
Tim Chevalier
f7382c454f
Forbid duplicate fields in record types and exprs
...
Closes #3033
2012-07-27 17:33:05 -07:00
Tim Chevalier
a0d05844ed
Correctly forbid upvars in nested impls, traits and classes
...
Previously, resolve was allowing impls, traits or classes that were
nested within a fn to refer to upvars, as well as referring to type
parameters bound by the fn. Fixing this required adding a new kind of
def: def_typaram_binder, which can refer to any of an impl, trait or
class that has bound ty params. resolve uses this to enforce that
methods can refer to their parent item's type parameters, but not to
outer items' type parameters; other stages ignore it. I also made
sure that impl, trait and class methods get checked inside a
MethodRibKind thing so as to forbid upvars, and changed the definition
of MethodRibKind so that its second argument is an optional node_id
(so that required trait method signatures can be checked with a
MethodRibKind as well).
2012-07-27 17:31:42 -07:00
Niko Matsakis
e4ab0f665b
change send_map tests to use ~linear_map, much more natural
2012-07-27 15:49:03 -07:00
Niko Matsakis
dd106ba763
export send_map and use fewer impl names
2012-07-27 15:49:03 -07:00
Niko Matsakis
638491712e
change region inference to not consider & that appears in a fn
...
type as indicating region parameterization
2012-07-27 15:49:03 -07:00
Brian Anderson
2407373fa4
core: Make #fmt pure
2012-07-27 15:11:22 -07:00
Patrick Walton
01e2471cb7
core: Trait-ify various overloaded operators
2012-07-27 14:52:46 -07:00
Tim Chevalier
b6aadf56c8
In resolve, check for duplicate pattern-bound vars
...
Closes #3038
2012-07-27 13:35:17 -07:00
Tim Chevalier
300f54ebc0
Make alts on uninhabited enum types typecheck and translate properly
...
Possibly one of the silliest Rust commits ever.
Closes #3037
2012-07-27 13:14:03 -07:00
Brian Anderson
8fdf77a20d
std: Make url a sendable type
2012-07-27 12:34:55 -07:00
Niko Matsakis
8800413f52
wip: add a sendable hashmap to stdlib
...
caveats:
- not efficient nor heavily tested
- API subject to change and currently incompatible with map
2012-07-27 08:50:50 -07:00
Brian Anderson
97d59a8ade
std: Create correctly-sized buffers on TCP read
2012-07-26 18:40:57 -07:00
Ben Blum
b50279ba94
vim: hilight old style #macros
2012-07-26 21:20:02 -04:00
Ben Blum
9258053b5c
Undo dlist's destructor-involving type structure in light of #3039
2012-07-26 21:20:02 -04:00
Ben Blum
73ca5603bd
(comments only) Mention unsafe TLS destructor use ( #3039 )
2012-07-26 21:20:02 -04:00
Eric Holk
3c731df890
re-xfailing pingpong
2012-07-26 17:11:04 -07:00
Eric Holk
79f5d62d47
Added .peek for recv_packets
2012-07-26 17:10:48 -07:00
Eric Holk
c918bd01b0
Fix borrow check errors in k-nucleotide.
2012-07-26 17:10:48 -07:00
Eric Holk
6d142c5e25
Removed the rest of the vec::view calls that were marked with #2880 . Fixes #2880 .
2012-07-26 17:10:48 -07:00
Eric Holk
65beca4e01
Use iteration protocol for ebml, use vec::view in more places (issue #2880 )
2012-07-26 17:10:48 -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
Tim Chevalier
c60a6b93fb
Remove superfluous rets (purely style)
2012-07-26 17:06:09 -07:00
Damian Gryski
74d60a619a
shootout-mandelbrot: devnull writer needs get_type impl
2012-07-26 17:05:13 -07:00
Damian Gryski
ffb067640b
diagnostic: only print color if output is for the screen
2012-07-26 17:05:13 -07:00
Damian Gryski
cdd052f6ea
core::io::writer : add get_type() method
...
The get_type() method can hint to users what kind of item might be
under the hood.
2012-07-26 17:05:13 -07:00
Paul Stansifer
872ef0f312
Merge branch 'incoming' of github.com:mozilla/rust
2012-07-26 16:32:15 -07:00
Ben Blum
2fc2e2d5ea
Add issue number #3039 to dlist destructor
2012-07-26 19:31:50 -04:00
Paul Stansifer
97422f0f0f
Merge branch 'incoming' of github.com:mozilla/rust
2012-07-26 16:16:28 -07:00
Paul Stansifer
f1f9066274
Register snapshots.
2012-07-26 15:31:21 -07:00
Patrick Walton
afd9a75c9e
rustc: Fix cross-crate max/min-class-style constructors
2012-07-26 15:30:15 -07:00
Ben Blum
5cf99c585a
dlist pop needs copy after all ( #3024 )
2012-07-26 18:20:38 -04:00
Ben Blum
de48b7d4c4
dlist: cleanup a little; pretend to implement "cycle-collecting" destructor
2012-07-26 18:20:38 -04:00
Tim Chevalier
20c6f3c37a
Add xfailed test case for #3029
2012-07-26 14:51:10 -07:00
Tim Chevalier
c8ea9fc4c3
Re-added test for Issue 935 -- not sure what happened to it
2012-07-26 14:47:30 -07:00
Patrick Walton
1dd8acd56a
core: Mark a bunch of numeric functions as pure
2012-07-26 14:43:44 -07:00
Tim Chevalier
d19b915bc4
Add test for issue 868
2012-07-26 14:29:47 -07:00
Eric Holk
96c6f57d18
Revert "Use pipes in compiletest"
...
This reverts commit 2d15b6ef42
.
This seems like a likely candidate for causing the recent
lock_and_signal failures. I'll revert it for now to see if it fixes it
and hopefully nail down the problem better.
2012-07-26 14:11:46 -07:00
Eric Holk
5805616aad
Make parsing about 0.3 seconds faster.
2012-07-26 11:37:57 -07:00
Eric Holk
94f29e0c94
3x faster typechecking
2012-07-26 11:37:57 -07:00
Eric Holk
0a8b794a3a
Add #[inline(never)], and also fixed inlining on vec::push
2012-07-26 11:37:57 -07:00
Eric Holk
fec749df16
Comments Only: Remove outdated FIXMEs. Fixes #2886 .
2012-07-26 10:20:05 -07:00
Paul Stansifer
f4c093c4af
Change #macro
to macro_rules!
in some cases.
2012-07-26 10:14:01 -07:00
Paul Stansifer
7f5fbd4f9d
Allow old-style syntax extensions to be called with new syntax.
2012-07-26 09:52:21 -07:00
Eric Holk
ab1defb1ce
Make parsing about 0.3 seconds faster.
2012-07-26 09:47:32 -07:00
Graydon Hoare
c953dad0b9
Pick up changes from eds' unique-ptrs branch.
2012-07-25 19:04:46 -07:00
Patrick Walton
10d8a68791
libcore: Add missing ops.rs
2012-07-25 19:03:55 -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
Eric Holk
e1d4bd463c
3x faster typechecking
2012-07-25 18:00:29 -07:00
Eric Holk
3aee39a6ec
Add #[inline(never)], and also fixed inlining on vec::push
2012-07-25 17:30:13 -07:00
Elliott Slaughter
987814f11e
Added debug flag to enable LLVM debug output.
2012-07-25 16:00:13 -07:00
Graydon Hoare
f8dc9283ad
Reject non-UTF-8 files when reading as str. Close #2918 .
2012-07-25 15:34:18 -07:00
Eric Holk
62d4f8fe82
Added a select2 trait. Fixes #2898
2012-07-25 15:15:46 -07:00
Eric Holk
531ea695f6
Remove shared_arc (unused) and fix trivial-message
2012-07-25 15:15:46 -07:00
Eric Holk
2d15b6ef42
Use pipes in compiletest
2012-07-25 15:15:46 -07:00
Eric Holk
08a77e06a8
Rewrite task-comm-NN to use pipes
2012-07-25 15:15:46 -07:00
Ben Blum
60d682b577
Fix asserts & short-read bug in isaac_seed ( #2870 )
2012-07-25 18:03:00 -04:00
Ben Blum
4378e7ead1
Fix os::env race ( #2870 )
2012-07-25 18:03:00 -04:00
Graydon Hoare
43867bf6f3
Merge pull request #3014 from elliottslaughter/fix-failed-build-by-xfailing-tests
...
Fix build by xfailing tests which produce irreducible CFGs.
2012-07-25 14:50:02 -07:00
Elliott Slaughter
9ca2a11137
Fix build by xfailing tests which produce irreducible CFGs.
2012-07-25 14:42:37 -07:00
Eric Holk
6748f78cb1
Polymorphic protocols work well enough to do MapReduce.
...
I did some horrible things with type variable naming here. It should do the right thing in most cases, but we'll need to go through and make it correct someday.
2012-07-25 12:12:26 -07:00
Eric Holk
14adb98b64
Bounded protocols work well enough to compile core, but map reduce has too many type parameters, so we have to get fancier.
2012-07-25 12:12:25 -07:00
Eric Holk
1dde5e7fc2
Thread spans through the pipe compiler. They aren't perfect, but they make debugging far easier than core.rc:0:0.
...
Changed the is_bounded check, so we fail compiling core right now due to not supporting type parameters.
2012-07-25 12:12:25 -07:00
Eric Holk
7ecddb2771
More purity to make it easier to borrow strings in format strings.
2012-07-25 12:12:25 -07:00
Eric Holk
f5be06fa1f
Added infrastructure to spin for a bit on recv. A spin count > 0 makes bench/pingpong.rs about 10x faster, but makes msgsend-ring-pipes unbearably slow.
2012-07-25 12:12:25 -07:00
Eric Holk
35576168dc
Added a benchmark of bounded vs unbounded. Bounded is 8-12% faster. The macros currently don't work without pretty printing first.
2012-07-25 12:12:25 -07:00
Eric Holk
7f5f1f90a0
Compiled a bounded version of pingpong.
...
There are some failures in the other pipe tests, but these seem to just be a matter of generalizing the library code.
Updating pipes library so all tests pass again
2012-07-25 12:12:25 -07:00
Eric Holk
b97fe98354
Generate buffer type for bounded protocols
2012-07-25 12:12:25 -07:00
Eric Holk
c28af26258
Refactor the bounded pingpong example to avoid needing to generate unsafe code.
...
Took some steps towards bounded codegen.
2012-07-25 12:12:25 -07:00
Eric Holk
88877effa8
Allow logging slices
2012-07-25 12:12:25 -07:00
Eric Holk
4f29814f2a
Hand-written bounded pingpong implementation.
2012-07-25 12:12:25 -07:00
Eric Holk
d74fb9875b
Refactoring pipes to allow implementing bounded protocols.
2012-07-25 12:12:25 -07:00
Eric Holk
f65d6026ef
Started playing with macros to make receiving easier
2012-07-25 12:12:25 -07:00
Eric Holk
6535da8417
Tighten pipe exports, and refactor traits.
2012-07-25 12:12:25 -07:00
Ben Blum
729c37f3cc
(minor) remove config_notify from rustrt.def.in
2012-07-25 13:29:50 -04:00