Brian Anderson
364cd5763c
rustc: receive is spelled |> now
2011-06-18 20:23:05 -07:00
Brian Anderson
ddbb31eb8e
rustc: Remove the meta keyword
...
Issue #487
2011-06-18 20:23:05 -07:00
Brian Anderson
81a187e8be
rustc: Remove metadata from the session.
...
This mechanism was not being used for anything. Issue #487 .
2011-06-17 14:46:59 -07:00
Paul Stansifer
391348ec86
Consistify ast::local.
2011-06-16 17:56:24 -07:00
Brian Anderson
6f4326c54d
Add better error messages for bad attributes in .rc files
...
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
4b8fba5f34
rustc: Fix regressed handling of bad attributes
...
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
ffa7c76ed2
rustc: Change print_file to print_crate
...
The pretty-printer needs access to the crate attributes in order to reproduce
inner crate attributes in standalone .rs files
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
e83a115d79
rustc: Parse crate attributes in standalone .rs files
...
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
ffae642663
rustc: Parse attributes in crate files
...
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
62939e41b2
rustc: Parse inner items of file-level modules linked from crate files
...
Issue #487
2011-06-16 17:23:20 -07:00
Graydon Hoare
b84fffaa4e
Reformat a bunch of recent churn.
2011-06-16 16:55:46 -07:00
Patrick Walton
94cd2985b2
rustc: Parse T[mutable?]
2011-06-16 15:17:06 -07:00
Brian Anderson
43cbbabccb
rustc: Correctly mark attributes as inner attributes
...
Issue #487
2011-06-16 14:21:43 -07:00
Brian Anderson
f3996d32b0
rustc: Parse inner attributes of modules
...
Issue #487
2011-06-16 14:21:42 -07:00
Patrick Walton
4fc286e24e
rustc: Parse interior vector types in which the base type is a path properly
2011-06-16 14:03:07 -07:00
Tim Chevalier
219924e669
Bring back if-check
...
Add "if check" (expr_if_check), a variation on check that executes
an "else" clause rather than failing if the check doesn't hold.
2011-06-16 12:13:20 -07:00
Michael Sullivan
066599104a
Parse swap.
2011-06-16 11:47:54 -07:00
Michael Sullivan
e8d2d27a88
Add "<->" to the token definition and the lexer.
2011-06-16 11:47:54 -07:00
Patrick Walton
66c52036da
rustc: Change interior vector syntax to T[]
2011-06-16 10:13:39 -07:00
Marijn Haverbeke
15f71b3600
Refactor ast::item representation
...
Most of the fields in an AST item were present in all variants. Things
could be simplified considerably by putting them in the rec rather
than in the variant tags.
2011-06-16 13:32:35 +02:00
Brian Anderson
6c2f322f82
Improve and test failure behavior for malformed attributes
2011-06-15 19:30:10 -07:00
Brian Anderson
2772a29e92
rustc: Support outer attributes on items that are defined as statements
...
Issue #487
2011-06-15 16:01:35 -07:00
Tim Chevalier
a5bca7df88
Refactor data structures representing constraints (again...)
...
I added a "resolved" version of the ast::constr type -- ty::constr_def
-- that has a def_id field instead of an ann_field. This is more
consistent with other types and eliminates some checking.
Incidentally, I removed the def_map argument to the top-level function
in middle::alias, since the ty::ctxt already has a def_map field.
2011-06-15 15:38:12 -07:00
Marijn Haverbeke
0987b17dcb
Small simplification in parser.rs' crate parsing
2011-06-15 21:39:26 +02:00
Graydon Hoare
ce72993488
Reformat source tree (minus a couple tests that are still grumpy).
2011-06-15 11:19:50 -07:00
Brian Anderson
1c9277e0d3
rustc: Make room in remaining AST item nodes for attributes
...
Issue #487
2011-06-15 09:48:55 -07:00
Brian Anderson
11c5c73d56
rustc: Introduce an attribute type to the AST
...
Right now the only thing that it adds to meta_item is an indication of whether
the attribute was declared inside or outside the item, but I expect it will
become more useful.
Issue #487
2011-06-15 09:46:37 -07:00
Brian Anderson
0eefa5f9d3
rustc: Parse module attributes
...
Issue #487
2011-06-15 09:46:37 -07:00
Brian Anderson
31116dcdd5
rustc: Make room in item_mod for metadata
...
Issue #487
2011-06-15 09:46:37 -07:00
Brian Anderson
f42977d946
rustc: Modernize front::eval
2011-06-15 09:46:37 -07:00
Marijn Haverbeke
b0d46efd07
Stop dropping object field mutability on the floor
2011-06-15 14:20:04 +02:00
Marijn Haverbeke
df27699a57
Modernize some code in parser.rs
...
No more explicit type params or working around rustboot bugs
2011-06-14 22:09:00 +02:00
Graydon Hoare
9ae843ab1c
Print parens on unops when necessary. 'make reformat' output now builds to stage3.
2011-06-14 11:32:20 -07:00
Graydon Hoare
a1edf91f48
Fix bug in detecting trailing comments when at beginning-of-file.
2011-06-14 11:11:22 -07:00
Marijn Haverbeke
471436a299
Implement function expressions/anonymous functions
...
Looks like 'fn(..arg..) -> ret {body;}. They don't support type
parameters or upvars yet.
2011-06-14 18:22:46 +02:00
Marijn Haverbeke
8c06d1bcb0
Remove 'peeking_at_item' from parser
...
parse_item now returns a value to indicate it didn't find an item
2011-06-14 14:53:01 +02:00
Tim Chevalier
d65ad8c31c
Change decl to local in expr_for and expr_for_each
...
Since the decl in a for or for-each loop must always be a local
decl, I changed the AST to express this. Fewer potential match
failures and "the impossible happened" error messages = yay!
2011-06-13 17:33:04 -07:00
Tim Chevalier
698c6406ba
Reject programs with unsatisfied predicate constraints
...
Generate appropriate constraints for calls to functions with
preconditions, and reject calls where those constraints don't
hold true in the prestate.
...by which I mean that it works for one test case :-)
2011-06-10 19:17:15 -07:00
Graydon Hoare
9671d21408
Implement meta tag matching in creader. Start using it in rustc.rc. Close #459 . Close #457 .
2011-06-10 15:54:41 -07:00
Graydon Hoare
52c4c9014f
Encode meta tags in the crate and start sketching enhanced logic for resolving crate "use" directives.
...
Now with extra "works on OSX" kludging.
2011-06-10 12:57:29 -07:00
Patrick Walton
7b7c746c1e
Merge pull request #447 from paulstansifer/quick_error_message_fix
...
Error message, instead of segfault, when recursive types are used.
2011-06-10 10:53:42 -07:00
Patrick Walton
dfdd6dbc54
rustc: Remove the bitwise not operator
2011-06-10 10:47:33 -07:00
Marijn Haverbeke
fccf065266
Implement mutable/immutable alias distinction.
...
Before, all aliases were implicitly mutable, and writing
&mutable was the same as writing &. Now, the two are
distinguished, and assignments to regular aliases are
no longer allowed.
2011-06-10 12:15:58 +02:00
Marijn Haverbeke
798bbd2e22
Fix all occurrences of writing to immutable aliases
...
You'd be surprised.
2011-06-10 12:15:28 +02:00
Patrick Walton
40e3a9fcbc
Revert "Encode meta tags in the crate and start sketching enhanced logic for resolving crate "use" directives." due to tree bustage
...
This reverts commit ab3635eebef2b8cf0e19cdbc5b4e8dd7a49a4658.
2011-06-09 18:15:13 -07:00
Patrick Walton
60706f1e35
rustc: Write interior vecs and strings into the metadata and add logic for them in ty_to_str
2011-06-09 18:00:46 -07:00
Graydon Hoare
ab3635eebe
Encode meta tags in the crate and start sketching enhanced logic for resolving crate "use" directives.
2011-06-09 17:24:32 -07:00
Patrick Walton
5318248f24
rustc: Annotate vector and string literals in the AST with their uniqueness or lack thereof
2011-06-09 17:11:21 -07:00
Patrick Walton
1c48102838
rustc: Add ty_istr and ty_ivec types
2011-06-09 16:23:19 -07:00
Patrick Walton
54d34bec59
rustc: Parse istr and ivec
2011-06-09 15:05:08 -07:00