Eric Holk
739e83d859
Xfailing until the pipe race is fixed.
2012-08-03 15:22:33 -07:00
Eric Holk
618d311c3d
Once again, revert "Use pipes in compiletest"
...
This reverts commit 1d04b0ed5a
.
2012-08-03 15:22:01 -07:00
Patrick Walton
5012abde8f
test: Add a trivial test that trait composition parses
2012-08-03 15:03:19 -07:00
Patrick Walton
b65dd9d090
rustc: Parse, serialize, and deserialize trait inheritance
2012-08-03 15:02:53 -07:00
Patrick Walton
a805a1fb37
rustc: Add the notion of inherited visibility
2012-08-03 15:02:53 -07:00
Ben Blum
0c623c4474
Document arc::exclusive.
2012-08-03 17:50:59 -04:00
Graydon Hoare
241085a073
Fix signed/unsigned bug, likely cause of windows crash.
2012-08-03 13:36:28 -07:00
Eric Holk
2c06e7aac9
Fixing failing test cases
2012-08-03 12:48:14 -07:00
Eric Holk
749a184a06
Fix a failing string test.
2012-08-03 12:04:19 -07:00
Eric Holk
01ca0d1f68
Be more defensive in pipes ( #3098 )
2012-08-03 12:04:18 -07:00
Patrick Walton
9e68966611
rustc: Remove fixed-length string warning
2012-08-03 12:03:15 -07:00
Patrick Walton
aa4683c181
test: Add a test case for bare static strings
2012-08-03 11:51:47 -07:00
Patrick Walton
4e60d7e3a6
rustc: "foo" is now a static string
2012-08-03 11:51:04 -07:00
Patrick Walton
4bfd4fb8ea
test: Remove a fixed-length string from a test
2012-08-03 11:47:08 -07:00
Brian Anderson
903068c132
Long lines
2012-08-03 11:46:31 -07:00
Tim Chevalier
b0cf106e9a
Test for issue 2904, which got fixed somewhere along the line
2012-08-03 11:39:39 -07:00
Daniel Patterson
7e43f8f8dc
std::net::url - change alt to match, ret to return, as per recent syntax changes
2012-08-03 11:28:19 -07:00
Daniel Patterson
64eb497d34
std::net::url - eliminate out of date comment and switch to str::each_chari instead of str_reader to make code cleaner
2012-08-03 11:28:19 -07:00
Daniel Patterson
8e3105b6db
std::net::url - fix to_str to work with authorityless urls, add test
2012-08-03 11:28:19 -07:00
Daniel Patterson
21187206c3
std::net::url cleanups for lint check
2012-08-03 11:28:19 -07:00
Daniel Patterson
b57f6b73ba
std::net::url - making parsing of authority give error messages if in encounters invalid stuff; support for ipv6, more tests.
2012-08-03 11:28:19 -07:00
Daniel Patterson
d60dd6be87
std::net::url making scheme parsing compliant with rfc, give appropriate error messages, better split fn
2012-08-03 11:28:19 -07:00
Daniel Patterson
e349201bc2
std::net::url - comment cleanup, new test
2012-08-03 11:28:18 -07:00
Daniel Patterson
ef46314d1e
std: integrating erickt's url encoding/decoding from github.com/erickt/rust-uri into std::net::url
2012-08-03 11:28:18 -07:00
Patrick Walton
dfe1f6260e
rustc: Remove all fixed-length strings from our codebase
2012-08-03 11:22:35 -07:00
Eric Holk
b3933b8822
Adding a test case for #2548
2012-08-03 10:22:16 -07:00
Niko Matsakis
cc1a2f2128
fix compilation of 2214
2012-08-03 08:05:04 -07:00
Tim Chevalier
336be1d644
Fix build breakage
2012-08-02 23:53:45 -07:00
Tim Chevalier
948172b93f
Make comparisons between region pointers work
...
Region pointers were considered a scalar type, so compare_scalar_type would
get called to compare region pointers in trans. This would fail, since
compare_scalar_type has no case for region pointers.
Changed type_is_scalar to return false for region pointers. This had the side
effect of breaking casts to types of the form &T. To ameliorate that, I added
library functions ptr::assimilate (taking a &T to a *T) and ptr::to_uint
(taking a &T to a uint), both of which use reinterpret_cast.
While I was at it, I removed ty::type_has_resources, which is dead code.
2012-08-02 23:53:45 -07:00
Niko Matsakis
31c5cec55b
Purge placement new; Make borrowck know about unary move.
...
cc #3071
2012-08-02 22:36:36 -07:00
Tim Chevalier
c2bb2f0837
When checking loop bodies and do-expr bodies, don't require the expected type to exist
...
If the expected type is none (due to a type error), we shouldn't fail with an ICE, but
rather, just print out another type error. Changed the do-expr type error message to
make sense in this context (see the test case for how it works).
Closes #3044 .
2012-08-02 21:44:14 -07:00
Eric Holk
c9c3a49bfc
Fixing a long line
2012-08-02 19:27:07 -07:00
Eric Holk
bd195518c7
Fix an apparent race in pipes.
...
Also removed some unsafety in pipes and added vec::consume_mut.
2012-08-02 19:27:07 -07:00
Eric Holk
110ff312df
Give better error messages when port_set.recv fails.
2012-08-02 19:27:07 -07:00
Eric Holk
ce6d6511c7
Set thread name on Mac to make gdb thread info more useful.
2012-08-02 19:26:33 -07:00
Eric Holk
f76a46242b
Convert pfib to pipes. This is a useful stress test.
2012-08-02 18:55:44 -07:00
Eric Holk
1d04b0ed5a
Revert "Revert "Use pipes in compiletest""
...
This reverts commit 96c6f57d18
.
2012-08-02 18:55:44 -07:00
Eric Holk
1f2178e2d3
Removing an obsolete benchmark
2012-08-02 18:55:44 -07:00
Lindsey Kuper
19570ab1f0
Revert "Remove "iface" from keyword table."
...
This reverts commit 51b9674ed7
.
2012-08-02 18:42:09 -07:00
Patrick Walton
c076d3ccc0
rustc: Translate class literals correctly if the class has a destructor
2012-08-02 18:14:50 -07:00
Patrick Walton
16a0f72f8c
rustc: Throw out some more regions when normalizing types
2012-08-02 18:14:50 -07:00
Lindsey Kuper
51b9674ed7
Remove "iface" from keyword table.
2012-08-02 18:10:07 -07:00
Graydon Hoare
4779d2b392
De-duplicate core::hash some, refactor the traits.
2012-08-02 18:06:33 -07:00
Graydon Hoare
009352101d
Shift writer_util to a derived impl attached to the writer trait
2012-08-02 18:06:33 -07:00
Graydon Hoare
ff00edb7e1
Add target_word_size cfg variable
2012-08-02 18:06:33 -07:00
Graydon Hoare
b14a6aca9f
Cleanups in the int and uint templates.
2012-08-02 18:06:33 -07:00
Graydon Hoare
4019d3a86b
Add trait to emacs keyword table.
2012-08-02 18:06:33 -07:00
Lindsey Kuper
2f832d4b2d
test: "iface" -> "trait" in filenames.
2012-08-02 17:58:56 -07:00
Brian Anderson
b8f5dde9d4
Register snapshots
2012-08-02 17:45:35 -07:00
Lindsey Kuper
65e0e30e59
Make typeck::collect aware of provided methods in traits.
2012-08-02 17:15:36 -07:00
Michael Sullivan
2fe299d1a5
Extend ast_map to know about method declarations in traits.
2012-08-02 16:02:30 -07:00
Niko Matsakis
97452c0ca1
Remove modes from map API and replace with regions.
...
API is (for now) mostly by value, there are options to use it by
reference if you like. Hash and equality functions must be pure
and by reference (forward looking to the day when something
like send_map becomes the standard map).
2012-08-02 15:53:28 -07:00
Niko Matsakis
476ce459bd
update ctags def'n which had fallen somewhat out of date
2012-08-02 15:53:27 -07:00
Ben Blum
b1784673b1
Clean up task.rs docs and use replace/swap_unwrap
2012-08-02 14:59:37 -04:00
Ben Blum
9facb15c49
option::swap_unwrap, the ubiquitous 'option dance'.
2012-08-02 14:59:37 -04:00
Paul Stansifer
7d4742e101
Allow macro_rules! m { (...) => ... }
2012-08-02 11:58:16 -07:00
Paul Stansifer
7129883b51
Allow interpolations of all the nt_*s.
2012-08-02 11:58:16 -07:00
Patrick Walton
0646890f63
vim: Don't link conceals to operators if we're concealing mod paths, because that makes mod paths show up as operators.
2012-08-02 11:48:33 -07:00
Ben Blum
63b70b2370
Remove std::util
2012-08-02 14:31:58 -04:00
Michael Sullivan
97601cafc5
Update rust-mode.el with new keywords.
2012-08-02 10:08:17 -07:00
Ben Blum
8d7dfa44b0
Linked failure: Add '100 generations' bench test ( #1868 )
2012-08-02 00:07:12 -04:00
Ben Blum
7d9c61a9fb
Linked failure touchups ( #1868 )
2012-08-01 23:39:44 -04:00
Ben Blum
ac0c8b0823
Linked failure: add ASCII art. Close #1868 .
2012-08-01 23:08:06 -04:00
Ben Blum
7cb3f3e86a
Linked failure: enable unidirectional propagate test; replace FIXMEs with comments (tag #1868 ).
2012-08-01 23:08:06 -04:00
Ben Blum
43b8114750
Linked failure: Rewrite to use ancestor_list and send_map for proper-propagation. (tag #3068 , #2190 , #1868 )
2012-08-01 23:08:01 -04:00
Brian Anderson
2d8c7fd096
syntax: Remove 'ret'
2012-08-01 19:16:09 -07:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -07:00
Brian Anderson
dc499f193e
Merge pull request #3077 from erickt/incoming
...
core: change vec's ref_set to set_ref, move get_ref to unsafe::get.
2012-08-01 18:42:57 -07:00
Brian Anderson
ba822402de
Merge pull request #3081 from erickt/vim
...
Tweaks to the rust/vim conceal support
2012-08-01 18:37:05 -07:00
Brian Anderson
507fba57d1
syntax: Allow any block-like expr to be used as alt arm w/o comma separator
2012-08-01 17:57:03 -07:00
Ben Blum
fd17d347b0
core.rc export core::util
2012-08-01 19:12:23 -04:00
Ben Blum
90ce3d94e4
Add core::util, with swap, replace, and noncopyable
2012-08-01 19:07:28 -04:00
Ben Blum
6fdd1ef9b1
send_map - fix size bug; add is_empty and test case for same
2012-08-01 19:07:28 -04:00
Ben Blum
0c3158b3a5
core::arc - add an assert
2012-08-01 19:07:28 -04:00
Patrick Walton
fd536d9d3e
libsyntax: Use the keyword "copy" for copy-mode bindings instead of the +.
...
Mea culpa for introducing + in the first place.
2012-08-01 16:04:56 -07:00
Patrick Walton
4991cc5d19
rustc: Translate by-value pattern bindings
2012-08-01 15:24:11 -07:00
Graydon Hoare
7f60c56c3e
Clean out transitional lint.
2012-08-01 13:35:40 -07:00
Erick Tryzelaar
213291e0c1
vim: Add a concealer for <->
...
This may break indentation though. However, without it, vim
sees "<->" and interprets it as a "<", folloed by "->", which
it conceals as a right arrow, so I'm not sure which is worse.
2012-08-01 13:17:01 -07:00
Erick Tryzelaar
37d7c9d1c3
vim: Move conceal code into vim/after/syntax.
...
This makes concealment opt-in.
2012-08-01 13:17:01 -07:00
Erick Tryzelaar
71927615e0
core: change vec's ref_set to set_ref, move get_ref to unsafe::get.
2012-08-01 12:37:13 -07:00
Eric Holk
e7a69fbe4e
Working on documentation of pipes.
2012-08-01 12:30:07 -07:00
Patrick Walton
899400cd1a
libsyntax: Fix a parsing problem with the temporary syntax for by-value pattern match bindings
2012-08-01 12:28:47 -07:00
Lindsey Kuper
300e2b8513
Start adding infrastructure for checking trait method bodies.
2012-08-01 11:08:47 -07:00
Lindsey Kuper
d747cd724e
Rename convert_class_item
to convert_field
.
2012-08-01 11:08:47 -07:00
Lindsey Kuper
91bd291009
Fix bad indentation.
2012-08-01 11:08:46 -07:00
Lindsey Kuper
ac4e57c640
Introduce self_info (self_ty packaged up with a node_id).
2012-08-01 11:08:46 -07:00
Lindsey Kuper
361a9b03e6
Fix inaccurate comment.
2012-08-01 11:08:46 -07:00
Niko Matsakis
357920a0e7
register new snapshots
2012-08-01 05:52:33 -07:00
Niko Matsakis
a334deb5d5
change how we print and explain region types
2012-07-31 22:00:19 -07:00
Brian Anderson
c5437c0bbf
Fix failing tests
2012-07-31 21:13:57 -07:00
Patrick Walton
82198c9925
test: Fix broken test that used "move" as an identifier
2012-07-31 19:27:23 -07:00
Patrick Walton
b414db041b
rustc: Parse by-reference pattern bindings with the "ref" keyword
2012-07-31 19:26:25 -07:00
Brian Anderson
a841789a41
rustc: Add non_camel_case_types lint check
2012-07-31 18:58:23 -07:00
Graydon Hoare
2a3084b527
Start implementing structured constants.
2012-07-31 18:34:44 -07:00
Patrick Walton
285fc53570
rustc: "paramerization" -> "parameterization" in driver
2012-07-31 17:35:18 -07:00
Patrick Walton
43c9cd5298
vim: Add new keywords
2012-07-31 17:34:37 -07:00
Patrick Walton
c88933d714
rustc: Implement unary move. Closes #917 .
2012-07-31 17:33:20 -07:00
Brian Anderson
c4bb8f8aaf
test: Move two tests from run-pass into the libs
2012-07-31 17:30:54 -07:00
Brian Anderson
7b2026bf21
Introduce 'return', 'match' and 'module' as synonyms
2012-07-31 17:22:30 -07:00
Brian Anderson
7d18369804
syntax: Rename 'module' extension to 'module_path'
2012-07-31 17:22:30 -07:00
Patrick Walton
2cfe8fb357
rustc: Check self types in method lookup; allow required trait methods to have self types; write self types into metadata
2012-07-31 16:35:11 -07:00
Brian Anderson
567f881fdf
syntax: More tweaks to make alt arrows parse and print correctly
2012-07-31 15:41:26 -07:00
Niko Matsakis
c206d024eb
accept naked exprs with commas in pattern arms
...
pretty printing will use them, but indentation is slightly off
if the expr is long
2012-07-31 15:41:26 -07:00
Ben Blum
a89ed49d3d
Add hash tests: idempotent, no_bytes_dropped.
2012-07-31 18:32:58 -04:00
Ben Blum
513557b465
Add hash uint tests
2012-07-31 18:18:45 -04:00
Ben Blum
77efd389dc
Add hash_u64, hash_u32, hash_uint.
2012-07-31 18:11:08 -04:00
Ben Blum
ea568f38ff
send_map: each -> each_ref, and add each* copying versions; add 'iterate' test
2012-07-31 17:47:19 -04:00
Paul Stansifer
0bd6371155
Now you can use whatever delimiter you want to invoke syntax extensions.
2012-07-31 14:07:59 -07:00
Ben Blum
8e7fb8e8f5
Add send_map::each{,_key,_value}
2012-07-31 17:02:44 -04:00
Brian Anderson
f35abae892
std: getopts::match -> matches
2012-07-31 13:19:00 -07:00
Lindsey Kuper
a413d4e502
Remove "iface" from vim and emacs modes.
2012-07-31 11:52:16 -07:00
Lindsey Kuper
439afaa329
Change remaining "iface" occurrences to "trait"; deprecate "iface"
2012-07-31 11:52:16 -07:00
Paul Stansifer
c2f49c46ae
Avoid accidentally printing floating point numbers as 10.f
.
2012-07-31 11:49:20 -07:00
Paul Stansifer
fd52df1901
Fix pretty-printer breakage: 1000f
-> 1000
.
2012-07-31 11:03:22 -07:00
Ben Blum
18851e4248
Build fix: debug![ to debug!{
2012-07-31 13:25:18 -04:00
Ben Blum
e7d26a4917
make option::map_default<T,U> instead of U:copy
2012-07-31 13:22:32 -04:00
Patrick Walton
09e893ba2e
vim: Switch to a dot that shows up in the middle on Linux for module separator
2012-07-30 19:37:20 -07:00
Patrick Walton
51a06c15da
libsyntax: Parse self types in methods
2012-07-30 19:37:20 -07:00
Graydon Hoare
290f079474
Frontend bits for #2317 , general const-expr classification.
2012-07-30 19:06:06 -07:00
Paul Stansifer
bf8c773936
Update tests for macro syntax change.
2012-07-30 18:38:15 -07:00
Paul Stansifer
e6af5eeaa2
Fix pretty-printing of consecutive idents.
2012-07-30 18:38:15 -07:00
Paul Stansifer
3819b6b3d1
Allow single quote to be escaped in strings.
2012-07-30 18:38:15 -07:00
Paul Stansifer
a9cc5066ee
Change syntax extension syntax: #m[...]
-> m!{...}
.
2012-07-30 18:38:15 -07:00
Paul Stansifer
650fb06d68
Pretty-print token trees.
2012-07-30 18:04:19 -07:00
Paul Stansifer
a28812cfd6
Improve some documentation.
2012-07-30 18:04:19 -07:00
Paul Stansifer
19922fcd93
Feed the interner to the pretty-printer, in anticipation of pretty-printing token trees.
2012-07-30 18:04:19 -07:00
Paul Stansifer
4e9c475527
Work around bug #2935 by unautounboxing.
2012-07-30 18:04:19 -07:00
Paul Stansifer
be3b733c49
Let's give that binder a name that's not incredibly confusing.
2012-07-30 18:04:19 -07:00
Paul Stansifer
e040ab8423
Impl-ize interner.
2012-07-30 18:04:19 -07:00
Paul Stansifer
a7125971c6
Rename #mod
-> #module
to not collide with the keyword.
2012-07-30 18:04:18 -07:00
Brian Anderson
f6ce2bd831
test: Add a test for mods inside functions. Closes #493
2012-07-30 18:00:56 -07:00
Lindsey Kuper
f78776e9d8
rustc: "iface" -> "trait" in comments, error messages, and identifiers.
...
(Also "interface" -> "trait" in error messages.)
2012-07-30 17:26:14 -07:00
Lindsey Kuper
dbd39f868b
rustc: "ifce" -> "trt" in identifiers
2012-07-30 17:26:14 -07:00
Patrick Walton
d665ae956a
vim: Add some optional beautification of ::, ->, and =>
2012-07-30 16:33:24 -07:00
Brian Anderson
ef29f7ff36
syntax: Fix semicolon printing. Closes #3036
2012-07-30 16:09:52 -07:00
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
Ben Blum
8d43724087
minor rt cleanup
2012-07-25 13:24:00 -04:00
Ben Blum
c68f2d9aab
Remove notification channels in runtime ( closes #1078 )
2012-07-25 13:22:43 -04:00
Ben Blum
d9e8efca19
Handle notification channels in task.rs
2012-07-25 13:22:43 -04:00
Graydon Hoare
1e241b5abd
Merge pull request #3009 from elliottslaughter/utf8-idents-test-fix
...
Fix test floating point comparison to tolerate imprecise FPUs.
2012-07-25 10:20:40 -07:00
Niko Matsakis
4b8d0539f9
adjust deprecated_use not to warn about sugared closures
2012-07-25 10:19:28 -07:00
Niko Matsakis
dc744e816d
fix oversight in ty_decode.
...
I thought this case would not come up.
2012-07-25 09:19:59 -07:00
Niko Matsakis
cc8086a045
add new deprecated_mode lint pass
...
It will warn you if you use the default mode for something that
is expensive to copy, and it will warn you if you use any explicit
mode other than copy. So you should migrate over to using the
default mode for most things (and borrowed pointers when you don't
want to copy) and copy mode for things you really wanted to copy.
2012-07-25 09:19:02 -07:00
Niko Matsakis
99674dc52b
avoid capture of bound regions when infering types for closure
...
expressions. cc #2981
2012-07-25 05:45:52 -07:00
Niko Matsakis
2d3a197f0e
comment various region-related things better
2012-07-25 05:45:52 -07:00
Niko Matsakis
7022ede9b3
make unique pointers inherit mutability from owner
2012-07-25 05:45:52 -07:00
Niko Matsakis
3bcd973419
from_fn and ref_set do not require copy bound
2012-07-25 05:45:52 -07:00
Niko Matsakis
f061560ce4
range() is pure
2012-07-25 05:45:52 -07:00
Niko Matsakis
168306f11b
correct treatment of mutability for deref'd components
...
Fixes #2980
2012-07-25 05:45:52 -07:00
Patrick Walton
1df5c52791
vim: Highlight "struct"
2012-07-24 21:09:42 -07:00
Ben Blum
a038d272b0
rust_cond_lock acquire/release should be inside the atomically { .. }
2012-07-24 20:28:30 -04:00