Commit Graph

470 Commits

Author SHA1 Message Date
John Clements
7e4cd09e2e added MTWT functions 2013-04-16 10:06:06 -07:00
John Clements
313a5ab946 move interner_key macro 2013-04-16 10:06:05 -07:00
John Clements
48e7bda826 path -> Path 2013-04-10 09:15:04 -07:00
Daniel Micay
cc148b58ff rename Linear{Map,Set} => Hash{Map,Set} 2013-04-03 10:30:36 -04:00
Daniel Micay
44029a5bbc hashmap: rm linear namespace 2013-04-03 10:30:18 -04:00
Alex Crichton
e4c3d805a4 syntax: Removing uses of HashMap 2013-03-26 19:20:02 -04:00
Patrick Walton
85c9fc6f8f librustc: Remove the const declaration form everywhere 2013-03-22 22:24:35 -07:00
Patrick Walton
eba3367404 libsyntax: Introduce the new assert! macro; make assert no longer a keyword 2013-03-22 22:24:34 -07:00
Patrick Walton
e7c60c141b librustc: Remove pure from libsyntax and librustc. 2013-03-22 12:57:27 -07:00
Andrew Paseltiner
e2abecd3ab syntax: replace uses of old deriving attribute with new one 2013-03-22 06:30:59 -04:00
Brian Anderson
9c7e16e48d Remove the log keyword (by renaming it to __log)
We can't quite remove logging from the language, but this hides the
keyword.
2013-03-11 23:19:42 -07:00
John Clements
a040b8005f add deriving_eq for tokens 2013-03-07 14:46:46 -08:00
Erick Tryzelaar
4a73426aa2 libsyntax: add &self to parser methods 2013-03-03 15:25:08 -08:00
Erick Tryzelaar
7d0ec86c4a Merge remote-tracking branch 'remotes/origin/incoming' into incoming 2013-02-27 11:03:21 -08:00
Erick Tryzelaar
4ae91e2961 libsyntax: add explicit copies 2013-02-26 20:48:11 -08:00
John Clements
08b6057538 Macros now leave scope
Macro scope is now delimited by function, block, and module boundaries,
except for modules that are marked with #[macro_escape], which allows
macros to escape.
2013-02-26 10:36:55 -08:00
Erick Tryzelaar
375c298297 libsyntax: change binop_to_str to be pure 2013-02-26 03:22:14 -08:00
Erick Tryzelaar
ff36986fa4 libsyntax: change token fns to take &Token 2013-02-26 01:51:41 -08:00
Erick Tryzelaar
d346b51997 libsyntax: change token::to_str to take &Token 2013-02-26 01:29:27 -08:00
Erick Tryzelaar
f3965829ff libsyntax: change flip_delimiter to take a &token::Token 2013-02-25 22:08:09 -08:00
Erick Tryzelaar
9da641bd8c libsyntax: convert interner into a modern struct 2013-02-19 10:02:50 -08:00
Luqman Aden
3a19eef496 libsyntax: Remove move as a keyword. 2013-02-15 02:49:55 -08:00
Patrick Walton
9143688197 librustc: Replace impl Type : Trait with impl Trait for Type. rs=implflipping 2013-02-14 14:44:12 -08:00
bors
6efa3543a8 auto merge of #4922 : jbclements/rust/add-deriving-eq-to-asts, r=catamorphism
r?

Apply deriving_eq to the data structures in ast.rs, and get rid of the custom definitions of eq that were everywhere. resulting ast.rs is about 400 lines shorter.

Also: add a few test cases and a bunch of comments.

Also: change ast_ty_to_ty_cache to use node ids rather than ast::ty's. I believe this was a suggestion related to my changes, and it appears to pass all tests.

Also: tiny doc fix, remove references to crate keywords.
2013-02-13 18:49:29 -08:00
Nick Desaulniers
4445b38df2 Remove die!, raplace invocations with fail! Issue #4524 pt 3 2013-02-13 17:01:32 -08:00
John Clements
ded95d2c28 deriving_eq for tokens and binops
Note that the replaced definition of equality on tokens
contains a *huge* shortcut on INTERPOLATED tokens (those
that contain ASTs), whereby any two INTERPOLATED tokens
are considered equal. This seems like a really broken
notion of equality, but it appears that the existing
test cases and the compiler don't depend on it. Niko
noticed this, BTW.

Replace long definition of Eq on tokens and binops
w
2013-02-13 15:08:27 -08:00
John Clements
25c4676dfa Commenting, test cases, cleanup 2013-02-13 15:08:27 -08:00
bors
d6442e97a5 auto merge of #4854 : thestinger/rust/oldmap, r=catamorphism 2013-02-09 15:02:51 -08:00
Daniel Micay
a32c5c73ee oldmap: get rid of legacy _ref suffixes 2013-02-08 19:12:51 -05:00
Niko Matsakis
14930fbffe Add and lex LIFETIME tokens
cc #4846
2013-02-08 06:02:35 -08:00
Daniel Micay
2e496818a5 oldmap: get rid of the legacy each_key method 2013-02-03 15:55:10 -05:00
Daniel Micay
319eeb1c79 rename map -> oldmap and mark it as deprecated
LinearMap is quite a bit faster, and is fully owned/sendable without
requiring copies. The older std::map also doesn't use explicit self and
relies on mutable fields.
2013-02-03 15:55:10 -05:00
Nick Desaulniers
7868b6bf55 Remove fail keyword from lexer & parser and clean up remaining calls to
fail

Fix merge conflicts - Issue 4524
2013-02-01 00:15:42 -08:00
Nick Desaulniers
aee7929469 Replace most invocations of fail keyword with die! macro 2013-01-31 20:12:49 -08:00
Patrick Walton
49472ec4c9 librustc: Remove legacy exports from the language. r=brson 2013-01-30 18:11:43 -08:00
Patrick Walton
95b892c8a7 libsyntax: De-export a lot of libsyntax. rs=deëxporting 2013-01-29 13:55:30 -08:00
Youngsoo Son
4b2aa286d8 Make super a keyword 2013-01-24 16:07:04 +09:00
Patrick Walton
154488df19 libsyntax: Implement assert as a macro (called fail_unless! on a transitionary basis to avoid conflicting with the keyword right now). r=brson 2013-01-23 14:46:24 -08:00
Patrick Walton
982830c836 librustc: Allow the type parameter version of Self to be spelled with a capital S 2013-01-10 10:37:22 -08:00
Patrick Walton
2db3abddcd librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37 Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
This reverts commit a8d37af247.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247 librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 19:27:57 -08:00
Patrick Walton
57c599914a librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon 2012-12-27 10:02:54 -08:00
Erick Tryzelaar
8650c6f683 Switch from serialization to std::serialize. (snapshot) 2012-12-17 20:00:36 -08:00
Graydon Hoare
e24ae85025 syntax: remove most code handling old-style syntax extensions. 2012-12-12 15:02:47 -08:00
Patrick Walton
56ece46f7d librustc: Remove all legacy pattern bindings from libsyntax and librustc. rs=refactoring 2012-12-04 14:19:19 -08:00
Graydon Hoare
00c856c0b1 Update license, add license boilerplate to most files. Remainder will follow. 2012-12-03 17:12:14 -08:00
Graydon Hoare
ce24d37759 syntax: slight improvement in fidelity of printing tokens. Still not great. 2012-11-29 12:09:11 -08:00
Paul Stansifer
15e03e1e5e Forbid attrs on macros, since we don't handle them properly yet. 2012-11-29 12:09:11 -08:00
Brian Anderson
fc06114ddf Merge remote-tracking branch 'brson/companion' into incoming
Conflicts:
	src/compiletest/compiletest.rs
	src/libcargo/cargo.rs
	src/libcore/core.rs
	src/librustc/rustc.rs
	src/librustdoc/rustdoc.rc
2012-11-28 13:17:33 -08:00
Brian Anderson
8179e268ef Register snapshots 2012-11-28 12:33:00 -08:00
Patrick Walton
61cfec3c52 librustc: Parse extern "C" { ... }. r=brson 2012-11-28 11:28:16 -08:00
Patrick Walton
318e534895 rustc: Implement explicit self for Eq and Ord. r=graydon 2012-11-19 15:33:11 -08:00
Patrick Walton
fe02814a63 rustc: Implement floating point literal inference. r=nmatsakis 2012-11-12 10:39:08 -08:00
Patrick Walton
be93b29d30 rustc: Implement parsing and typechecking for "once fn" 2012-11-05 13:17:02 -08:00
Patrick Walton
599b4208fb rustc: Translate tuple struct constructors 2012-10-25 11:49:26 -07:00
Patrick Walton
91ae5412d8 rustc: Merge module and type namespaces. r=brson 2012-10-15 15:35:36 -07:00
Tim Chevalier
15d8457104 Merge pull request #3700 from erickt/cargo-interner
allow interner cache to be shared across parsers (#3699)
2012-10-09 14:50:01 -07:00
Tim Chevalier
22efa39382 Revert "Revert "Remove old auto_serialize2 code (needs snapshot)""
This reverts commit a33535e441.
2012-10-08 17:43:45 -07:00
Tim Chevalier
a33535e441 Revert "Remove old auto_serialize2 code (needs snapshot)"
This reverts commit 0bd6da8a8c.
2012-10-08 11:58:54 -07:00
Erick Tryzelaar
1ac75d2269 allow interner cache to be shared across parsers (#3699) 2012-10-08 10:42:13 -07:00
Erick Tryzelaar
0bd6da8a8c Remove old auto_serialize2 code (needs snapshot) 2012-10-07 17:20:19 -07:00
Erick Tryzelaar
eb626e7119 Remove the old serializers (needs snapshot) 2012-10-07 17:20:19 -07:00
Erick Tryzelaar
e1c517ca48 migrate libsyntax/rustc to auto_serialize2 2012-10-07 10:32:25 -07:00
Tim Chevalier
45345bda6a Remove uses of mutable ref mode.
It's still in the compiler right now, but warned about
2012-10-05 16:57:37 -07:00
Tim Chevalier
f8bc0d2545 Revert "wip"
This reverts commit ca49fd402a.
2012-10-05 16:10:08 -07:00
Tim Chevalier
ca49fd402a wip 2012-10-05 15:39:12 -07:00
Erick Tryzelaar
b96af73159 turn ast::ident into a struct
This will help with the auto_serialize2 migration. We have to change
ident from a type alias to uint into a unique type. We need to use
a struct instead of a "enum ident = token::str_num" because structs
support constants, but newtypes do not.
2012-09-26 16:20:24 -07:00
Brian Anderson
afd91f8a56 Register snapshots. Remove redundant Eq impls, Makefile hacks 2012-09-23 23:01:49 -07:00
Niko Matsakis
0a26edca75 Fix trans for region patterns (&P) 2012-09-23 13:30:20 -05:00
Graydon Hoare
dffe188991 Install new pub/priv/export rules as defaults, old rules accessible under #[legacy_exports]; 2012-09-21 18:11:43 -07:00
Patrick Walton
9117dcb968 rustc: De-mode all overloaded operators 2012-09-20 09:48:05 -07:00
Brian Anderson
1397dca2dd core: Move TLS to task::local_data 2012-09-19 19:08:32 -07:00
Niko Matsakis
cfed923600 demode the each() method on vec and other iterables. 2012-09-19 17:03:01 -07:00
Graydon Hoare
1ffd90edbc Remove redundant hashmap constructor functions. 2012-09-19 15:51:44 -07:00
Brian Anderson
0c82c00dc4 libsyntax: Remove the restricted keyword concept 2012-09-19 11:44:05 -07:00
Brian Anderson
76f8cfb26c libsyntax: Move 'unsafe' to the strict keywords list 2012-09-19 11:44:05 -07:00
Brian Anderson
2906f2de31 core: Rename 'unsafe' mod to 'cast' 2012-09-18 19:36:25 -07:00
Brian Anderson
d0d8b7fe64 Remove 'unchecked' keyword 2012-09-18 11:31:58 -07:00
Brian Anderson
d71179f410 Promote 'fail' to a strict keyword 2012-09-13 17:10:01 -07:00
Brian Anderson
7568dd4564 Promote 'const', 'copy', 'fn' to strict keywords 2012-09-12 16:00:22 -07:00
Brian Anderson
3057790f4b Rename 'contextual' keywords to 'temporary' 2012-09-12 15:22:34 -07:00
Brian Anderson
be1fdf983f Promote 'impl' from restricted keyword to strict 2012-09-11 19:28:44 -07:00
Brian Anderson
3d2a74a160 Reserve 'be' as a keyword 2012-09-11 19:26:48 -07:00
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
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
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
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
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
5d823d46ad Migrate std::map to use core:#️⃣:Hash trait. Disable many hokey hashes. 2012-09-07 17:24:16 -07:00
Brian Anderson
249668f223 Remove module keyword 2012-09-07 16:53:21 -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
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
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
Patrick Walton
96534365c2 rustc: Make < and = into traits 2012-08-29 18:25:22 -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
8337fa1a54 Camel case the option type 2012-08-26 15:56:16 -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
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
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
Brian Anderson
ecaf9e39c9 Convert alt to match. Stop parsing alt 2012-08-06 15:36:30 -07:00
Eric Holk
517ad983f9 Handle interpolated paths in pattern parsing. Fixes #3007.
We might need to use is_ident_or_path in a for other places too.
2012-08-06 13:25:34 -07:00
Brian Anderson
025d86624d Switch alts to use arrows 2012-08-05 22:08:09 -07:00
Patrick Walton
e02b1b1ec8 rustc: Parse and typecheck repeating vector expressions; e.g. [ 0, ..512 ] 2012-08-03 18:03:19 -07:00
Patrick Walton
dfe1f6260e rustc: Remove all fixed-length strings from our codebase 2012-08-03 11:22:35 -07:00
Lindsey Kuper
19570ab1f0 Revert "Remove "iface" from keyword table."
This reverts commit 51b9674ed7.
2012-08-02 18:42:09 -07:00
Lindsey Kuper
51b9674ed7 Remove "iface" from keyword table. 2012-08-02 18:10:07 -07:00
Brian Anderson
b355936b4d Convert ret to return 2012-08-01 19:16:06 -07:00
Patrick Walton
b414db041b rustc: Parse by-reference pattern bindings with the "ref" keyword 2012-07-31 19:26:25 -07:00
Patrick Walton
c88933d714 rustc: Implement unary move. Closes #917. 2012-07-31 17:33:20 -07:00
Brian Anderson
7b2026bf21 Introduce 'return', 'match' and 'module' as synonyms 2012-07-31 17:22:30 -07:00
Paul Stansifer
0bd6371155 Now you can use whatever delimiter you want to invoke syntax extensions. 2012-07-31 14:07:59 -07:00
Paul Stansifer
c2f49c46ae Avoid accidentally printing floating point numbers as 10.f. 2012-07-31 11:49:20 -07:00
Paul Stansifer
e040ab8423 Impl-ize interner. 2012-07-30 18:04:19 -07:00
Brian Anderson
ef29f7ff36 syntax: Fix semicolon printing. Closes #3036 2012-07-30 16:09:52 -07:00
Graydon Hoare
e11e90f31c Make macro-system type and constructor names more uniform; more comments. 2012-07-27 19:14:46 -07:00
Patrick Walton
db020ab63c rustc: Implement and enforce instance coherence 2012-07-17 15:46:43 -07:00
Niko Matsakis
0e42004bab introduce an owned kind for data that contains no borrowed ptrs 2012-07-16 20:18:18 -07:00
Niko Matsakis
41a21f053c remove typestate from code, tests, and docs 2012-07-14 17:37:20 -07:00
Michael Sullivan
92743dc2a6 Move the world over to using the new style string literals and types. Closes #2907. 2012-07-14 01:03:43 -07:00
Michael Sullivan
2ea9c8df0f Accept prefix notation for writing the types of str/~ and friends. 2012-07-12 16:52:26 -07:00
Paul Stansifer
773e3df310 Fix some lookahead problems with ACTUALLY tokens. 2012-07-10 14:26:38 -07:00
Paul Stansifer
caa83b41bb Add support for matchers nonterminals. 2012-07-09 17:44:46 -07:00
Graydon Hoare
638036fe55 Remove 'cont' from parser/lexer. 2012-07-09 14:47:45 -07:00
Graydon Hoare
ceac155211 For #2229, recognize 'again' in place of 'cont', final change pending snapshot. 2012-07-06 15:46:39 -07:00
Eric Holk
fa4134611d Fixing an infinite type, updating code to match new Early parser, remembering to add protocol parser. 2012-07-06 10:42:40 -07:00
Eric Holk
d09bcc0131 Adding token tree nonterminals to earley parser. 2012-07-06 10:42:40 -07:00
Paul Stansifer
7f9b1fbe35 Add new syntax for interpolation and repetition, and allow the transcription of separators. 2012-07-05 18:09:31 -07:00
Paul Stansifer
62db5706e6 Start letting the parser catch interpolated ASTs. 2012-07-05 18:09:31 -07:00
Paul Stansifer
0c6fe6470e Macro By Example transcription of token trees with interpolations and dotdotdots. 2012-07-05 18:09:31 -07:00
Gareth Daniel Smith
be0141666d convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498 2012-07-04 19:18:13 -07:00
Graydon Hoare
3f59a4bc64 More work on #2082, remove parser/lexer support for 'crust' and 'native'. 2012-07-03 16:49:46 -07:00
Brian Anderson
569467eb0d Merge remote-tracking branch 'Dretch/prettydocs'
Conflicts:
	src/compiletest/errors.rs
	src/libsyntax/parse/attr.rs
	src/libsyntax/parse/comments.rs
	src/test/compile-fail/ambig_impl_unify.rs
	src/test/compile-fail/assign-super.rs
	src/test/compile-fail/bad-for-loop.rs
	src/test/compile-fail/bad-var-env-capture-in-block-arg.rs
	src/test/compile-fail/block-arg-as-stmt-with-value.rs
	src/test/compile-fail/borrowck-assign-comp-idx.rs
	src/test/compile-fail/borrowck-lend-flow.rs
	src/test/compile-fail/borrowck-loan-blocks-move-cc.rs
	src/test/compile-fail/borrowck-loan-blocks-mut-uniq.rs
	src/test/compile-fail/borrowck-loan-rcvr.rs
	src/test/compile-fail/borrowck-loan-vec-content.rs
	src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs
	src/test/compile-fail/cap-clause-with-stack-closure.rs
	src/test/compile-fail/do1.rs
	src/test/compile-fail/do2.rs
	src/test/compile-fail/empty-vec-trailing-comma.rs
	src/test/compile-fail/evec-subtyping.rs
	src/test/compile-fail/issue-1896.rs
	src/test/compile-fail/issue-2149.rs
	src/test/compile-fail/issue-2150.rs
	src/test/compile-fail/issue-2487-b.rs
	src/test/compile-fail/kindck-implicit-close-over-mut-var.rs
	src/test/compile-fail/liveness-issue-2163.rs
	src/test/compile-fail/liveness-use-in-index-lvalue.rs
	src/test/compile-fail/no-reuse-move-arc.rs
	src/test/compile-fail/no-send-res-ports.rs
	src/test/compile-fail/non-const.rs
	src/test/compile-fail/pure-higher-order.rs
	src/test/compile-fail/pure-loop-body.rs
	src/test/compile-fail/regions-addr-of-upvar-self.rs
	src/test/compile-fail/regions-escape-loop-via-vec.rs
	src/test/compile-fail/regions-scoping.rs
	src/test/compile-fail/seq-args.rs
	src/test/compile-fail/tstate-unsat-in-called-fn-expr.rs
	src/test/compile-fail/tstate-unsat-in-fn-expr.rs
	src/test/compile-fail/vec-add.rs
	src/test/compile-fail/vec-concat-bug.rs
	src/test/compile-fail/vector-no-ann.rs
2012-07-02 15:23:41 -07:00
Brian Anderson
d1fc2b5995 Convert to new closure syntax 2012-07-01 19:19:32 -07:00
Brian Anderson
3155d170ad syntax: Fix lambda parsing following 'ret' 2012-06-30 21:20:36 -07:00
Gareth Daniel Smith
0b653ab953 initial draft of fix for issue #2498:
1. make /// ... and //! ... and /** ... */ and /*! ... */ into sugar for #[doc = ...] attributes.
2. add a script in etc/ to help converting doc-attributes to doc-comments
3. add some functions to core::str to help with (1)
2012-06-30 11:54:54 +01:00
Michael Sullivan
98e161f00e Switch the compiler over to using ~[] notation instead of []/~. Closes #2759. 2012-06-29 17:41:45 -07:00
Graydon Hoare
d3c6119a7a More keyword paring and migration in runtime, docs, code modes. 2012-06-27 13:30:49 -07:00
Graydon Hoare
697f1e38d6 Change 'native' and 'crust' to 'extern'.
This comes with a terminology change. All linkage-symbols are 'extern'
now, including rust syms in other crates. Some extern ABIs are
merely "foreign". The term "native" is retired, not clear/useful.

What was "crust" is now "extern" applied to a _definition_. This
is a bit of an overloading, but should be unambiguous: it means
that the definition should be made available to some non-rust ABI.
2012-06-26 16:18:37 -07:00
Michael Sullivan
329eca6044 Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725. 2012-06-25 20:00:46 -07:00
Paul Stansifer
4f104954a6 parsing for the macro system 2012-06-25 18:01:37 -07:00
Tim Chevalier
da470ff5b8 Merge 2012-06-25 13:29:41 -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
4dcf84e4f4 Remove bind. Issue #2189 2012-06-20 17:27:28 -07:00
Brian Anderson
1ec5a5c635 Add 'do' expressions 2012-06-18 17:42:30 -07:00
Paul Stansifer
d6522ab2d3 Beginning of support for interpolation into token trees. 2012-06-15 12:41:41 -07:00
Paul Stansifer
473b1ec0a0 Make token trees parseable. 2012-06-15 12:41:41 -07:00
Lindsey Kuper
77e6573929 Further work on integer literal suffix inference (#1425)
In this commit:

  * Change the lit_int_unsuffixed AST node to not carry a type, since
    it doesn't need one

  * Don't print "(unsuffixed)" when pretty-printing unsuffixed integer
    literals

  * Just print "I" instead of "(integral)" for integral type variables

  * Set up trans to use the information that will be gathered during
    typeck to construct the appropriate constants for unsuffixed int
    literals

  * Add logic for handling int_ty_sets in typeck::infer

  * Clean up unnecessary code in typeck::infer

  * Add missing mk_ functions to middle::ty

  * Add ty_var_integral to a few of the type utility functions it was
    missing from in middle::ty
2012-06-14 20:24:36 -07:00
Lindsey Kuper
b75199634a syntax: minor cleanups; making things more idiomatic 2012-06-11 16:49:35 -07:00
Lindsey Kuper
8467279fac Add a new AST node for unsuffixed integer types. 2012-06-11 16:34:56 -07:00
Brian Anderson
21087bf1a5 syntax: Intern @strs instead of strs 2012-06-09 00:53:34 -07:00
Niko Matsakis
bede54b14a misc. copies in core/syntax to please borrowck 2012-06-06 18:36:15 -07:00
Patrick Walton
ae6d8d1b4d rustc: Implement optional fat-arrow syntax for alt (transitional change) 2012-06-04 18:35:14 -07:00
Graydon Hoare
57f399bd63 Implement 2 kinds of char / str escaping. Use in rustc. Close #2306. 2012-05-31 15:32:29 -07:00
Kevin Cantu
7dcbaedd32 Rename librustsyntax to libsyntax
Per issue #2418.
2012-05-31 11:15:00 -07:00