Brian Anderson
34aa956e68
test: Resolve some FIXMEs
2012-02-05 17:05:24 -08:00
Kevin Atkinson
1d855ebc51
Remove support for $(...) form of quasi-quotes, use #ast{...} instead.
2012-02-05 15:38:27 -08:00
Niko Matsakis
9f0239ce9c
add a test where mode inference ought to fail
2012-02-05 13:59:09 -08:00
Niko Matsakis
dd51031390
new test case
2012-02-05 10:37:07 -08:00
Niko Matsakis
daf0d63a59
new test showing off the improved inference
2012-02-05 09:56:18 -08:00
Brian Anderson
30a671dc0c
bench: Tweak threadring benchmark so it pretty-prints
2012-02-04 20:34:51 -08:00
Brian Anderson
b4e221bf90
bench: Add threadring shootout benchmark
2012-02-04 20:01:55 -08:00
Brian Anderson
5d4b372902
Revert "bench: Add threadring shootout benchmark"
...
This reverts commit cdb246f832a8dcecbd5305a4c256c04e1e266a0a.
2012-02-04 19:50:45 -08:00
Brian Anderson
cdb246f832
bench: Add threadring shootout benchmark
2012-02-04 18:00:59 -08:00
Tim Chevalier
f3343b3571
Beginnings of front-end support for classes
...
Added class support to the parser, prettyprinter, fold, and visit.
(See Issue 1726.)
This is WIP -- the test case is xfailed, and attempting to compile
it will error out in resolve.
2012-02-03 22:47:35 -08:00
Ted Horst
9b46e875cc
add third arg for output path, default to no output
2012-02-03 20:49:14 -08:00
Ted Horst
63ae16f752
fix formatting
2012-02-03 20:49:14 -08:00
Ted Horst
e7738ca38b
add mandelbrot image generator from shootout
2012-02-03 20:49:13 -08:00
Graydon Hoare
8fc624bc08
Fix various drift issues in the qq branch.
2012-02-03 20:54:18 -07:00
Kevin Atkinson
dbb13883f7
Additional testcase.
2012-02-03 20:54:18 -07:00
Kevin Atkinson
42e25b2bb9
Type anti-quotes now work, add test case.
2012-02-03 20:54:17 -07:00
Kevin Atkinson
5f6a1159bb
Fix q-q so that non-expression q-q actually work when there is embed anti-q.
2012-02-03 20:54:00 -07:00
Kevin Atkinson
a2dde9a692
Allow anti-quotes to also be ast::ty rather than just ast::expr.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
f7fab77102
Add testcase.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
5ef53382ae
Add support for parsing quasi-quotes, doesn't do anything useful yet.
2012-02-03 20:23:49 -07:00
Marijn Haverbeke
c976b7c623
Fix tests for str::le patch
2012-02-03 14:32:23 +01:00
Marijn Haverbeke
c1b075d042
Remove experimental GC code
...
It's been sitting unused long enough to have bitrotted completely.
2012-02-03 11:34:12 +01:00
Brian Anderson
57cad61353
rt: Remove task pinning. Does nothing
2012-02-02 18:10:24 -08:00
Brian Anderson
18de0f2aeb
rt: Rename task_sleep intrinsic to task_yield. Remove usec param
2012-02-02 18:10:24 -08:00
Marijn Haverbeke
6a7de641da
Add test case for issue #1733
2012-02-02 10:30:07 +01:00
Kevin Cantu
8f367ebfeb
Rename (again) str::unsafe::slice -> str::unsafe::slice_bytes and
...
str::unsafe::safe_slice -> str::unsafe::slice_bytes_safe_range
2012-02-01 21:56:53 -08:00
Kevin Cantu
c71667d9d2
Propagating unsafe::slice 4
2012-02-01 21:56:53 -08:00
Marijn Haverbeke
856a544d0c
Remove native types from stdlib
2012-02-01 12:23:13 +01:00
Tim Chevalier
e5d095d67e
Change option::t to option
...
Now that core exports "option" as a synonym for option::t, search-and-
replace option::t with option.
The only place that still refers to option::t are the modules in libcore
that use option, because fixing this requires a new snapshot
(forthcoming).
2012-01-31 17:05:20 -08:00
Kevin Cantu
c7454f5595
Rename str::to_chars -> str::chars
2012-01-31 14:29:11 -08:00
Tim Chevalier
45c1dfe5b3
Don't compute pre- and postconditions for item_consts
...
Since item_consts can't refer to or modify local variables, they
don't participate in typestate and thus get empty pre and
postconditions by default.
Closes #1660
2012-01-31 11:52:46 -08:00
Tim Chevalier
fba35e1a3c
Require alts to be exhaustive
...
middle::check_alt does the work. Lots of changes to add default cases
into alts that were previously inexhaustive.
2012-01-31 10:08:24 -08:00
Brian Anderson
0e498da47e
rustc: Allow attributes on methods. Closes #1709
2012-01-30 11:43:45 -08:00
Paul Woolcock
a02493b969
Fix last failing test
...
All tests now pass, without the ternary operator.
2012-01-30 18:21:12 +01:00
Paul Woolcock
e1251f7b00
Change all ternary ops to if/then/else
...
All the files below had at least one instance of the ternary operator
present in the source. All have been changed to the equivalent
if/then/else expression.
2012-01-30 18:21:01 +01:00
Paul Woolcock
e1f15a71e3
Alter/remove tests that include/concern ternary
...
3 tests, pretty/block-disambig.rs, run-pass/operator-overloading.rs,
and run-pass/weird-exprs.rs, all included the ternary operator. These
were changed to use the if-then-else construct instead.
2 tests, run-pass/block-arg-in-ternary.rs and run-pass/ternary.rs, were
only there because of the ternary operator, and were removed.
2012-01-30 18:20:05 +01:00
Marijn Haverbeke
964bd485c6
Revert self types
2012-01-30 11:37:52 +01:00
Brian Anderson
fa13fd9d64
rt: Remove set_min_stack
2012-01-29 21:27:37 -08:00
Brian Anderson
cad4918b2a
core: Remove sys::set_min_stack
...
This was a temporary hack with global effect. Eventually there will
be a real solution for controlling stack sizes.
2012-01-29 21:27:09 -08:00
Brian Anderson
53dbde6cc2
rustc: Make 'attempted access of field' error non-fatal
2012-01-27 16:58:27 -08:00
Brian Anderson
3321880f13
Merge remote-tracking branch 'killerswan/fixing_strings_2'
...
Conflicts:
src/comp/driver/driver.rs
src/comp/middle/trans/base.rs
src/comp/syntax/parse/lexer.rs
2012-01-27 16:44:40 -08:00
Marijn Haverbeke
e48bf6f3f4
Make occurs check in ty::fixup_vars more reliable
...
It wouldn't detect cycles that went through several type vars before.
Closes #1464
2012-01-27 18:58:52 +01:00
Marijn Haverbeke
dc55c06aa3
Properly check enum types for recursion
...
Closes #742
2012-01-27 16:03:43 +01:00
Marijn Haverbeke
b80f0a3c9f
Use the method name 'unary-' for overloading negation
...
It's less likely to clash with something than 'neg'.
Issue #1520
2012-01-27 10:06:53 +01:00
Brian Anderson
28fbb19664
rustc: Switch the --no-core switch to a #[no_core] attribute
2012-01-26 16:43:33 -08:00
Brian Anderson
5610205363
rustc: Move core injection to its own module
2012-01-26 16:23:48 -08:00
Marijn Haverbeke
6bead0e4cc
Use operator names for operator methods
...
The methods used to implement operators now simply use
the name of the operator itself, except for unary -, which is called
min to not clash with binary -. Index is called [].
Closes #1520
2012-01-26 15:52:28 +01:00
Marijn Haverbeke
888262b337
Allow operator overloading of the indexing operator
...
The method `op_index` (which takes a single argument) is used for
this.
Issue #1520
2012-01-26 15:23:11 +01:00
Marijn Haverbeke
87b064b249
First stab at operator overloading
...
When no built-in interpretation is found for one of the operators
mentioned below, the typechecker will try to turn it into a method
call with the name written next to it. For binary operators, the
method will be called on the LHS with the RHS as only parameter.
Binary:
+ op_add
- op_sub
* op_mul
/ op_div
% op_rem
& op_and
| op_or
^ op_xor
<< op_shift_left
>> op_shift_right
>>> op_ashift_right
Unary:
- op_neg
! op_not
Overloading of the indexing ([]) operator isn't finished yet.
Issue #1520
2012-01-26 14:25:06 +01:00
Brian Anderson
2999479a2d
rustc: Allow attributes on enum variants. Closes #1663
2012-01-25 16:24:06 -08:00