Commit Graph

8334 Commits

Author SHA1 Message Date
Brian Anderson
14e9f58b50 build: Add librustsyntax to snapshots 2012-03-29 14:42:31 -07:00
Brian Anderson
0e87039348 rustc: Remove the rustsyntax::attr wrapper in front 2012-03-29 14:42:31 -07:00
Brian Anderson
ba69a738c7 rustc: Cleanup 2012-03-29 14:42:31 -07:00
Brian Anderson
442d0a783a rustc: Move attr, parse, print to rustsyntax 2012-03-29 14:42:31 -07:00
Brian Anderson
15947f8b19 rustc: Move lexer and token to rustsyntax 2012-03-29 14:42:30 -07:00
Brian Anderson
ce216a5533 rustc: Remove the session dependency from front::attr 2012-03-29 14:42:30 -07:00
Brian Anderson
cb2840bcaf rustc: Add an accessor to get the diagnostic handler from the session 2012-03-29 14:42:30 -07:00
Brian Anderson
8f809f89d9 rustc: Move diagnostic to rustsyntax 2012-03-29 14:42:30 -07:00
Brian Anderson
5c25e78b27 rustc: Move fold to rustsyntax 2012-03-29 14:42:30 -07:00
Brian Anderson
454df53464 rustc: Move interner to rustsyntax 2012-03-29 14:42:30 -07:00
Brian Anderson
9e299f53f4 rustc: Move ast, ast_util, visit to rustsyntax 2012-03-29 14:42:30 -07:00
Brian Anderson
140151f3f9 rustc: Move codemap to rustsyntax 2012-03-29 14:42:30 -07:00
Brian Anderson
a0ed1fb20b build: Introduce rustsyntax crate 2012-03-29 14:42:30 -07:00
Tim Chevalier
c7082ce8e8 Require "self" as base expression for intra-class method or field references
All field or method references within a class must begin with "self." now.
A bare reference to a field or method in the same class will no longer
typecheck.
2012-03-29 12:22:01 -07:00
Patrick Walton
c2f28e231f stdlib: Remove the now-obsolete vec::alloc_len in favor of vec::capacity 2012-03-29 08:57:34 -07:00
Patrick Walton
8774493dd3 test: Rewrite binarytrees to use arenas
Perf isn't bad now. Still 50% slower than Java, but faster than other GC'd languages.
2012-03-29 08:41:26 -07:00
Patrick Walton
166d14e42d stdlib: Actually increase arena chunk sizes by powers of two 2012-03-29 08:41:26 -07:00
Patrick Walton
b210c7ad97 stdlib: Allow the fast path of arena allocation to be CCI'd. 15% improvement on binary-trees. 2012-03-29 08:41:26 -07:00
Patrick Walton
1d25594657 rustc: Add a vec::alloc_len and fix arena logic to use it 2012-03-29 08:41:26 -07:00
Patrick Walton
5ce3d35f41 rustc: Don't zero out arena chunks with vec::from_elem; that's slow because it calls the glue. 2012-03-29 08:41:25 -07:00
Patrick Walton
2663018792 rustc: Fix an infinite loop during size calculations for recursive region pointer types 2012-03-29 08:41:25 -07:00
Patrick Walton
6f0cbf4cd4 stdlib: Fix a pointer mistake in arenas 2012-03-29 08:41:25 -07:00
Brian Anderson
0d5d2e5e14 core: Don't use upcall_vec_grow from str::push_char 2012-03-29 00:20:05 -07:00
Grahame Bowland
7a87258155 Rewrite str::push_char in rust.
Avoid crossing to C to reallocate underlying array when possible,
if we must we now only cross once per char (not once per byte.)
2012-03-29 00:20:05 -07:00
Brian Anderson
b7b66b6cb3 core: Don't call into the runtime to reserve if we have capacity 2012-03-29 00:20:05 -07:00
Brian Anderson
c0a99790cb core: Add str::capacity 2012-03-29 00:20:05 -07:00
Brian Anderson
ad21976fbc core: Add vec::capacity 2012-03-29 00:20:05 -07:00
Brian Anderson
5e42c5cf19 core: Add str::reserve_at_least 2012-03-29 00:20:05 -07:00
Brian Anderson
b3d7823381 core: Add and use vec::reserve_at_least
This reserves in powers of two
2012-03-29 00:20:05 -07:00
Brian Anderson
8e743b2981 core: Improve docs for str::reserve 2012-03-29 00:20:05 -07:00
Brian Anderson
1446534271 core: Clarify docs on vec::reserve 2012-03-29 00:20:05 -07:00
Graydon Hoare
412dba5743 Update snaps for linux to point to snaps that actually work on RHEL5. 2012-03-28 20:58:43 -07:00
Graydon Hoare
e950313155 Remove execvpe use in general, it seems pointless and non-portable. 2012-03-28 20:58:43 -07:00
Tim Chevalier
f7bbe537c1 Allow explicit self-calls within classes
Allow writing self.f() within a class that has a method f. In a future
commit, this syntax will be required. For now, you can write either
self.f() or f().

I added a "privacy" field to all methods (whether class methods or not),
which allowed me to refactor the AST somewhat (getting rid of the
class_item type; now there's just class_member).
2012-03-28 20:30:07 -07:00
Niko Matsakis
fe610f04d8 use fresh vars in place of _|_ when incorrect # of params supplied 2012-03-28 17:02:54 -07:00
Niko Matsakis
23f92ea370 Detect and report types which could never be instantiated.
Fixes #2063.
2012-03-28 17:02:54 -07:00
Brian Anderson
8cf44bed57 core: Add int8_t, etc. types to libc::types::common::c99 2012-03-28 16:32:02 -07:00
Graydon Hoare
0622a74c48 Fix long line. 2012-03-28 15:16:32 -07:00
Niko Matsakis
3955b3a41a refactor so that pretty mode tests also run aux-build. Fixes #2060. 2012-03-28 14:59:36 -07:00
Patrick Walton
18a97d71f9 test: Un-XFAIL regions-mock-trans.rs and regions-mock-trans-impls.rs 2012-03-28 14:31:23 -07:00
Graydon Hoare
2aaca455b9 Tidy up multiple declarations and STDC_FOO_MACROS guards in headers. 2012-03-28 14:26:51 -07:00
Patrick Walton
3c398d28a4 rustc: Universally quantify regions when calling functions. Un-XFAIL regions-addr-of-ret.rs. 2012-03-28 14:24:18 -07:00
Tim Chevalier
ca6636d6b6 Allow references to "self" within classes
Allow writing self.f within a class that has a field f. Currently,
the compiler accepts either self.f or f. In a future commit I'll
require writing self.f and not f.

Not sure whether self.f() works if f is a method (making sure that
works next).
2012-03-28 14:19:00 -07:00
Graydon Hoare
c141e7a068 Fix some gcc-4.4-isms, should build now on 4.1+. 2012-03-28 13:52:47 -07:00
Graydon Hoare
b37d7e26fe Update crate URLs to point to interesting things. 2012-03-28 13:52:47 -07:00
Jesse Ruderman
d0ddc69298 Update CC fuzzer 2012-03-28 12:30:07 -07:00
Jesse Ruderman
8d8581e7f9 Update AST fuzzer 2012-03-28 12:29:53 -07:00
Grahame Bowland
232c771105 python scripts run with Python 2.4 (for RHEL5) 2012-03-28 11:29:47 -07:00
Tim Chevalier
52f2a9a1c9 Test case to make sure typestate checks the body of class constructors 2012-03-28 10:38:57 -07:00
Marijn Haverbeke
90cf9e0d6f Make sure type_use.rs doesn't get lost in recursive enums
Closes #2059
2012-03-28 10:35:16 +02:00