Commit Graph

8779 Commits

Author SHA1 Message Date
Patrick Walton
b87cdd8572 rustc: Infer regions of variant arguments to the caller region 2012-03-13 16:16:27 -07:00
Brian Anderson
5c23d21e83 rt: Remove an incorrect assert in lock_and_signal
This assert doesn't hold because it isn't made while holding the lock
2012-03-13 16:12:38 -07:00
Patrick Walton
8cbaebbb49 rustc: Get reference typedefs working 2012-03-13 15:53:16 -07:00
Brian Anderson
b968c8e6cd Name types after their modules instead of 't' 2012-03-13 15:14:17 -07:00
Patrick Walton
a38ccf1254 rustc: Thread the use site around in ast_ty_to_ty 2012-03-13 14:41:18 -07:00
Patrick Walton
0837a6ba04 rustc: Don't cache ast_ty_to_ty results for types that have references 2012-03-13 14:13:13 -07:00
Brian Anderson
02e9400a82 core: Fix os::self_exe_path on FreeBSD 2012-03-13 13:51:03 -07:00
Patrick Walton
107767731a rustc: Use only ast_ty_to_ty for region inference 2012-03-13 12:01:34 -07:00
Patrick Walton
014dd547a0 rustc: Use the inferred region as the self region in ast_ty_to_ty as well 2012-03-13 11:34:48 -07:00
Patrick Walton
ec340c8f40 rustc: Look up inferred regions in ast_ty_to_ty 2012-03-13 11:26:55 -07:00
Brian Anderson
cd72b1f848 Overhaul constructor naming in libs 2012-03-13 11:07:22 -07:00
Patrick Walton
aea8736129 rustc: Fix long line 2012-03-13 11:04:02 -07:00
Patrick Walton
07b4c80c68 rustc: Record what & would resolve to for every AST type 2012-03-13 10:44:37 -07:00
Marijn Haverbeke
e54cde5215 Use type size/alignment of target, rather than host, in debuginfo 2012-03-13 16:20:31 +01:00
Marijn Haverbeke
463cf837eb rustc: Teach trans::alt.rs about exhaustive alts
Closes #1971
2012-03-13 16:20:31 +01:00
Kevin Atkinson
15985277b9 Fix Issue #1926 by sorting the gather list. 2012-03-13 07:40:41 -04:00
Graydon Hoare
6f5853f5a1 Libc/os/run/rand/io reorganization. Close #1373. Close #1638.
- Move io, run and rand to core.
 - Remove incorrect ctypes module (use libc).
 - Remove os-specific modules for os and fs.
 - Split fs between core::path and core::os.
2012-03-12 20:08:29 -07:00
Patrick Walton
ac57bb3856 rustc: Word a comment more clearly in region.rs 2012-03-12 18:56:13 -07:00
Patrick Walton
afa046a56b rustc: Use linked lists instead of hash tables for region binding scopes
Hash tables are overkill.
2012-03-12 18:47:18 -07:00
Patrick Walton
4571175568 stdlib: Make list::find do what the docs say it does.
Talked on #rust about this change, got approval from graydon and brson. Will bring up tomorrow at meeting to verify.
2012-03-12 18:28:16 -07:00
Brian Anderson
3de30f4ef2 rt: Change alignof to rust_alignof. Remove -Wno-c++11-compat. Closes #1644 2012-03-12 18:03:48 -07:00
Patrick Walton
dd610a151b rustc: Add node IDs to AST types so we can associate them with region environments 2012-03-12 17:34:37 -07:00
Brian Anderson
d60813146d std: Sort test failures. Closes #1929 2012-03-12 17:31:17 -07:00
Patrick Walton
59a56ad043 Revert "rustc: Add node IDs to AST types so we can associate them with region environments"
This reverts commit 96e1bbd4a0.
2012-03-12 16:33:55 -07:00
Patrick Walton
96e1bbd4a0 rustc: Add node IDs to AST types so we can associate them with region environments 2012-03-12 16:28:15 -07:00
Brian Anderson
772028acdb doc: Add some info about native mods and crust functions 2012-03-12 15:41:11 -07:00
Patrick Walton
db77c38fc9 rustc: Use the name map to resolve region names 2012-03-12 13:58:08 -07:00
Patrick Walton
864ff4707e rustc: Map region names to their functions. Also speed up region checking by 17x. 2012-03-12 13:25:10 -07:00
Brian Anderson
db79f3c0a5 rt: Remove arbitrary limit on size of port queue. Closes #1245 2012-03-12 13:24:09 -07:00
Patrick Walton
47bfd4f4e9 rustc: Refactor regions to handle nested functions properly and fix the subtyping relation 2012-03-12 12:43:47 -07:00
Tim Chevalier
664d71f1f0 Improve a typechecker error message (wrong type for main())
As per #1903, state what type is expected for main().

Closes #1903
2012-03-11 20:55:19 -07:00
Tim Chevalier
fde4c1efbb Document what the type of the main() function should be 2012-03-11 20:55:12 -07:00
Tim Chevalier
d7ae9f1370 Docs for infinite loops 2012-03-11 20:17:37 -07:00
Tim Chevalier
813c41362b A few tests for infinite loops 2012-03-11 20:17:27 -07:00
Brian Anderson
a0a230de83 doc: Add 'crust' to keywords 2012-03-11 18:05:51 -07:00
Patrick Walton
46aec2c960 rustc: Record the parent function of each function 2012-03-11 17:02:16 -07:00
Brian Anderson
8f071bb841 rustdoc: Add indexes to native mods. Closes #1963 2012-03-11 16:36:20 -07:00
Patrick Walton
cb1efb0092 rustc: Fix long lines 2012-03-11 16:18:52 -07:00
Patrick Walton
8f9afec5a3 rustc: Turn on errors for region checking 2012-03-11 13:29:23 -07:00
Patrick Walton
3e8bb22af1 rustc: Unify regions in most cases. (Nested functions aren't properly handled yet.) 2012-03-11 13:28:43 -07:00
Patrick Walton
f7efc29b38 rustc: Determine regions for locals 2012-03-11 12:36:56 -07:00
Patrick Walton
e968672ac7 rustc: Map local variables to their containing blocks so we know their regions 2012-03-11 12:05:17 -07:00
Tim Chevalier
d3035a1b20 Fix test so it terminates, and un-xfail it
Still need more tests for loop{}
2012-03-10 21:19:02 -08:00
Tim Chevalier
40a5c56345 Fix Windows build breakage 2012-03-10 20:44:10 -08:00
Tim Chevalier
9838a7ec54 Tweak some test cases and add a few new ones 2012-03-10 20:38:03 -08:00
Tim Chevalier
eb9d0e89d1 wibble 2012-03-10 20:36:48 -08:00
Tim Chevalier
8ab075ee45 Clean up occurs check code and give non-breaking loop {..}s _|_ type
The latter change is so that code dominated by a loop{ } without a
break gets considered unreachable.

The former change is just cosmetic (occurs_check_fails was a predicate
when it should be a unit-typed function that can fail).
2012-03-10 20:35:41 -08:00
Tim Chevalier
205cefdc6e In typestate, consider infinite loops w/ conts to be infinite
If a loop { } contains a cont, that doesn't affect whether the entire
loop diverges. Only breaks affect that. Fix that in typestate.
2012-03-10 20:34:57 -08:00
Tim Chevalier
35400e13ad Use loop instead of while(true) in libraries and compiler itself
And remove spurious fails/unreachable() calls.
2012-03-10 20:34:17 -08:00
Tim Chevalier
98260a2a22 Handle infinite-loop poststate correctly in typestate
If control passes an infinite loop (that doesn't have non-local
exits), then everything is true.
2012-03-10 20:15:27 -08:00