Commit Graph

9128 Commits

Author SHA1 Message Date
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
211d41948a Conditionalize CC / CXX / CPP to permit using other gcc versions. 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
Graydon Hoare
bd112a5853 Fix typo in release notes. 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
Graydon Hoare
a7a152311f Don't include config.stamp in dist tarball. 2012-03-28 11:29:38 -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
Tim Chevalier
d3b6fe0a91 Add config.stamp to .gitignore 2012-03-27 22:25:10 -07:00
Tim Chevalier
edb747ceed Enforce mutability declarations in classes; correct shapes for classes
1. Enforce mutability declarations on class fields. Don't allow any
mutation of class fields not declared as mutable (except inside the
constructor).

2. Handle classes correctly in shape (treat classes like records).
2012-03-27 22:11:58 -07:00
Niko Matsakis
c9102ee7a1 make type_kind exhaustive, add an entry for type_self (in particular) 2012-03-27 15:44:36 -07:00
Brian Anderson
42f2810eca emacs: Make 'mut' a keyword 2012-03-27 15:10:25 -07:00
Brian Anderson
f4ee5582c7 core: Rename iter::to_list to to_vec. Closes #2056 2012-03-27 14:50:33 -07:00
Brian Anderson
ba3292d3be rust: Remove extensions' dependency on the session 2012-03-27 14:16:46 -07:00
Graydon Hoare
2142c5ebbb Minor typo fixes. 2012-03-27 13:54:49 -07:00
Graydon Hoare
55bfc5e4f9 Prep docs before pdf. 2012-03-27 13:07:26 -07:00
Graydon Hoare
b7b16afc3d Tweak relnotes. 2012-03-27 12:54:43 -07:00
Marijn Haverbeke
73d6df32cd Emergency safe-ref-checker maintenance
It still has some big problems, but at least it more or less
understands block arguments now.

Closes #1925
2012-03-27 17:22:57 +02:00
Marijn Haverbeke
b5a4fa9456 Move some code over to iterator-for to see how it performs. 2012-03-27 15:46:33 +02:00
Marijn Haverbeke
cbad6925c1 Register new snapshot 2012-03-27 13:53:11 +02:00
Marijn Haverbeke
eec6383771 Add vec::each, vec::eachi, and list::each
For use with the new for construct.

Issue #1619
2012-03-27 12:53:19 +02:00
Marijn Haverbeke
064f82d68d Support returning from loop blocks
The code is somewhat invasive, but it seems hard to do this in a
clean way, since the design itself involves a bunch of 'action
at a distance'.

Issue #1819
2012-03-27 12:33:13 +02:00
Marijn Haverbeke
f6e3738b9c Support an alternate for syntax that calls a higher-order function
The last argument of the call must be a block, and the type of this
argument must a function returning bool. `break` and `cont` are
supported in the body of the block, and return `false` or `true` from
the function. When the end of the function is reached, `true` is
implicitly returned.

    for vec::all([1, 2, 3]) {|elt|
        if elt == 2 { break; }
        log(error, elt);
    }

Issue #1619
2012-03-27 09:27:31 +02:00
Graydon Hoare
9638e7fece Register new snapshots. 2012-03-26 22:10:02 -07:00
Graydon Hoare
46d9456610 Remove duplicate definition. 2012-03-26 18:36:48 -07:00
Graydon Hoare
6e6798c4e1 Bulk-edit mutable -> mut. 2012-03-26 18:35:18 -07:00
Graydon Hoare
34283ce7e8 Update release notes. 2012-03-26 18:17:55 -07:00
Graydon Hoare
5487f140cc Tidy up doc make rules. 2012-03-26 18:03:53 -07:00
Graydon Hoare
59336b8acb Move config.stamp touch to configure script. 2012-03-26 18:03:53 -07:00
Graydon Hoare
f904453db2 Only mention non-host triples if they exist. 2012-03-26 18:03:53 -07:00
Graydon Hoare
89dec28a5c Be more careful with CFG_{SRC,BUILD}_DIR ending in slash. 2012-03-26 18:03:53 -07:00
Graydon Hoare
071dbfc478 Reconfigure less often, and tidy up MKFILE_DEPS. 2012-03-26 18:03:53 -07:00
Graydon Hoare
bd0399863f Disable some advanced (post glibc-2.3) libuv features when building snaps. 2012-03-26 18:03:53 -07:00
Brian Anderson
45a709766c rustc: Begin eliminating ext's dependency on the session 2012-03-26 17:16:26 -07:00
Brian Anderson
a477aaba08 rustc: Move eval_const_expr to its own mod 2012-03-26 17:16:26 -07:00
Patrick Walton
b7a741b5d0 rustc: Combine and unify regions 2012-03-26 15:07:15 -07:00
Patrick Walton
03086c5304 rustc: "unkown" -> "unknown" 2012-03-26 12:53:06 -07:00
Patrick Walton
b86c603bdf rustc: Fix typo in infer 2012-03-26 12:52:31 -07:00
Patrick Walton
d877ebdd05 rustc: Remove obsolete FIXME in infer 2012-03-26 12:49:14 -07:00
Patrick Walton
407be52036 rustc: Generalize resolve_var to work with regions too 2012-03-26 12:42:38 -07:00
Brian Anderson
a5d506301f Add Jacob Parker to AUTHORS.txt 2012-03-26 12:26:33 -07:00
Brian Anderson
d92f3ac524 Merge pull request #2054 from j3parker/master
Minor fixes
2012-03-26 12:24:53 -07:00
Tim Chevalier
11610f9ca1 In typeck, don't call ty::store_iface_methods on private methods
This was resulting in a different error message depending on whether
the private method you were trying to call was in the same crate
or a different one.
2012-03-26 10:46:37 -07:00
Niko Matsakis
21111660ca Improve type inference to compute LUB/GLB 2012-03-26 10:34:58 -07:00
Tim Chevalier
2112c391cd Remove stray comment 2012-03-26 10:04:46 -07:00
Tim Chevalier
c282810ab0 Enforce privacy declarations for class fields and methods 2012-03-26 10:00:33 -07:00
Marijn Haverbeke
a00538b3b3 Fix return-in-block in cargo
Which is apparently not built as part of make check
2012-03-26 13:16:29 +02:00