Eric Holk
ccd2394ff9
perf: improved the core-std benchmark
2012-06-26 14:08:16 -07:00
Eric Holk
a08281616f
More perf tweaks (issue #2719 )
2012-06-26 14:08:16 -07:00
Michael Sullivan
51468b65a4
Properly cleanup slice literals. Closes #2705 .
2012-06-26 14:05:43 -07:00
Tim Chevalier
91e44ea056
Be a little more clever about calculating sizes for class types
...
We could try to calculate the size of a partially-converted class type,
and run into an LLVM error because we were trying to calculate the size
of a named struct whose fields hadn't yet be filled in. The issue can be
dodged by extending simplify_type to convert classes to isomorphic
structural records, just for the purposes of size calculations.
(for real this time) Closes #2718
2012-06-26 11:14:39 -07:00
Tim Chevalier
cf69604551
Incorporate class fields into recursive-type check
...
Noticed while investigating issue 2718 that the typechecker allowed
some non-instantiable types involving classes. This wasn't the root of
2718, but fixed it anyway.
2012-06-26 11:14:39 -07:00
Michael Sullivan
329eca6044
Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725 .
2012-06-25 20:00:46 -07:00
Michael Sullivan
1c5e2cacef
Comment out the *right* part of the test failing due to issue #2724 .
2012-06-25 19:28:27 -07:00
Michael Sullivan
fb018fa50b
Comment out a failing part of a test; this is Issue #2724 .
2012-06-25 19:00:35 -07:00
Patrick Walton
650dfe58a3
test: Make zip-same-length no longer rely on resolve not handling shadowed modules properly
2012-06-25 17:55:24 -07:00
Brian Anderson
c2751c5640
rustc: Make 'do' work with effects the same as 'for'
2012-06-25 17:46:06 -07:00
Tim Chevalier
8ed9701591
Remove test case that doesn't work on its own
...
I don't actually know how to test --ls
2012-06-25 17:26:26 -07:00
Tim Chevalier
f1acc69a2a
Add class fields to the global index
...
Closes #2192
2012-06-25 17:25:54 -07:00
Eric Holk
b19c98ea9a
Some perf fixes, although vec::slice is still too slow (Issue #2719 )
2012-06-25 16:38:12 -07:00
Patrick Walton
216105fc55
test: Remove the import-glob-circular test since the name resolution semantics it depends on are probably undecidable
2012-06-25 15:30:38 -07:00
Patrick Walton
9386c2db33
test: Swap the order of two imports in import7 to eliminate another cycle
2012-06-25 15:14:28 -07:00
Patrick Walton
d8410c7578
test: Swap the order of two imports in import6 to eliminate a cycle
2012-06-25 15:12:50 -07:00
Brian Anderson
7e6cbf7431
Remove redundant 'extension' mods from numeric mods
2012-06-25 14:25:48 -07:00
Ben Striegel
43a48ca5bb
Automatically export methods on core numeric types
...
Each numeric type now contains an extensions module that is automatically
exported. At the moment each extensions module contains only the impl for the
`num::num` iface. Other impls soon to follow (hopefully).
2012-06-25 14:25:48 -07:00
Tim Chevalier
6517fc5ab6
Merge branch 'incoming' into resource-to-class
2012-06-25 13:41:49 -07:00
Tim Chevalier
da470ff5b8
Merge
2012-06-25 13:29:41 -07:00
Tim Chevalier
fe9bbeca1a
Add test cases for issue 2445
2012-06-25 13:18:43 -07:00
Tim Chevalier
91b69aeb63
Test case for issue 2718
...
This was already fixed by the time I read the issue, but more test
cases are always good.
Closes #2718
2012-06-25 12:21:01 -07:00
Tim Chevalier
e9f19283b3
Remove resources from a few places I missed
2012-06-25 12:20:51 -07:00
Tim Chevalier
25b8b35c57
Finish compare glue for classes
...
This tests == and !=. I don't know what <, >, etc. should do.
Closes #2601
2012-06-25 12:20:10 -07:00
Eric Holk
3ba7ca5c9f
Improved perf for msgsend (Issue #2719 )
2012-06-25 11:27:32 -07:00
Eric Holk
07e1d1c6b6
Improved graph500 performance (Issue #2719 )
2012-06-25 11:15:45 -07:00
Brian Anderson
e991855d66
Make 'do' expressions accept stack closures
2012-06-24 18:01:27 -07:00
Tim Chevalier
bf92940f72
More test cases for classes with dtors
...
Tests that classes with dtors and multiple fields work correctly.
Closes #2708
2012-06-24 15:11:25 -07:00
Tim Chevalier
487cbf8e90
Remove resources
...
Also fixed shapes for classes with dtors, as well as handling
offsets for classes with dtors correctly in take glue.
Closes #2485
2012-06-24 15:09:57 -07:00
Graydon Hoare
f60cdf27e7
Remove 'implements' keyword in favour of :, part of #2301 .
2012-06-22 18:57:20 -07:00
Brian Anderson
2f060eb880
core: Name is_failure to is_err, is_success to is_ok
2012-06-22 18:26:25 -07:00
Lindsey Kuper
ce7b803728
Minor capitalization/punctuation fixes in error messages
2012-06-22 16:48:03 -07:00
Lindsey Kuper
46809f7ab7
Nicer quoting in "attempted access of field" message. Issue #2358 .
2012-06-22 16:48:03 -07:00
Eric Holk
3246723bf7
Adding an issue number to vec-add.rs
2012-06-22 15:35:06 -07:00
Eric Holk
26c11f7b50
Use must_have_lock instead of private functions. (Issue #2700 )
...
I hereby declare that messages sent from the same source arrive in order (Issue #2605 )
Removing FIXME, owned is the correct type here. (Issue #2704 )
Remove outdated FIXME (Issue #2703 )
Updating test for spawning native functions (Issue #2602 )
Removing bogus FIXME (Issue #2599 )
2012-06-22 15:14:42 -07:00
Michael Sullivan
1d6fb24b70
Hack to make [] and []/~ the same type in preparation for switching to []/~.
2012-06-22 15:11:34 -07:00
Tim Chevalier
588c1eb41f
Remove resources from remaining test cases
2012-06-22 13:11:29 -07:00
Tim Chevalier
b8710de5ff
Add test cases
...
issue-912 is xfailed. issue-2111 is already fixed, but it's good to
have the test case.
2012-06-21 19:58:52 -07:00
Tim Chevalier
be8a08b2af
Hopefully make issue 2214 test case work on Windows -- sigh
2012-06-21 17:54:56 -07:00
Tim Chevalier
cc323d8637
Make liveness print out a proper error message for moves out of a self field
...
This was a call to span_bug() before. I'm not sure about the other cases,
but the test case shows that the `vk_self` case can certainly arise with
a bad program, so it should be a span_err() thing and not a span_bug() thing.
Closes #2590
2012-06-21 17:43:10 -07:00
Tim Chevalier
a06398214a
Add test for issue 2467
2012-06-21 16:58:35 -07:00
Tim Chevalier
a350bea313
Fix linker problem in issue 2214 test case
2012-06-21 16:58:35 -07:00
Lindsey Kuper
5710178081
Adding i
suffixes so cfail tests keep failing after suffix inference
2012-06-21 16:19:04 -07:00
Lindsey Kuper
0fe9c0a9d1
Add tests to exercise the "pattern has N field(s), but" error patterns.
2012-06-21 16:19:04 -07:00
Tim Chevalier
317864672d
Revert "Add test for issue 2214"
...
This reverts commit 290206b178
.
Forgot to add the actual native code, temporarily reverting.
2012-06-21 16:17:08 -07:00
Eric Holk
559c30ab17
xfailing vec-add.
2012-06-21 16:11:11 -07:00
Eric Holk
40559ea839
Adding a benchmark for the new message passing code
2012-06-21 16:11:11 -07:00
Eric Holk
4d1e415611
Remove some commented out code so the pretty printer doesn't get confused.
2012-06-21 16:11:11 -07:00
Eric Holk
bb572b4234
Updating errors in vec-add.rs
2012-06-21 16:11:11 -07:00
Eric Holk
9bdb2c9e48
Library vecs are fast now.
2012-06-21 16:11:11 -07:00
Eric Holk
0e5cfd9f33
Move vector addition out of trans and into libcore.
2012-06-21 16:11:11 -07:00
Eric Holk
f8fa0a2437
Generate a temporary for assign_ops. Issue #2581
2012-06-21 16:11:10 -07:00
Tim Chevalier
0b1675da16
Add and xfail test for 2101
2012-06-21 16:03:28 -07:00
Tim Chevalier
290206b178
Add test for issue 2214
2012-06-21 16:02:40 -07:00
Tim Chevalier
2a53640aa1
Test for issue 1896 (which appears to be fixed)
2012-06-21 14:08:02 -07:00
Lindsey Kuper
c2222878c8
A test to exercise suffix inference for unary minus a little more.
2012-06-21 12:08:10 -07:00
Niko Matsakis
9a2b60dfce
unxfail test for #2657
2012-06-21 10:20:46 -07:00
Niko Matsakis
287f163136
Issue #2657 : track mutability of bindings, also prevent move from bindings
2012-06-21 09:45:01 -07:00
Niko Matsakis
60603703ea
handle moves in let initializers and allow moves from unsafe ptrs
...
Related to issue #2657 , but this is not a complete fix.
2012-06-21 08:34:54 -07:00
Tim Chevalier
76d6120e52
Fix resolve bug that made nested classes not work
...
It wasn't possible to refer to the constructor for a class nested inside
an item from the class's outer scope. Fixed.
2012-06-20 20:12:14 -07:00
Tim Chevalier
1b4dcbecac
Comments only: typos
2012-06-20 20:12:14 -07:00
Tim Chevalier
f331cd9324
Don't consider loops to be breaking if they contain inner loops that break
...
Closes #2642
2012-06-20 18:53:38 -07:00
Tim Chevalier
613deb0312
Change error to debug
...
IMO this is a better workaround than using the old-style
error-pattern: syntax :-)
2012-06-20 18:52:43 -07:00
Lindsey Kuper
39c05b4b65
Remove obsolete comment.
2012-06-20 17:56:40 -07:00
Lindsey Kuper
1df6ddd08c
doc: add information about suffix inference to tutorial and manual.
2012-06-20 17:56:40 -07:00
Brian Anderson
4dcf84e4f4
Remove bind. Issue #2189
2012-06-20 17:27:28 -07:00
Michael Sullivan
bcd3942f41
Fix a test I messed up.
2012-06-20 17:08:36 -07:00
Tim Chevalier
c50eea17d4
Test for #2242 (xfailed for now)
2012-06-20 16:25:46 -07:00
Michael Sullivan
8040fd86bf
Call the correct type formatting function for more typecheck diagnostics. Closes #2652 .
2012-06-20 15:44:58 -07:00
Lindsey Kuper
60a658250e
Don't force resolution of integral type vars in unary minus exprs
...
These were getting resolved too early, when they were still
unconstrained by the rest of the typing context. Waiting a bit longer
to resolve them gives the rest of the typing context a chance to come
into play, so that they don't default to `int`.
2012-06-20 14:33:25 -07:00
Niko Matsakis
de491ea707
two more tests for method autoderef
2012-06-19 20:52:33 -07:00
Niko Matsakis
773a640303
support autoderef on method calls
2012-06-19 20:46:48 -07:00
Eric Holk
e30a8b6f8c
Updating kind rules to make sure we don't sneakily send ports.
2012-06-19 17:37:51 -07:00
Lindsey Kuper
3cf582b529
Enable integer literal suffix inference.
2012-06-19 17:06:05 -07:00
Lindsey Kuper
3f56c0a42d
Add i
suffix to cfail test so it works after suffix inference
2012-06-19 16:57:13 -07:00
Lindsey Kuper
8cc1149130
Adding i
suffixes so cfail tests keep failing after suffix inference
2012-06-19 16:35:26 -07:00
Niko Matsakis
6e73e45e37
first steps to autoderef on method calls
2012-06-19 11:52:39 -07:00
Niko Matsakis
6c056fba4d
random forgotten test case
2012-06-19 11:52:39 -07:00
Eric Holk
be664ddd29
Moved arc to libcore and added an arc that allows shared mutable state through mutual exclusion.
2012-06-19 10:31:12 -07:00
Eric Holk
9ee1480fd1
Another benchmark
2012-06-19 10:31:12 -07:00
Michael Sullivan
f648affeaa
Fix a failing test.
2012-06-18 21:01:56 -07:00
Brian Anderson
1ec5a5c635
Add 'do' expressions
2012-06-18 17:42:30 -07:00
Michael Sullivan
797856cbde
Use unboxed vecs for string shape glue.
2012-06-18 15:54:37 -07:00
Brian Anderson
49d6d1bbb8
Remove FIXME from run-pass/basic.rs. Closes #2600
2012-06-18 15:46:34 -07:00
Lindsey Kuper
85977ced3f
Adding i
suffixes so cfail tests keep failing after suffix inference
2012-06-18 15:36:14 -07:00
Tim Chevalier
f87c28b122
Remove test that depends on rustc
...
There's already another test (run-pass/issue-2316-c) that tests for
the same bug. So there's no need to have this one, which depends on
librustc, in the test suite.
Closes #2368 .
2012-06-18 12:14:03 -07:00
Niko Matsakis
982e1166b2
Issue #2633 : remove last_use entries that are subject to a loan
2012-06-17 16:17:40 -07:00
Tim Chevalier
0276a3376b
Revert "Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion."
...
This reverts commit 015527b0ce
.
2012-06-16 15:21:08 -07:00
Eric Holk
015527b0ce
Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion.
2012-06-15 22:00:58 -04:00
Tim Chevalier
f0d8e978a9
Add test for #2633 . Xfailed.
2012-06-15 17:33:35 -07:00
Michael Sullivan
6e63e2fd5f
Fix copying of fixed length vectors. Closes #2630 .
2012-06-15 15:31:19 -07:00
Michael Sullivan
999ab5418a
Make the shape interpreter actually advance past fixed length vectors. Closes #2613 .
2012-06-15 15:31:19 -07:00
Tim Chevalier
210db7d8d4
Test case for #2631
2012-06-15 15:21:17 -07:00
Paul Stansifer
1e36d216be
Add the interner to parse_sess.
2012-06-15 12:41:41 -07:00
Patrick Walton
b6ed1de29e
Issue #2591 : Change "upvar" to "variable declared in an outer block" in tests
2012-06-15 12:24:12 -07:00
Eric Holk
7b98fdd269
Merge branch 'incoming' of github.com:mozilla/rust into newsnap
2012-06-14 21:08:06 -07:00
Lindsey Kuper
e3f73e443e
Tests for #1425 (xfail'd for now)
2012-06-14 21:04:53 -07:00
Eric Holk
8ab15c0266
Merge branch 'incoming' into newsnap
2012-06-14 20:36:16 -07:00
Graydon Hoare
d953462d03
Complete a data visitor type that does proper pointer-walking.
2012-06-14 19:58:34 -07:00
Eric Holk
52c38ba886
Merge branch 'incoming' into newsnap
2012-06-14 19:36:22 -07:00
Tim Chevalier
39d9c30a15
Remove code from parser that was awaiting snapshot
...
Remove old parser functions as well as support for old-style capture
clauses. Remove remaining old-style capture clauses.
2012-06-14 19:09:02 -07:00
Patrick Walton
6969f0f2fc
Issue #2572 : (trans) Fix self-referential classes.
2012-06-14 18:51:31 -07:00
Tim Chevalier
f7dd2d5bd5
Add xfailed test case for issue 2611
2012-06-14 17:56:41 -07:00
Graydon Hoare
aeb9a2b72c
Add zero check/fail paths on div/mod paths. Close #944 .
2012-06-14 15:39:24 -07:00
Tim Chevalier
aa4fa2611c
Remove an xfail-fast, as this seems to work on Windows now
2012-06-14 15:35:44 -07:00
Tim Chevalier
360d7c2c1d
Remove an outdated FIXME, change to use the new //! ERROR syntax
2012-06-14 15:35:44 -07:00
Tim Chevalier
663000ce35
run-pass/autobind seems to work, so un-xfail it
2012-06-14 15:35:44 -07:00
Tim Chevalier
0a6ef35c8c
while => for
2012-06-14 15:35:43 -07:00
Tim Chevalier
13d4b61182
Comments only: annotate FIXMEs in tests
2012-06-14 15:35:43 -07:00
Eric Holk
74d2f56f21
Adding move_val and move_val_init intrinsics.
2012-06-14 13:49:41 -07:00
Tim Chevalier
e5a5fc2029
Allow impls to be re-exported
...
It was a little hard for me to believe, but it seems that re-exporting
an impl doesn't work at a, because encoder::encode_info_for_mod requires
that all the impls in the current module's impl map be local (that is,
bound to a value in the current crate's item map). Fixed it.
Closes #2414 .
2012-06-13 15:52:00 -07:00
Tim Chevalier
6f95c79b95
Traverse types in reachability
...
Issue 2526 showed a test case where a library exported only a type
that was a synonym for a class. Because the class's destructor wasn't
getting marked as reachable, its linkage was wrongly getting set to
"internal". The solution is for reachability to traverse types.
Closes #2526 .
2012-06-13 11:57:01 -07:00
Lindsey Kuper
cce7327487
Allow trailing commas in import lists. Closes #2582 .
2012-06-13 11:53:35 -07:00
Tim Chevalier
11e30b2a73
Forgot to xfail-fast this
2012-06-12 19:05:34 -07:00
Tim Chevalier
eadd74b5b6
Test case for previous commit
...
(basically a stripped-down version of comm, and a "driver" that
constructs a new port)
2012-06-12 17:37:04 -07:00
Michael Sullivan
e67b5b25a6
Introduce a SHAPE_UNBOXED_VEC shape in order to seperate out vector logic.
2012-06-12 17:01:13 -07:00
Niko Matsakis
d1ec1d4abb
Treat enums with one variant specially in borrowck: #2573
2012-06-12 14:30:14 -07:00
Lindsey Kuper
1655c1a825
Add a test for explicit i
suffix on integer literals
...
This doesn't seem to show up anywhere else in the test suite, even
though it's supposed to be legal.
2012-06-12 14:09:11 -07:00
Lindsey Kuper
8a730a255d
Allow trailing comma in vectors. Closes #2482 .
2012-06-12 13:03:30 -07:00
Tim Chevalier
87d57e4919
Don't treat all class fields as mutable, except in trans
...
Closes #2550
2012-06-11 10:16:17 -07:00
Brian Anderson
748bd12dc7
bench: xfail-pretty shootout-k-nucleotide
2012-06-09 16:12:28 -07:00
Brian Anderson
03e186cd04
bench: Modify shootout-k-nucleotide to not read from the filesystem
2012-06-09 13:57:18 -07:00
Brian Anderson
a884044066
bench: Increase the difficulty of fasta
2012-06-09 13:25:05 -07:00
Kevin Cantu
c2a9cc9394
Add the Alioth k-nucleotide benchmark
...
This is not particularly well performing yet (60x slower than C++ or
worse). I think the slicing and the copies made for the hashmap
are mostly responsible, but YMMV.
By default shootout-fasta writes to stdout and shootout-k-nucleotide
reads from stdin. To use an intermediate file with a fixed name,
set RUST_BENCH...
2012-06-09 12:58:12 -07:00
Niko Matsakis
7ec171f6ae
make a copy so vec is not living in mutable memory
2012-06-08 20:39:11 -07:00
Niko Matsakis
013fc92423
remove alias analysis and replace with borrowck
...
This reverts commit 7ef825bb60
.
2012-06-08 20:39:11 -07:00
Graydon Hoare
56c6c65186
Add preliminary test of walking data pointers via reflection.
2012-06-08 19:00:59 -07:00
Graydon Hoare
7a699852cb
Pass names of fields and variants when reflecting.
2012-06-08 16:41:38 -07:00
Graydon Hoare
d182c14247
Visit the substructure for classes and enums as well.
2012-06-08 15:36:02 -07:00
Niko Matsakis
9105cb6d5d
revise map interface so that K need not be copyable
2012-06-08 14:35:11 -07:00
Graydon Hoare
dc94ccc4a4
More work on reflect, only missing enum and class substructures.
2012-06-08 13:26:15 -07:00
Brian Anderson
7ef825bb60
Revert "remove alias analysis and replace with borrowck"
...
18s perf regression compiling rustc with opts
This reverts commit 7f6ee0ce0d
.
2012-06-07 19:42:27 -07:00
Niko Matsakis
7f6ee0ce0d
remove alias analysis and replace with borrowck
...
cc #2540
2012-06-07 16:46:57 -07:00
Graydon Hoare
9ee0137018
Refactor reflect.rs, begin visiting type substructures.
2012-06-07 13:51:41 -07:00
Brian Anderson
5f4837ad6a
core: Start on a stack walker
2012-06-06 23:39:56 -07:00
Brian Anderson
125552fb19
rustc: Add frame_address intrinsic
2012-06-06 23:39:56 -07:00
Brian Anderson
469ff08e64
rustc: Enable #[cfg(windows)] and #[cfg(unix)]
2012-06-06 23:39:09 -07:00
Brian Anderson
eed3a36511
rustc: Add 'target_family' to default configuration
2012-06-06 23:39:09 -07:00
Tim Chevalier
cd02046de4
merge
2012-06-06 22:30:52 -07:00
Tim Chevalier
0327dc0b18
Insert missing maybe_print_comment call for class destructors
...
While it wasn't the original issue, the first program from #2487
failed the pretty-printing test because of this, so it's still a good
test case :-)
It also turns out that the second program from #2487 now triggers a
kind error, so I figured I might as well add it as a test case.
2012-06-06 22:09:10 -07:00
Graydon Hoare
3251bd690e
Fix some copy-paste bugs in visit glue, un-xfail reflect-visit-type.
2012-06-06 19:38:56 -07:00
Tim Chevalier
f4fb0f9eea
Handle regions correctly in class ctors and dtors
...
Class ctors and dtors were always getting assigned the empty region
before, which meant a reference to the "self" region in a ctor argument
got resolved to a named region called "self" rather than the class's
self region, which led to a rather confusing error message as documented
in #2502 .
Closes #2502
2012-06-06 19:23:26 -07:00
Niko Matsakis
3b4cfdeee2
Merge remote-tracking branch 'mozilla/incoming'
...
Conflicts:
src/rustc/middle/tstate/auxiliary.rs
2012-06-06 19:00:34 -07:00
Niko Matsakis
dd37c0a41e
mask extra borrowck errors (should find out how to not report those)
2012-06-06 18:42:06 -07:00
Niko Matsakis
8ebbf464f5
minor changes to tests so they pass borrowck
2012-06-06 18:37:58 -07:00
Graydon Hoare
107442d994
Add some testcases for bug #2470 .
2012-06-06 18:26:46 -07:00
Brian Anderson
ef32ffd0b1
core: Remove swappable. Unused
2012-06-06 17:48:45 -07:00
Tim Chevalier
db31969d4a
prefix an _ to the name of an unused variable
2012-06-06 17:19:39 -07:00
Graydon Hoare
be83a12ff7
Add some testcases for bug #2470 .
2012-06-06 16:01:12 -07:00
Tim Chevalier
a5c9e8d59e
Fix tests to avoid empty classes
2012-06-06 15:08:24 -07:00
Tim Chevalier
feece9814a
Revert "Revert "Fix test case so the class in it is non-empty" due to test failures"
...
This reverts commit c6e16c5668
.
2012-06-06 15:08:24 -07:00
Tim Chevalier
5e8ef74e22
Revert "Revert "Forbid classes with no fields" due to test failures"
...
This reverts commit e56a6e8cb0
.
2012-06-06 15:08:24 -07:00
Tim Chevalier
0218418428
Merge branch 'master' into really-really-to-snap
2012-06-06 12:22:14 -07:00
Patrick Walton
d53e633bd5
Revert "test: Remove swappable-test" due to test failures
...
This reverts commit aabf84cdd8
.
2012-06-06 11:39:52 -07:00
Patrick Walton
055158d051
Revert "Merge pull request #2516 from mozilla/incoming" due to failures
...
This reverts commit adb717b5fa
, reversing
changes made to aabf84cdd8
.
2012-06-06 11:39:19 -07:00
Tim Chevalier
17e707cf6d
Fix test case so the class in it is non-empty
2012-06-05 21:13:25 -07:00
Tim Chevalier
8fd9986f0f
Forbid classes with no fields
...
Classes with no fields don't really make sense, so forbid them
(just as records with no fields aren't allowed). Closes #2509
2012-06-05 20:47:55 -07:00
Tim Chevalier
7daf986aec
Port remaining run-fail tests to use classes instead of resources
2012-06-05 15:11:33 -07:00
Brian Anderson
aabf84cdd8
test: Remove swappable-test
2012-06-05 14:59:43 -07:00
Brian Anderson
d3c641678e
rustc: Put uniques into addrspace 1
2012-06-05 14:03:25 -07:00
Eric Holk
1e8f501343
Machine types are different from int/uint, etc (Issue #2187 )
2012-06-04 19:16:47 -07:00
Patrick Walton
a542258277
Add a test case for previous commit
2012-06-04 18:56:50 -07:00
Brian Anderson
6e0085210c
core: Make uint::to_str faster
2012-06-04 14:30:57 -07:00
Niko Matsakis
3c4baf694e
better support for classes with polymorphic methods
2012-06-04 11:46:23 -07:00
Niko Matsakis
01b5777c8b
prohibit type parameters in native fns and other minor fixes
...
trans now can safely assert that it never sees a type param
2012-06-03 20:03:08 -07:00
Brian Anderson
9826541c0e
Merge pull request #2492 from tedhorst/mandelbrot_args
...
fix args to shootout-mandelbrot benchmark
2012-06-03 15:02:16 -07:00
Brian Anderson
802a8c0f19
test: Add a test that logs are truncated with ellipses
2012-06-03 14:44:03 -07:00
Ted Horst
3c4a1ab0c4
fix args to shootout-mandelbrot benchmark
2012-06-03 09:45:23 -05:00
Brian Anderson
027e97b129
bench: Add an unwinding benchmark
2012-06-02 17:49:36 -07:00
Brian Anderson
3ab738f4af
Add more #fmt float tests
2012-06-02 16:45:20 -07:00
Kevin Cantu
a7359f5b3b
(float) fix some rounding errors when showing as str
...
This seems to fix issue #1876 , and some of the superficial parts of
issue #1375 . The #fmt macro and the to_str functions will round,
rather than truncate, floats as strings.
Other issues remain, and I wrote more code here than intended, but the
following should pass now.
```
fn x() {
assert "3.1416" == #fmt["%.4f", 3.14159];
assert "3" == #fmt["%.0f", 3.14159];
assert "99" == #fmt["%.0f", 98.5];
assert "7.0000" == #fmt["%.4f", 6.999999999];
assert "3.141590000" == #fmt["%.9f", 3.14159];
}
```
2012-06-02 16:38:18 -07:00
Niko Matsakis
77c470d183
Allow rcvrs to be borrowed; check rcvrs in borrowck properly
2012-06-02 10:08:04 -07:00
Niko Matsakis
cfac9b6833
improve borrowck to handle some frankly rather tricky cases
...
- receivers of method calls are also borrowed
- by-val arguments are also borrowed (needs tests)
- assignment to components can interfere with loans
2012-06-02 10:08:04 -07:00
Brian Anderson
2a0b6f5fe2
test: xfail-win32 run-pass/companionmod. not sure why it's broke
2012-06-01 21:28:55 -07:00
Tim Chevalier
6e2aa3b998
Port more resource tests to classes
2012-06-01 20:40:35 -07:00
Tim Chevalier
de40318037
Tests for copyability and sendability rules for classes
...
Closes #2296
2012-06-01 20:40:35 -07:00
Tim Chevalier
11b4a92fc8
Port another resource test to use classes
2012-06-01 20:40:35 -07:00
Tim Chevalier
facb5c08c6
Enforce rule that classes with dtors aren't copyable
...
The test for this is copy-a-resource.
2012-06-01 20:40:35 -07:00
Tim Chevalier
b67f8e340b
Remove obsolete test
...
This test no longer makes sense with classes instead of resources,
since class types can't be dereferenced.
2012-06-01 20:40:35 -07:00
Tim Chevalier
f6c552d6d7
Update task-killjoin-rsrc to use classes
...
This test was xfailed, but I decided to update it to use classes
anyway. The test currently compiles, but fails with a runtime error.
So it's still xfailed.
2012-06-01 20:40:34 -07:00
Tim Chevalier
10c141a232
Port more test cases to use classes instead of resources
2012-06-01 20:40:34 -07:00
Brian Anderson
1e801baa84
Revert "test: xfail-win32 run-pass/cci_borrow.rs"
...
This reverts commit 30f874bac5
.
2012-06-01 18:27:38 -07:00
Brian Anderson
7737c094af
Revert "test: xfail-win32 run-pass/cci_capture_clause.rs"
...
This reverts commit 2ab1b5838b
.
2012-06-01 18:27:30 -07:00
Brian Anderson
2ab1b5838b
test: xfail-win32 run-pass/cci_capture_clause.rs
2012-06-01 17:40:14 -07:00
Brian Anderson
30f874bac5
test: xfail-win32 run-pass/cci_borrow.rs
2012-06-01 17:26:01 -07:00
Brian Anderson
7b862a5278
core: Fix handling of 0-padded floats with precision in #fmt
2012-06-01 16:10:37 -07:00
Brian Anderson
630c084da6
test: Move tests with rustc deps into run-pass-fulldeps
...
These tests require a lot more to be built before running so are not part of
check-lite
2012-06-01 16:01:56 -07:00
Lindsey Kuper
3c622a5b12
Clarifying comments in test.
2012-06-01 10:30:50 -07:00
Lindsey Kuper
43eb5f0a2e
More tests wrt #2263 .
2012-06-01 09:26:48 -07:00
Lindsey Kuper
9a89a7503d
Clarify comments in test.
2012-06-01 09:26:48 -07:00
Niko Matsakis
c2ce2741a7
allow mutable vectors and so forth to be used as immutable slices
2012-05-31 15:07:09 -07:00
Eric Holk
0470abe1d2
Allow some resources to be considered const.
2012-05-31 13:55:54 -07:00
Lindsey Kuper
f394933641
Allow optional comma before with
in FRU. Closes #2463 .
2012-05-31 12:20:26 -07:00
Kevin Cantu
7dcbaedd32
Rename librustsyntax to libsyntax
...
Per issue #2418 .
2012-05-31 11:15:00 -07:00
Brian Anderson
615f532475
test: Update test with current error message
...
These errors where previously generated by typestate, but there seem to
be other passes that cover this now.
2012-05-31 00:06:10 -07:00
Brian Anderson
6b4cf00552
test: Add an error pattern to small-negative-indexing
2012-05-30 17:48:05 -07:00
Eric Holk
ad292a8c73
Add xorshift to core::rand, which gave a 3x speedup for graph generation in the bfs code. Also, remove trailing white space.
2012-05-30 17:39:53 -07:00
Eric Holk
09a32aedb5
Remove warnings in std::par.
2012-05-30 17:39:53 -07:00
Eric Holk
58fdbdc4ef
Avoid some more copies.
2012-05-30 17:39:53 -07:00
Eric Holk
f0c345841c
Added a factory version of par::mapi, which avoids the need for share_arc, and copies arcs between tasks better.
2012-05-30 17:39:53 -07:00
Eric Holk
f05040f17a
Use std::deque now that the bugs are fixed. Also, avoid a few copies.
2012-05-30 17:39:53 -07:00
Michael Sullivan
e5757923cd
Add a test for that last bug. Oops.
2012-05-30 17:12:50 -07:00
Michael Sullivan
1eebb1fe87
Add a test for the just closed issue #2426 .
2012-05-30 16:02:48 -07:00
Eric Holk
ccb54f0ce0
Move par into libstd. Closes #2441 .
2012-05-30 12:03:51 -07:00
Eric Holk
f5554db734
Adding xfail-fast, since multi-crate tests don't work on Windows.
2012-05-30 12:03:51 -07:00
Eric Holk
07830612fd
Adding a test to make sure CCI works with capture clauses.
2012-05-30 12:03:51 -07:00
Eric Holk
f49b891ce5
Include capture clauses when generating metadata.
...
This may fix the bug that's blocking Issue #2441 .
2012-05-30 12:03:51 -07:00
Niko Matsakis
dca11e1f99
test our some of the various combinations of fn subtyping
2012-05-30 12:02:01 -07:00
Niko Matsakis
5b8abec92f
test for pure fn vs impure fn etc subtyping
2012-05-30 11:56:50 -07:00
Niko Matsakis
6dc4bc517a
test for troublesome case where preserve was freeing uninitialized memory
2012-05-30 11:26:15 -07:00
Niko Matsakis
79b3dedac3
allow for loop bodies
2012-05-30 11:26:15 -07:00
Niko Matsakis
653a1f8781
integrate purity into type
2012-05-30 11:26:15 -07:00
Niko Matsakis
22a10f0e4a
refactor region manip. to remove redundancy, get closer to fn subtyping
...
also: remove "auto-mode-matching" for implemented interfaces, as it
is complex and interacts poorly with classes
cc #2263
2012-05-30 11:04:12 -07:00
Niko Matsakis
e4694ca519
add a test that types w/ def_ids compare just fine to types w/o def_ids
...
this is not clearly going to work due to monomorphization, which convverts
each enum<T> to a distinct "type" from POV of the shape code
2012-05-30 11:04:12 -07:00
Michael Sullivan
b744f52620
Make heap closures always require a capture clause to capture mutable variables. Closes #2446 .
2012-05-30 10:46:22 -07:00
Tim Chevalier
3f3c9caf4d
Handle poststates of breaking loops correctly in typestate
...
The poststate should be one where all predicates are assumed false,
rather than the unchanged prestate.
Closes #2374
2012-05-29 18:22:38 -07:00
Tim Chevalier
b30daa6eef
Test case for issue 2380
2012-05-29 17:05:17 -07:00
Tim Chevalier
8d7765be82
Resolve bounds in iface types
...
Closes #2311
2012-05-29 16:50:21 -07:00
Niko Matsakis
f90228b8a8
make all arguments modes immutable
...
note: you can still move from copy/move mode args
2012-05-29 16:22:17 -07:00
Niko Matsakis
37b78b48e3
modify shape code to only emit monomorphized enums ( #2444 )
...
this is hacky, but shape code is going away anyway and I didn't
want to invest too much effort into it
2012-05-29 15:12:36 -07:00
Tim Chevalier
ccc7651b48
In reachability, don't ignore nested items
...
Reachability was considering nested items to be unreachable, which
was causing the bug in #2383 . Once I fixed that, I also had to make
impl::make_impl_vtable instantiate methods where necessary, before
calling monomorphic_fn.
Closes #2383
2012-05-29 14:40:35 -07:00
Michael Sullivan
5d1c29912d
Fix an error message to not refer to "block type". Closes #2423 .
2012-05-29 12:18:59 -07:00
Eric Holk
5e35d49a50
Moving the arc tests into arc.rs.
2012-05-29 11:30:10 -07:00
Eric Holk
aa2efc05ea
Adding shared_arc to hide some of the tedium of sharing an arc between tasks.
...
Also added some asserts and logging to trans.
Modified graph500 to use the shared_arc, but this unfortunately doesn't work due to #2444 .
2012-05-29 10:43:19 -07:00
Graydon Hoare
163b0604dc
Re-xfail reflect-visit-type since it crashes check-fast.
2012-05-28 17:03:44 -07:00
Graydon Hoare
e0f0c5c1ab
Remove bad Load in make_visit_glue, un-xfail reflect-visit-type.rs.
2012-05-28 13:19:31 -07:00
Brian Anderson
18f4bfd576
bench: Remove task-perf-vector-party. No longer relevant
2012-05-26 16:00:38 -07:00
Brian Anderson
45d0fbf6a1
bench: Increase the difficulty of some benchmarks
2012-05-26 16:00:35 -07:00
Brian Anderson
432c6cbde9
core: Make range follow the for loop protocol
2012-05-26 02:28:00 -07:00
Eric Holk
df83a793d9
In generic word count, use str instead of [u8], and use built in is_alphabetic, etc. functions.
2012-05-25 18:32:18 -07:00
Eric Holk
0c3a128419
Update word-count-generic to latest syntax and un-xfail it. Closes #1740 .
2012-05-25 18:32:18 -07:00
Niko Matsakis
98740a59da
detect ambig. calls to iface bounds, use transactions
...
cc #2433
2012-05-25 17:04:05 -07:00
Michael Sullivan
8668d06400
Get rid of many implicit copies as a preliminary to Issue #2448 .
2012-05-25 16:39:35 -07:00
Niko Matsakis
266fdd032b
test for issue #2443
2012-05-25 14:37:35 -07:00
Niko Matsakis
9e6a068034
replace last_use with liveness info
2012-05-25 14:37:30 -07:00
Niko Matsakis
62fe587f81
revisit error message; create spill map
2012-05-25 14:37:30 -07:00
Eric Holk
8b6bfc96cb
Const kind checking. The rules are almost certainly incomplete and unsound...
2012-05-24 15:06:56 -07:00
Eric Holk
d993df74c3
Teach parser and related things to understand const kind bounds.
2012-05-24 15:06:56 -07:00
Niko Matsakis
ccd8d5573e
remove dead assignments
2012-05-24 13:35:57 -07:00
Niko Matsakis
f5c51b0a9c
remove initedness checking from typestate, as best I could
2012-05-24 09:52:16 -07:00
Niko Matsakis
0d3811e275
improve liveness so it reports unused vars / dead assignments
...
doesn't warn about pattern bindings yet though
2012-05-24 09:52:16 -07:00
Niko Matsakis
30b47649ea
new liveness pass to supercede last_use / initedness
2012-05-24 09:52:03 -07:00
Niko Matsakis
a3be0b1054
fix classes and parameterized ifaces; remove needless self check
...
ref #1726 , #2434
2012-05-24 06:49:40 -07:00
Niko Matsakis
bd573becf5
change region scope of call arguments, old one was unsound
...
improve error message to describe kind of deref'd ptr using sigil
2012-05-24 05:19:44 -07:00
Brian Anderson
4fec4cd8f5
bench: Add hard mode to benchmarks. Activate with RUST_BENCH.
...
RUST_BENCH is on automatically when running `make perf`
2012-05-23 22:55:41 -07:00
Brian Anderson
2f3cff2806
bench: Remove 99bob benchmarks
2012-05-23 20:29:46 -07:00
Eric Holk
5f154770e2
Prevent capturing non-copyable things in closures.
2012-05-23 15:46:43 -07:00
Eric Holk
6fa1a084f7
A shareable atomically reference counted pointer wrapper.
...
Needs more tests to ensure safety, and probably some more work on usability too.
2012-05-23 14:58:16 -07:00
Niko Matsakis
9773a22119
shuffle error messages in borrowck, and prevent it from spewing too many
...
also, fix a few minor issues it complains about
2012-05-23 12:01:27 -07:00
Brian Anderson
248f8826a9
bench: Reduce constants in std-smallintmap to make it valgrind fast
2012-05-23 11:24:02 -07:00
Eric Holk
8678baab12
Resources are once again not copyable.
2012-05-23 10:27:42 -07:00
Niko Matsakis
b93839408c
new test
2012-05-23 06:30:29 -07:00
Niko Matsakis
e0f59e835e
modify borrowck to allow arbitrary borrows in pure scopes
2012-05-23 06:30:29 -07:00
Brian Anderson
27427a950a
Merge pull request #2430 from mmeyerho/master
...
Added support for #! comments. Closes issue 1772.
2012-05-22 20:39:53 -07:00
Tim Chevalier
ed357af980
Convert more resource tests to use classes with dtors
...
And monomorphize dtors correctly.
2012-05-22 22:12:18 -04:00
Margaret Meyerhofer
4f10c19215
Merge branch 'master' of git://github.com/mozilla/rust
2012-05-22 18:23:32 -07:00
Brian Anderson
8caf1403be
bench: Reduce some constants to make graph500-bfs faster
2012-05-22 18:20:23 -07:00
Margaret Meyerhofer
6077647878
Added a test for #! comments
2012-05-22 18:03:26 -07:00
Brian Anderson
a32392d032
Merge pull request #2427 from msullivan/shifts
...
Get rid of the >>> operator and make >> logical or arithmetic depending ...
2012-05-22 17:50:04 -07:00
Michael Sullivan
2a9bf0959b
Add a test for Issue #2428 .
2012-05-22 16:35:10 -07:00
Eric Holk
037a166ea7
Updating pbfs for new kind rules.
2012-05-22 15:51:11 -07:00
Eric Holk
b62d92c993
Removed accidental machine size dependencies.
2012-05-22 15:31:39 -07:00
Eric Holk
44bea03614
Updating bfs to work with the new random methods.
2012-05-22 15:31:39 -07:00
Eric Holk
5a4e2ae706
More unsafe pointers to share immutable structures between tasks. This version has a 2.8 to 3x speedup!
2012-05-22 15:31:39 -07:00
Eric Holk
7f05f088c7
Be less careful about checking that lengths make sense, for slightly more performance.
2012-05-22 15:31:39 -07:00
Eric Holk
77f6099606
Using unsafe pointers to views to try to reduce some vector copy and allocation time. Doesn't seem to have made much difference.
2012-05-22 15:31:39 -07:00
Eric Holk
ea889742d7
Using unsafe pointers to share closures.
...
This prevents the tons of copying problems we were having before, which means we only have a 5x slowdown now.
2012-05-22 15:31:39 -07:00
Eric Holk
65abe2c6dc
Using libstd future instead.
...
Turning off sequential versions for tracing.
2012-05-22 15:31:38 -07:00
Eric Holk
cba2761cc4
A new version of the sequential BFS. This uses the same approach as the parallel one, but without using the parallel vector oeprators.
2012-05-22 15:31:38 -07:00
Eric Holk
4312fa44b9
BFS now tries a number of search keys.
2012-05-22 15:31:38 -07:00
Eric Holk
a79f5174ea
A parallel BFS.
2012-05-22 15:31:38 -07:00
Eric Holk
a785f3fc95
Adding a module with parallel vector operations.
...
This should go in libstd, but currently resolve bugs make this not
work.
2012-05-22 15:31:38 -07:00
Eric Holk
d485f23a1a
Added most of the Graph500 validation routine. It's very slow.
2012-05-22 15:31:38 -07:00
Eric Holk
f5b9ebffa0
Starting on a BFS benchmark, but ran into problems with the deque module, so I used ports and channels as a queue in the simple sequential algorithm.
2012-05-22 15:31:38 -07:00
Michael Sullivan
15cef374b9
Get rid of the >>> operator and make >> logical or arithmetic depending on the signedness. Closes #2417 .
2012-05-22 14:59:15 -07:00
Eric Holk
0b2f2cabbe
Send is no longer a subkind of copy. This allows for sendable, but non-copyable resources. Closes #2420 .
2012-05-22 14:10:32 -07:00
Lindsey Kuper
248e439638
Region checking: this one currently passes, but only "by accident".
2012-05-21 13:05:06 -07:00
Lindsey Kuper
af418d97c0
Test illustrating issue #2263 .
2012-05-21 13:04:30 -07:00
Niko Matsakis
34b42eeb65
change list so that it must be used in a purely boxed fashion
...
The old way was inconsistent---the head was unboxed but the
tail was boxed. This resulted in numerous needless copies and
also made the borrow check unhappy, because the head tended to be
stored in mutable memory.
2012-05-21 09:37:34 -07:00
Niko Matsakis
8e73bb6ea0
detect and report shadows in nested bindings
2012-05-21 09:37:22 -07:00
Niko Matsakis
28d0ce9a8b
fix up handling of &x where x is an arg or &self (for now at least).
2012-05-19 10:33:14 -07:00
Niko Matsakis
b4be2c676f
create a smallintmap benchmark
2012-05-18 20:00:51 -07:00
Niko Matsakis
bfde2ba524
port smallintmap over to dvec
...
also: add a non-operator-overloaded method for [] to work around #2378
2012-05-18 20:00:51 -07:00
Niko Matsakis
cf6ad6d62a
move io over to dvec
2012-05-18 20:00:50 -07:00
Niko Matsakis
81caf926b4
test for #2378
2012-05-18 20:00:50 -07:00
Niko Matsakis
da204e1d73
add swappable/dvec modules
2012-05-18 20:00:50 -07:00
Niko Matsakis
19ec5a41ed
allow region ptrs to be cast to uints
2012-05-18 19:07:19 -07:00
Brian Anderson
e546c4820b
rustc: Don't copy vecs in seq_preconds. Huge perf win on some tests
...
Compile time for the included test goes from 5min to 18s.
2012-05-18 15:59:00 -07:00
Niko Matsakis
09b9447eb6
remove line so that pretty printer doesn't mess it up
2012-05-18 14:32:38 -07:00
Niko Matsakis
2f284cefa0
xfail-test failing test
2012-05-18 14:32:38 -07:00
Niko Matsakis
a559329692
test that we preserve boxes in patterns---still one bug
2012-05-18 14:32:37 -07:00
Brian Anderson
3f283bb168
rustc: Don't recurse in seq_preconds. Consumes too much stack
2012-05-18 14:28:39 -07:00
Niko Matsakis
afca68b820
test file I had lying around and had forgotten to commit
2012-05-18 10:38:18 -07:00
Paul Stansifer
0eef34bacb
add #include_bin[]
2012-05-18 10:05:25 -07:00
Paul Stansifer
ac2faad26e
Fold #include_str into the other source_utils.rs syntax extensions.
2012-05-18 10:05:25 -07:00
Paul Stansifer
07e775404f
add #mod[], which expands to the current module path
2012-05-18 10:05:25 -07:00
Paul Stansifer
88f4d06941
New syntax extensions: #line[], #col[], #file[], #stringify[], #include[]
2012-05-18 10:05:24 -07:00
Paul Stansifer
9fe547d3a7
Make extracting syntax extension arguments easier.
2012-05-18 10:05:24 -07:00
Tim Chevalier
0343b0553b
Test that a class type name gets printed correctly in a...
...
"cannot be dereferenced" error message. Closes #2370
2012-05-17 09:40:43 -07:00
Graydon Hoare
9752523f3a
Include intrinsic module in all crates, emit visit glue, fn intrinsic::visit_ty. Not yet working.
2012-05-16 18:24:00 -07:00