Commit Graph

330 Commits

Author SHA1 Message Date
Brian Anderson
fb851242b7 Promote 'pub' and 'priv' from restricted to strict keywords 2012-09-11 18:17:26 -07:00
Brian Anderson
27cc0a36b6 Promote 'struct' from a restricted keyword to a strict keyword 2012-09-11 17:15:33 -07:00
Brian Anderson
1203da3b9d Remove priv sections from classes. Obsolete the syntax 2012-09-11 15:29:37 -07:00
Brian Anderson
298eb8c726 Convert 'import' to 'use'. Remove 'import' keyword. 2012-09-10 19:04:26 -07:00
Brian Anderson
1a8a0a77b1 Camel case std::serialization 2012-09-10 19:02:57 -07:00
Tim Chevalier
f8b3eaae82 Make all moves explicit in libsyntax 2012-09-10 18:28:47 -07:00
Brian Anderson
6957af770b Report obsolete trait lists on structs 2012-09-10 18:12:35 -07:00
Brian Anderson
73eb894305 Report obsolete class method syntax 2012-09-10 17:48:33 -07:00
Brian Anderson
df79026169 Promote 'return' from a restricted keyword to a strict keyword 2012-09-10 17:27:10 -07:00
Brian Anderson
cb7a5395dd Convert std::map to camel case 2012-09-10 17:08:36 -07:00
Brian Anderson
93d3b8aa6b Convert class methods to impl methods. Stop parsing class methods 2012-09-10 16:13:08 -07:00
Patrick Walton
22b8757705 rustc: Make shape-based compare glue never called for comparison operators.
Only called for string patterns.
2012-09-10 12:48:42 -07:00
Brian Anderson
ef9aa80438 Promote most restricted keywords to strict keywords 2012-09-10 12:07:19 -07:00
Brian Anderson
901543ff89 Reformat comments 2012-09-09 17:42:00 -07:00
Brian Anderson
e7a01b7383 Introduce 'strict' keywords, that may not be used as idents anywhere 2012-09-09 17:35:56 -07:00
Brian Anderson
528373b79b Turn most contextual keywords into restricted keywords 2012-09-09 16:53:47 -07:00
Brian Anderson
25dc59dc59 libsyntax: Parse and report errors for a few obsolete syntaxes 2012-09-08 20:04:21 -07:00
Brian Anderson
3bd1f32cd9 Convert all kind bounds to camel case. Remove send, owned keywords. 2012-09-07 18:10:11 -07:00
Brian Anderson
2810ea9a68 Convert 'again' to 'loop'. Remove 'again' keyword 2012-09-07 17:39:03 -07:00
Graydon Hoare
073df63c72 Fix long line. 2012-09-07 17:27:05 -07:00
Graydon Hoare
8b39e73697 Fix whitespace. 2012-09-07 17:26:10 -07:00
Graydon Hoare
5d823d46ad Migrate std::map to use core:#️⃣:Hash trait. Disable many hokey hashes. 2012-09-07 17:24:16 -07:00
Tim Chevalier
f5093dff7b Remove support for multiple traits in a single impl
There was half-working support for them, but they were never fully
implemented or even approved. Remove them altogether.

Closes #3410
2012-09-07 17:22:04 -07:00
Tim Chevalier
53ce42dc4f Implement &-patterns
Closes #2855
2012-09-07 17:09:07 -07:00
Graydon Hoare
e9f5a099df Add an ignore! macro, remove support for nested block comments, re: #2755. 2012-09-07 16:58:36 -07:00
Brian Anderson
249668f223 Remove module keyword 2012-09-07 16:53:21 -07:00
Brian Anderson
f0eae8f1c1 Convert field terminators to commas. Stop parsing semis. 2012-09-07 16:12:15 -07:00
Brian Anderson
2572e80355 Remove 'let' syntax for struct fields 2012-09-07 14:02:33 -07:00
Patrick Walton
feb014eb3c rustc: Add an "ne" method to the Eq trait, and implement it everywhere 2012-09-07 12:24:48 -07:00
Brian Anderson
b4e547d71a Remove struct ctors 2012-09-06 10:52:26 -07:00
Brian Anderson
f7681f9236 Accept Copy, Send, Const, Owned, as kind bounds 2012-09-05 15:31:38 -07:00
Patrick Walton
e7fe903d88 libsyntax: Make "pub use" mean the same thing as the former "import" in all circumstances 2012-09-05 13:26:46 -07:00
Patrick Walton
fba673b26b rustc: Implement private methods.
Doesn't work cross-crate yet.
2012-09-04 18:30:27 -07:00
Brian Anderson
200959d7ce Remove 'with' 2012-09-04 15:47:04 -07:00
Brian Anderson
ab9cf45a7c syntax: Remove 'of' and 'check' from keyword table 2012-09-04 15:43:46 -07:00
Brian Anderson
d3e75ea375 Parse 'loop' and 'again' the same 2012-09-04 13:37:11 -07:00
Patrick Walton
8ff18acc82 libsyntax: "import" -> "use" 2012-09-04 11:43:23 -07:00
Brian Anderson
7fb1a4e2d1 Camel case core::intrinsic 2012-09-02 15:19:52 -07:00
Brian Anderson
80c4f74c29 Remove the 'to' keyword 2012-09-01 18:38:18 -07:00
Tim Chevalier
4128cc4cb4 Make utility funs in core::int, core::uint, etc. not by-reference
Closes #3302
2012-08-31 16:21:47 -07:00
Patrick Walton
340a219290 libsyntax: Get "extern mod foo;" working in .rc files 2012-08-31 11:46:04 -07:00
Patrick Walton
6e7d5e1cbd rustc: Implement "use mod" 2012-08-31 11:20:50 -07:00
Patrick Walton
4846affedb rustc: "extern mod { ... }" should be written "extern { ... }" instead 2012-08-30 17:10:07 -07:00
Patrick Walton
96534365c2 rustc: Make < and = into traits 2012-08-29 18:25:22 -07:00
Brian Anderson
c0c8d3aa8f core: Demode int/uint mods 2012-08-29 16:23:36 -07:00
Tim Chevalier
cb8ecd7984 Allow extern mods to be anonymous
extern mod {
  f();
}

is now allowed, and puts f in the enclosing scope. (Requires a
link_name attribute to be really useful...)
2012-08-29 12:22:05 -07:00
Brian Anderson
161a82e433 Camel case various core constructors 2012-08-27 17:22:18 -07:00
Brian Anderson
0c6e470a25 Convert core::result to camel case 2012-08-27 14:37:04 -07:00
Brian Anderson
8337fa1a54 Camel case the option type 2012-08-26 15:56:16 -07:00
Patrick Walton
d77acf7d07 libsyntax: Accept ',' to separate struct fields. Closes #3263. 2012-08-25 16:06:35 -07:00
Patrick Walton
8ef4551904 rustc: Implement foreign constants.
This is needed for a lot of Apple libraries, as Apple tends to put a lot of
globals in dynamic libraries.
2012-08-25 15:09:33 -07:00
Tim Chevalier
5e22fb9c7f Remove match check 2012-08-24 22:28:12 -07:00
Graydon Hoare
c284b8b1dc Start using core::path2::Path in a lot of places. 2012-08-24 15:51:16 -07:00
Niko Matsakis
a8f1bee457 fix some unused pattern binding warnings 2012-08-24 15:37:21 -07:00
Paul Stansifer
aa024acae3 Use a faked-up function as a key, because functions aren't identical cross-crate in Windows. 2012-08-24 12:20:06 -07:00
Michael Sullivan
0f996f70a6 Remove purity from fn_decl and move it out to containing AST elements. 2012-08-23 19:40:01 -07:00
Niko Matsakis
a08f3a7d4d More complete fix to #3162 (borrowck bug related to access to rec fields) 2012-08-23 18:54:08 -07:00
Paul Stansifer
89bbaff84f m1!{...} is now forbidden. Use m1!(...) instead. 2012-08-23 11:14:15 -07:00
Paul Stansifer
c74a442e86 Eliminate some extraneous curly brackets inside invocations of macro_rules!. 2012-08-23 11:14:14 -07:00
Paul Stansifer
29f32b4a72 m1!{...} -> m1!(...) 2012-08-23 11:14:14 -07:00
Ben Blum
5b25fc918a Parse and typecheck moving out of enums (#2329) 2012-08-22 20:40:25 -04:00
Tim Chevalier
0a5f88a240 Change the log level to be an enum rather than an int
This allows for eliminating a match check.
2012-08-22 16:14:39 -07:00
Paul Stansifer
1153b5dcc8 intern identifiers 2012-08-22 14:59:25 -07:00
Paul Stansifer
7317bf8792 pre-intern some fixed names so they can be used as constants 2012-08-22 14:59:24 -07:00
Paul Stansifer
9a7890d73a Centralize ident interner generation. 2012-08-22 14:59:24 -07:00
Tim Chevalier
7284969292 Eliminate many match checks in rustc 2012-08-22 12:25:08 -07:00
Michael Sullivan
a65366d548 Parse explicit self in more places. Work on #2585. 2012-08-17 17:14:32 -07:00
Lindsey Kuper
eb834fdb81 Stop parsing iface. 2012-08-17 14:32:34 -07:00
Brian Anderson
3ab4b014cf Remove the class keyword 2012-08-17 10:13:45 -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
Brian Anderson
af43613795 Long lines 2012-08-15 17:32:19 -07:00
Patrick Walton
a78030fbaa libsyntax: Parse tuple and unit structs 2012-08-15 17:11:13 -07:00
Patrick Walton
6319c8fbc4 rustc: Fix long lines and trailing whitespace 2012-08-15 16:25:42 -07:00
Patrick Walton
3038968f28 rustc: Perform some AST surgery to separate out class fields from methods 2012-08-15 16:20:35 -07:00
Patrick Walton
353c632c2d libsyntax: Parse nested enums 2012-08-15 16:20:34 -07:00
Patrick Walton
bdb206f285 rustc: Parse labeled loop, break, and again 2012-08-15 16:20:34 -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
Brian Anderson
11258310e2 Convert more core types to camel case 2012-08-14 18:26:03 -07:00
Michael Sullivan
e640a66eb4 Make most forms of explicit self work. By-value not implemented. Work on #2585. 2012-08-14 17:40:04 -07:00
Patrick Walton
138dc3048a libsyntax: Parse "extern mod foo;" 2012-08-14 14:24:00 -07:00
Patrick Walton
30e243a5aa libsyntax: Give a nice error message when view items are used anywhere other than the top of a module.
This is a step on the way to parsing "extern mod foo;"
2012-08-14 11:23:25 -07:00
Patrick Walton
81e6bb1b4b libsyntax: First steps toward parsing "extern mod std;" 2012-08-14 11:08:15 -07:00
Patrick Walton
80b6850e34 libsyntax: Implement [int*3] syntax for fixed length vector types 2012-08-13 20:00:03 -07:00
Brian Anderson
6b43c0c1ad Stop parsing old operator overloading syntax 2012-08-13 18:59:17 -07:00
Patrick Walton
799bc0a193 libsyntax: Allow "use" to be used in place of "import" 2012-08-13 17:55:54 -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
Patrick Walton
9b5266d745 libsyntax: Refactor item parsing so that items and view items are parsed in the same function.
This is a step on the way to "extern mod foo;" and replacing "import" with "use".
2012-08-13 17:12:35 -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
Michael Sullivan
5fd891f10b Fix method mode parsing bug. Closes #3191. 2012-08-13 12:30:07 -05:00
Patrick Walton
5c9c9a6a9f libsyntax: Parse common enum fields 2012-08-08 19:51:48 -07:00
Brian Anderson
436a90e3d7 syntax: Stop supporting old impl syntax 2012-08-08 18:19:26 -07:00
Brian Anderson
6a0720b439 Convert impls to new syntax 2012-08-08 18:19:24 -07:00
Patrick Walton
4f98e80db1 rustc: Do some plumbing work in preparation for common fields in enums 2012-08-08 17:15:37 -07:00
Patrick Walton
f110e8f21c rustc: Do some plumbing work on nested enums 2012-08-08 14:19:21 -07:00
Niko Matsakis
52c517383e improve borrowck error messages to explain regions better 2012-08-07 20:59:06 -07:00
Patrick Walton
5ce3281a62 rustc: Parse variant structs; add a trivial test case 2012-08-07 18:55:19 -07:00
Patrick Walton
438765da59 rustc: Box struct_defs 2012-08-07 17:46:51 -07:00
Michael Sullivan
7f7f47620e Implement static typeclass methods. Closes #3132. 2012-08-07 17:18:14 -07:00
Patrick Walton
deaef48675 rustc: Split out struct bodies into a separate "struct_def" type in the AST 2012-08-07 15:35:05 -07:00