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