Ben Blum
9b489f6fff
Don't refute "()" in let-bindings ( fixes #3104 ).
2012-08-21 21:05:01 -04:00
Michael Sullivan
98d0aae9a1
Fix some map related build failures.
2012-08-21 17:03:00 -07:00
Niko Matsakis
652b312122
more sound treatment of fn& regions; change all & to be distinct
2012-08-21 10:28:34 -07:00
Niko Matsakis
8ee79c79aa
new region inference, seperate infer into modules, improve error msgs
...
Fixes #2806
Fixes #3197
Fixes #3138
2012-08-20 22:00:06 -07:00
Michael Sullivan
71ec545614
Try to do some resolution of vtables earlier, in a fairly ad-hoc way. Closes #3156 .
2012-08-20 19:00:27 -07:00
Ben Blum
aa3df17445
Re-allow pattern-matching structs ( #3215 )
2012-08-20 18:22:11 -04:00
Michael Sullivan
1300be58d7
xfail crate-method-reexport-grrrrrrr.rs, which has been burning the build for days
2012-08-20 13:22:51 -07:00
Michael Sullivan
457e78cd53
Make by-val explicit self actually work. Closes #2585 .
2012-08-17 17:14:32 -07:00
Eric Holk
7bae3449ce
Move select macro into another file, so it can be including in multiple tests.
...
Fixing long lines.
2012-08-17 12:39:51 -07:00
Ben Blum
89c2a9f4cf
Forbid pattern-matching structs until the next snapshot ( #3215 )
2012-08-17 15:34:06 -04:00
Lindsey Kuper
280dfd2d29
Default methods with self-calls make it as far as trans.
2012-08-17 11:04:53 -07:00
Brian Anderson
3ab4b014cf
Remove the class keyword
2012-08-17 10:13:45 -07:00
Ben Blum
a076c287de
Fix issue-506.rs by adding a void-returning stub in the runtime ( close #2957 )
2012-08-16 21:07:55 -04:00
Eric Holk
5f57588887
Update the rock-paper-scissors example in the tutorial, and rename some types in core::pipes
2012-08-16 17:50:36 -07:00
Eric Holk
91622d0310
Make test suite terminate.
2012-08-16 16:26:08 -07:00
Graydon Hoare
64de480d46
Another attempt on class-attribute-1.rs.
2012-08-16 15:23:31 -07:00
Patrick Walton
2489baf82e
libsyntax: Fix parsing of "loop unsafe".
...
It was getting misparsed as a label.
2012-08-16 15:19:47 -07:00
Graydon Hoare
b28a22005b
xfail-fast issue 3012-2
2012-08-16 14:44:34 -07:00
Graydon Hoare
89fb03ae17
Xfail a struct-test I can't figure out how to make work.
2012-08-16 14:26:35 -07:00
Graydon Hoare
0492c75c43
s/class/struct/ in a failing test.
2012-08-16 14:26:10 -07:00
Tim Chevalier
ee2f0dd638
Test case for #3012
2012-08-15 18:34:41 -07:00
Brian Anderson
9c6890f488
Convert more core types to camel case
2012-08-15 17:46:05 -07:00
Patrick Walton
a78030fbaa
libsyntax: Parse tuple and unit structs
2012-08-15 17:11:13 -07:00
Patrick Walton
bdb206f285
rustc: Parse labeled loop, break, and again
2012-08-15 16:20:34 -07:00
Patrick Walton
d54db12155
rustc: Implement automatic reference for method receivers
2012-08-15 16:20:33 -07:00
Patrick Walton
fe9d07dda6
rustc: "as Trait" can now be written "as @Trait".
...
There is also code for ~Trait and &Trait, but these are currently (incorrectly)
synonyms for "as @Trait" and "as &Trait".
2012-08-15 16:20:31 -07:00
Brian Anderson
74c69e1053
Convert more core types to camel case
2012-08-15 14:14:20 -07:00
Eric Holk
8be0f665bc
De-mode pipes
2012-08-15 13:58:08 -07:00
Brian Anderson
9f01acacf9
xfail-fast issue-2472
2012-08-14 22:05:26 -07:00
Brian Anderson
83b42c806f
Add test for #2472
2012-08-14 21:17:01 -07:00
Brian Anderson
11258310e2
Convert more core types to camel case
2012-08-14 18:26:03 -07:00
Patrick Walton
138dc3048a
libsyntax: Parse "extern mod foo;"
2012-08-14 14:24:00 -07:00
Brian Anderson
fbbe9ac94b
Fix check-fast breakage
2012-08-14 10:46:20 -07:00
Lindsey Kuper
7bb33e6f1b
Add xfail'd test for a default method containing 'self'.
2012-08-14 10:00:31 -07:00
Lindsey Kuper
fb05f57881
Compile default methods; un-xfail default methods test (cc: #2794 ).
2012-08-14 09:02:47 -07:00
Graydon Hoare
9c034464fe
fix fallout from future de-mode-ing.
2012-08-14 04:36:52 +00:00
Patrick Walton
80b6850e34
libsyntax: Implement [int*3] syntax for fixed length vector types
2012-08-13 20:00:03 -07:00
Brian Anderson
5394e34aa4
core: Camel case some lesser-used modules
2012-08-13 18:59:48 -07:00
Brian Anderson
6b43c0c1ad
Stop parsing old operator overloading syntax
2012-08-13 18:59:17 -07:00
Brian Anderson
1f32c2c5e4
xfail-pretty run-pass/pipe-select-macro
2012-08-13 18:34:44 -07:00
Patrick Walton
799bc0a193
libsyntax: Allow "use" to be used in place of "import"
2012-08-13 17:55:54 -07:00
Tim Chevalier
c0858f4f7a
In typeck::collect::ensure_trait_methods, don't assume the trait was already checked
...
Instead of using node_id_to_type to look up the trait type, pass it
in as an argument. This handles the case where we check an impl of a trait T
before T has been traversed.
2012-08-13 17:38:58 -07:00
Patrick Walton
55ee06b8ce
libsyntax: Accept "1..3" as the preferred form of "1 to 3" in patterns
2012-08-13 17:37:08 -07:00
Graydon Hoare
91612dbb7e
De-mode-ify a few minor libcore modules.
2012-08-13 17:11:33 -07:00
Eric Holk
4ec1dd9914
Got the select macro working.
2012-08-13 16:20:23 -07:00
Patrick Walton
87f4c15311
rustc: Make functional record and struct update use ".." instead of "with".
...
"with" is still accepted for backwards compatibility.
2012-08-13 16:07:12 -07:00
Brian Anderson
c7ed9908d6
xfail-fast run-pass/trait-to-str
2012-08-13 15:50:38 -07:00
Patrick Walton
5bd4110170
rustc: Mostly implement region-bounded stack closures
2012-08-13 15:34:36 -07:00
Brian Anderson
395d1ac185
rustc: Enum idents are not in the value namespace. Closes #3186
2012-08-13 15:17:54 -07:00
Brian Anderson
28cd0ad54b
core: Export to_str trait from top level. Closes #3175
2012-08-13 14:58:34 -07:00
Lindsey Kuper
1f52ddfe9e
Add xfail'd test for default methods.
2012-08-13 11:11:09 -07:00
Eric Holk
c7bdee81e1
Xfail-fast, because these tests use failure
2012-08-10 18:35:41 -07:00
Eric Holk
d2e9d99f81
Handle failure during select nicely. Fixes #3176
2012-08-10 18:19:42 -07:00
Eric Holk
4808d59909
Terminate blocked receive packets on failure. Fixes #3168 .
2012-08-10 16:26:22 -07:00
Eric Holk
9a1a2580fc
A better HTML parser.
2012-08-10 12:23:16 -07:00
Eric Holk
d704fc9196
An attempt at a macro to support HTML literals
2012-08-10 12:23:16 -07:00
Patrick Walton
770a21272b
rustc: Initialize the drop flag with the new struct literal syntax. Closes #3172 .
2012-08-09 19:45:37 -07:00
Graydon Hoare
f0775d7bfe
Finish translating const indexing. Close #1417 , close #570 , close #571 , close #1272 , close #2317 .
2012-08-09 16:05:34 -07:00
Lindsey Kuper
812db1ec0d
Example from lkuper's intern talk, but now with static methods!
2012-08-09 11:20:15 -07:00
Lindsey Kuper
8703d088ea
Add example from lkuper's intern talk to the test suite.
2012-08-09 11:10:09 -07:00
Graydon Hoare
a0e3a2ae8e
Const field access (working) and vec indexing (almost). More for #2317 .
2012-08-08 19:59:30 -07:00
Patrick Walton
5c9c9a6a9f
libsyntax: Parse common enum fields
2012-08-08 19:51:48 -07:00
Graydon Hoare
71bc2673ed
Fix number-peek code in fmt!, close #1610 .
2012-08-08 18:40:30 -07:00
Brian Anderson
6a0720b439
Convert impls to new syntax
2012-08-08 18:19:24 -07:00
Eric Holk
c64ffa4f5b
Updating examples
2012-08-08 18:03:27 -07:00
Tim Chevalier
febd7ee239
Make let _ = e; have the same semantics as e;
...
The first case was getting treated like a variable binding, meaning that
if e had a destructor, it wouldn't run until the end of the enclosing scope.
To me it seems less confusing for let _ = e; and e; to work exactly the same
way, so now, the destructor for e runs immediately in both cases.
2012-08-08 15:37:45 -07:00
Brian Anderson
d99ca69cf7
lint: Allow trailing underscores in camel case idents
2012-08-08 15:05:49 -07:00
Eric Holk
19c86c1e71
xfail-pretty
2012-08-08 12:00:52 -07:00
Tim Chevalier
c7d60ee053
Don't add struct names to the value name space if there's no constructor
...
Closes #3149
2012-08-08 11:53:08 -07:00
Eric Holk
bc6ba6b091
Adding some examples for my internship presentation.
2012-08-08 10:28:57 -07:00
Niko Matsakis
802ea5d57e
refactor categorization out of borrowck into its own module.
...
first step towards #3148 and #3024 .
2012-08-08 09:22:07 -07:00
Niko Matsakis
99af0d5480
new test case demonstrating ability to return ptr to interior of option
2012-08-07 20:13:03 -07:00
Patrick Walton
5ce3281a62
rustc: Parse variant structs; add a trivial test case
2012-08-07 18:55:19 -07:00
Graydon Hoare
175be53e3f
Translate const structs.
2012-08-07 17:31:26 -07:00
Michael Sullivan
7f7f47620e
Implement static typeclass methods. Closes #3132 .
2012-08-07 17:18:14 -07:00
Graydon Hoare
32e4fd62e9
Const slices now work. Something odd about non-const cases though, see #3138 .
2012-08-07 15:04:40 -07:00
Brian Anderson
92ef17aaeb
syntax: Fix parsing of inherent traits
2012-08-07 13:01:22 -07:00
Brian Anderson
2772b2e5c7
syntax: Make match arm parsing more restrictive again
...
Require comma separators for all expression types except the plain block
2012-08-07 12:23:43 -07:00
Eric Holk
672bfa5773
Working on a macro for selecting from many pipes.
2012-08-07 11:47:12 -07:00
Eric Holk
184da12896
Nifty macros for receiving from a protocol.
2012-08-07 11:47:12 -07:00
Eric Holk
d594f3701a
Use a proper protocol definition instead of the already-expanded code.
2012-08-07 11:47:11 -07:00
Ben Blum
18ac4a8e6d
Change task().future_result's argument mode
2012-08-07 14:26:41 -04:00
Niko Matsakis
0755922320
xfail-fast issue-2242
2012-08-07 07:15:47 -07:00
Niko Matsakis
dbef6e593d
move borrowck tests to use ref, fix a few exposed shortcomings
2012-08-07 06:11:12 -07:00
Patrick Walton
793c0a1116
test: Modernize and un-XFAIL issue-2242-d.rs (issue #2242 )
2012-08-06 21:40:49 -07:00
Patrick Walton
6a7c714df6
test: Add a dvec indexing operator test, which serves as a test for #2615 (cross-crate operator overloading).
2012-08-06 21:30:57 -07:00
Tim Chevalier
f3b2296ee4
Auto-deref the base expr in trans_method_callee
...
(specifically in the method_trait case) -- if you wrote x.f()
and x has type @T for a trait T, x wasn't getting auto-deref'ed.
This was bad.
Closes #2935
2012-08-06 19:17:44 -07:00
Patrick Walton
60f47eabe2
rustc: Parse and stub (broken) typechecking for bounded function types
2012-08-06 18:55:24 -07:00
Patrick Walton
253dfc3387
rustc: Implement pattern matching for structs
2012-08-06 17:36:24 -07:00
Niko Matsakis
4a216a000a
s/alt/match/
2012-08-06 16:13:52 -07:00
Niko Matsakis
a6a5c48c64
make ref x
bindings produce region ptrs and fix various minor bugs
...
we now detect inconsistent modes, binding names, and various other errors.
typeck/trans integration is mostly done.
borrowck not so much.
more tests needed.
2012-08-06 16:12:40 -07:00
Brian Anderson
ecaf9e39c9
Convert alt to match. Stop parsing alt
2012-08-06 15:36:30 -07:00
Brian Anderson
74370042aa
core: Rename task::osmain to platform_thread. #3090
2012-08-06 14:07:51 -07:00
Patrick Walton
bff512a90f
rustc: Implement functional record update for structs
2012-08-06 13:17:42 -07:00
Brian Anderson
03330baf9c
Add a test for issue #2312
2012-08-06 11:08:52 -07:00
Brian Anderson
025d86624d
Switch alts to use arrows
2012-08-05 22:08:09 -07:00
Brian Anderson
a60f9c76f5
xfail-fast run-pass/trait-composition-trivial
2012-08-04 17:37:30 -07:00
Graydon Hoare
edfc79cc47
Translate const vecs, most of const slices. More for #2317 .
2012-08-03 21:44:52 -07:00
Patrick Walton
51a5a4ad0e
rustc: Translate repeated vector syntax
2012-08-03 18:49:44 -07:00
Graydon Hoare
488ece05b5
Implement &-expressions in consts. Part of #2317 .
2012-08-03 18:07:58 -07:00
Patrick Walton
5012abde8f
test: Add a trivial test that trait composition parses
2012-08-03 15:03:19 -07:00
Eric Holk
2c06e7aac9
Fixing failing test cases
2012-08-03 12:48:14 -07:00
Patrick Walton
aa4683c181
test: Add a test case for bare static strings
2012-08-03 11:51:47 -07:00
Tim Chevalier
b0cf106e9a
Test for issue 2904, which got fixed somewhere along the line
2012-08-03 11:39:39 -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
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
Lindsey Kuper
2f832d4b2d
test: "iface" -> "trait" in filenames.
2012-08-02 17:58:56 -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
Paul Stansifer
7129883b51
Allow interpolations of all the nt_*s.
2012-08-02 11:58:16 -07:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -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
Graydon Hoare
7f60c56c3e
Clean out transitional lint.
2012-08-01 13:35:40 -07:00
Patrick Walton
82198c9925
test: Fix broken test that used "move" as an identifier
2012-07-31 19:27:23 -07:00
Graydon Hoare
2a3084b527
Start implementing structured constants.
2012-07-31 18:34:44 -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
Brian Anderson
567f881fdf
syntax: More tweaks to make alt arrows parse and print correctly
2012-07-31 15:41:26 -07:00
Lindsey Kuper
439afaa329
Change remaining "iface" occurrences to "trait"; deprecate "iface"
2012-07-31 11:52:16 -07:00
Paul Stansifer
bf8c773936
Update tests for macro syntax change.
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
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
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
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
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
Brian Anderson
2407373fa4
core: Make #fmt pure
2012-07-27 15:11:22 -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
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
Paul Stansifer
97422f0f0f
Merge branch 'incoming' of github.com:mozilla/rust
2012-07-26 16:16:28 -07: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
Tim Chevalier
d19b915bc4
Add test for issue 868
2012-07-26 14:29:47 -07:00
Paul Stansifer
f4c093c4af
Change #macro
to macro_rules!
in some cases.
2012-07-26 10:14:01 -07:00
Eric Holk
531ea695f6
Remove shared_arc (unused) and fix trivial-message
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
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
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
4f29814f2a
Hand-written bounded pingpong implementation.
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
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
99674dc52b
avoid capture of bound regions when infering types for closure
...
expressions. cc #2981
2012-07-25 05:45:52 -07:00
Patrick Walton
22ef08293e
test: Add a max/min classes test case
2012-07-24 16:39:26 -07:00
Elliott Slaughter
1e27d1994f
Fix test floating point comparison to tolerate imprecise FPUs.
2012-07-24 16:15:30 -07:00
Eric Holk
d948254ccb
Fix xfail comment
2012-07-24 14:56:59 -07:00
Eric Holk
22e3a8506f
Test case for #3005
2012-07-24 14:56:02 -07:00
Graydon Hoare
8868b222c3
Fix whitespace.
2012-07-24 13:21:25 -07:00