Marijn Haverbeke
c988800cf5
Properly walk pat_lit and pat_range in visit.rs
...
Issue #1975
2012-03-14 18:04:31 +01:00
Niko Matsakis
ffa187db25
adjust auto_serialize to generate fns named serialize_T()
...
We used to generate a module T with a serialize() and deserialize() fn,
but this was suboptimal for a number of reasons:
- it required moving serialization into core so that uint etc worked
- it was harder to override the serialization behavior locally
(this is now trivial)
2012-03-14 11:49:28 -04:00
Niko Matsakis
c6f2594319
register new snapshots
2012-03-14 08:02:16 -04:00
Niko Matsakis
7c70d35a10
rewrite unify in a modal style, extend result module
2012-03-13 21:53:14 -04:00
Niko Matsakis
9086c6f5a2
merge all auto_serialize tests into one
2012-03-13 21:30:07 -04:00
Niko Matsakis
b30cb8e43a
implement deserialization, rename mk_mem_buffer() to mem_buffer()
2012-03-13 21:30:07 -04:00
Niko Matsakis
d91742294f
first (functional) version of the auto_serialize syntax ext
2012-03-13 21:30:07 -04:00
Niko Matsakis
06c8acdd31
fixup serialize_variant
2012-03-13 21:30:07 -04:00
Niko Matsakis
bdd0c9387b
get new decorator extensions working
2012-03-13 21:30:06 -04:00
Patrick Walton
c3516f091b
rustc: Allow the addresses of rvalues to be taken
2012-03-13 18:24:14 -07:00
Brian Anderson
ffc1d0a55d
Fix typo in snapshots.txt
2012-03-13 17:57:31 -07:00
Brian Anderson
94421749fe
Register snapshots
2012-03-13 17:38:13 -07:00
Patrick Walton
fc50abe6c5
rustc: Instantiate "caller" regions when calling functions
2012-03-13 17:31:34 -07:00
Brian Anderson
aeb445b2ea
rustc: Don't make the while loop body's basic block a child of the condition
...
As a child of the condition, when the body encounters a ret or break it
incorrectly re-runs the cleanups of the condition.
2012-03-13 17:27:17 -07:00
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
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
813c41362b
A few tests for infinite loops
2012-03-11 20:17:27 -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
Tim Chevalier
e34fad7503
Register snapshots
2012-03-10 20:13:03 -08:00
Brian Anderson
e5eea72677
cargo: Don't bail when signature verification fails
2012-03-10 19:33:09 -08:00
Brian Anderson
87d72303ad
core: Remove empty bessel mod
2012-03-10 18:04:51 -08:00
Brian Anderson
e8f7bb0db1
core: Cleanup bool module
...
Instead of defining a type for bool, just use the bool type directly in order
to be more consistent with other modules. Cleanup the comments a bit.
2012-03-10 18:01:01 -08:00
Brian Anderson
91e5a1c8b3
core: Remove the nearly empty math module
...
This mod only had two functions, all of whose users have been changed
to use the uint module.
2012-03-10 17:43:19 -08:00
Brian Anderson
035197609a
core: Formatting
2012-03-10 17:29:58 -08:00
Brian Anderson
6d4fb35912
core Remove vec::enum_chars/uint. Closes #1955
2012-03-10 17:07:23 -08:00
Brian Anderson
a5368fb6d8
rustdoc: Put native mods on their own pages. Closes #1959
2012-03-10 16:44:48 -08:00
Brian Anderson
474ad2e4de
rustdoc: Fix native mod breakage
2012-03-10 16:43:38 -08:00
Brian Anderson
4bbe33c8eb
rustdoc: Write page titles
2012-03-10 16:21:23 -08:00
Brian Anderson
78d539927a
rustdoc: Remove unused fn
2012-03-10 15:42:08 -08:00
Brian Anderson
d54d9b1cab
rustdoc: Fix generation of impl links. Closes #1953
2012-03-10 15:38:52 -08:00
Brian Anderson
e4bb2d707f
core: Rename vec::tail_n to vec::tailn to match other fns
2012-03-10 00:44:13 -08:00
Brian Anderson
a0f0a704b0
core: Clean up comments and exports
2012-03-10 00:35:02 -08:00
Brian Anderson
95521c4084
std: Convert to rustdoc
2012-03-09 22:56:53 -08:00
Brian Anderson
b22556a6f8
core: Convert to rustdoc
2012-03-09 22:56:53 -08:00
Tim Chevalier
a0521971b1
Merge branch 'master' into floop-for-snapshot
2012-03-09 22:16:52 -08:00
Tim Chevalier
c758ef3f38
Register snapshots
2012-03-09 22:16:15 -08:00
Brian Anderson
e2dad03f44
rustdoc: Change the formatting for enum variants
2012-03-09 21:20:51 -08:00
Brian Anderson
31ce3637da
Merge pull request #1950 from damag/master
...
Update README.txt with the new path to the compiler
2012-03-09 18:17:38 -08:00
Brian Anderson
f9755c666d
rustdoc: Simplify attribute parsing
2012-03-09 18:13:14 -08:00
Brian Anderson
effe4559d2
rustdoc: Accept the first sentence as the brief description
2012-03-09 18:13:14 -08:00
Brian Anderson
4fc5b822e2
rustdoc: Simplify the relation between the brief and long description
...
Brief is just used for indexes now
2012-03-09 18:13:14 -08:00
Damien Grassart
c19ea057fa
The compiler is now in src/rustc
2012-03-10 02:51:38 +01:00
Patrick Walton
e8c7b5347d
rustc: Add a region checking pass
...
Errors aren't reported yet, because the regions aren't properly inferred from the & operator at the moment and that would break the tests.
2012-03-09 17:39:32 -08:00
Brian Anderson
0905ad2bbe
rustdoc: Vastly simplify the document model
...
Don't attempt to impose any structure for documenting arguments, return
values, etc.
2012-03-09 17:24:56 -08:00
Brian Anderson
9f4c0d71e5
rustdoc: Update the demo module
2012-03-09 17:24:56 -08:00
Brian Anderson
e399263b5e
rustdoc: Write sections in markdown
2012-03-09 17:24:56 -08:00
Brian Anderson
0ad8265fee
rustdoc: Add the concept of 'sections'
2012-03-09 17:24:55 -08:00
Tim Chevalier
321fd80219
Add an infinite loop construct
...
Add a loop {} construct for infinite loops, and use it in test
cases. See #1906 for details.
2012-03-09 16:40:58 -08:00
Patrick Walton
4ffcb95974
rustc: Perform region inference
2012-03-09 16:40:37 -08:00
Graydon Hoare
7f55e7d087
Add a couple more missing pieces to libc and os.
2012-03-09 16:38:23 -08:00
Patrick Walton
b7d3874349
rustc: Wrap regions in a node ID
2012-03-09 16:10:11 -08:00
Patrick Walton
7b938d8903
rustc: Add region def ids to the AST
2012-03-09 15:55:13 -08:00
Patrick Walton
e2f6052c6d
Revert "rustc: Create def IDs for region parameters"
...
This reverts commit 0d4cb75949
.
2012-03-09 14:40:36 -08:00
Patrick Walton
0d4cb75949
rustc: Create def IDs for region parameters
2012-03-09 14:06:43 -08:00
Patrick Walton
2975bcdd7d
rustc: Stub a to-string implementation for region types
...
Not too useful without region resolution yet, but there it is.
2012-03-08 18:24:17 -08:00
Patrick Walton
92ed73d0bd
rustc: Add pretty printing support for the address-of operator. Un-XFAIL-pretty simple-regions.rs.
2012-03-08 18:10:07 -08:00
Patrick Walton
c40bfec45d
test: Add a simple region test, xfail'd in the pretty printer
2012-03-08 17:45:36 -08:00
Patrick Walton
8ce6b0dd21
rustc: Add appropriate type predicates for references. Simple uses of references/region pointers now work.
2012-03-08 17:22:43 -08:00
Brian Anderson
256146bba4
rustdoc: Rename desc_pass to text_pass
2012-03-08 17:00:03 -08:00
Patrick Walton
71799cff2b
rustc: Actually write the type back
2012-03-08 16:44:33 -08:00
Patrick Walton
ddeaea2287
rustc: Change the address-of operator to an explicit production so that we can parse the mutability
2012-03-08 16:34:36 -08:00
Patrick Walton
0722786664
rustc: Add some missing cases in various folds for reference types and some broken trans code for the address-of operator
2012-03-08 15:55:28 -08:00
Tim Chevalier
0c5fdc8745
Rename last to last_opt, last_unsafe to last
...
As per discussion on IRC. I am about to file an RFC for further
discussion about the more general issue of whether to enforce
invariants through types, typestate, or dynamic checks, but for now,
removing the misleading name "last_unsafe".
2012-03-08 15:25:56 -08:00
Patrick Walton
8047c0cd68
rustc: Typecheck dereference operations on safe references.
...
They require unsafe blocks for now. This will be removed once they typecheck properly.
2012-03-08 15:08:26 -08:00
Brian Anderson
57596cbe53
rustdoc: Improve formatting of subsection headers
2012-03-08 15:05:13 -08:00
Brian Anderson
7d686d6372
rustdoc: Format return values consistently
2012-03-08 15:05:13 -08:00
Brian Anderson
6ad653bb31
rustdoc: Add some more demo docs
2012-03-08 15:05:13 -08:00
Brian Anderson
ac8b2c8354
rustdoc: Don't bother reporting the type of return values
2012-03-08 15:05:13 -08:00
Brian Anderson
5c28b2c1d1
rustdoc: Don't bother reporting the type of arguments
...
This is already displayed in the function signature. Simpler this way.
2012-03-08 15:05:13 -08:00
Patrick Walton
fcde161f4f
rustc: Stub typechecking for the address-of operator
2012-03-08 14:55:51 -08:00
Tim Chevalier
d048a00cf3
Change util::unreachable to core::unreachable
...
Closes #1931
2012-03-08 14:30:01 -08:00
Patrick Walton
0824d1501b
rustc: Add ty_rptr support to the visitor
2012-03-08 14:23:22 -08:00
Patrick Walton
0e17cdb627
rustc: Add regions to the type system
2012-03-08 14:05:56 -08:00
Tim Chevalier
ebc1d3e704
Rename last_total to last_unsafe
...
See Issue 1943 for any discussion (reopen it if necessary).
Closes #1943
2012-03-08 13:07:31 -08:00
Patrick Walton
c9cf73f0a8
rustc: represend -> represent in a comment
2012-03-08 13:01:08 -08:00
Marijn Haverbeke
e71703db02
Properly serialize is_last_use values
...
They were all normalized to the same thing by the serializer.
2012-03-08 21:29:07 +01:00
Marijn Haverbeke
c71306b0db
Explicitly store self_ids use for self locals in methods
...
This makes it possible to move them between crates without confusion,
and to instantiate them at a point where the monomorphizing
substitutions are known.
Issue #1944
2012-03-08 21:17:32 +01:00
Marijn Haverbeke
fd465f91a8
Drop collect_items pass, create decls on demand
...
This solves a problem with inlined functions that have inner functions.
2012-03-08 21:17:32 +01:00
Patrick Walton
6f8fe78120
rustc: Parse the safe address-of operator
2012-03-08 12:12:04 -08:00
Patrick Walton
ec8380f9b1
rustc: Add the safe address-of operator to the AST
2012-03-08 12:04:02 -08:00
Patrick Walton
19c651f4a1
rustc: Parse region types
2012-03-08 11:26:31 -08:00
Patrick Walton
6224fdcd08
rustc: Add region-annoted type parameters to the AST; stub associated patterns
2012-03-08 10:49:43 -08:00
Patrick Walton
c09e339133
etc: Allow a build dir to be specified in gen-astencode, for out of tree builds
2012-03-08 10:32:36 -08:00
Brian Anderson
bdec806848
rustdoc: Look for pandoc in ~/.cabal
2012-03-07 19:22:02 -08:00
Niko Matsakis
2bfed908e3
Fix #1941 : inlining of items that themselves contain nested items
...
The fix is to drop nested items from the encoded AST. Nested items may
themselves be inlined, but that is an independent question.
2012-03-07 18:06:29 -08:00
Patrick Walton
c9375fed8d
stdlib: Stop incurring vtable dispatch costs when hashmaps are used
...
This required changing almost all users of hashmaps to import the hashmap interface first.
The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.
2012-03-07 17:35:13 -08:00
Patrick Walton
c245d9e980
Revert "stdlib: Stop incurring vtable dispatch costs when hashmaps are used"
...
This reverts commit f0250a23d3
.
2012-03-07 16:56:45 -08:00
Patrick Walton
f0250a23d3
stdlib: Stop incurring vtable dispatch costs when hashmaps are used
...
This required changing almost all users of hashmaps to import the hashmap interface first.
The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.
2012-03-07 16:51:31 -08:00
Brian Anderson
a9bd76b3c1
rustdoc: Implement more rules for generating internal pandoc links
2012-03-07 15:45:16 -08:00
Graydon Hoare
e30611110a
Register new snapshots.
2012-03-07 15:05:43 -08:00
Brian Anderson
7f66df714a
rustdoc: Support #[doc(hidden)]
2012-03-07 14:50:39 -08:00
Tim Chevalier
90ac69904f
Improve a type error message (avoid the word 'non-dereferenceable')
2012-03-07 14:14:34 -08:00
Niko Matsakis
713006c7b6
add mutability annotations to libcore
2012-03-07 07:47:50 -08:00
Marijn Haverbeke
7b81cd8930
Fix #1503 in a saner way
...
Closes #1933
2012-03-07 09:19:29 +01:00
Brian Anderson
e55d7d6add
rustdoc: Remove escaping pass
2012-03-06 20:31:05 -08:00
Brian Anderson
e536e8a933
rustdoc: Don't escape characters between backticks
2012-03-06 20:16:53 -08:00
Brian Anderson
ae5ea85c36
core: Resolve a FIXME in box::ptr_eq
2012-03-06 19:15:39 -08:00
Graydon Hoare
04e7bd6758
More UTF-16 wrapping on win32. Close #1927 .
2012-03-06 18:49:08 -08:00
Brian Anderson
cf8f5b7606
rustdoc: Escape HTML special characters
2012-03-06 17:46:52 -08:00
Brian Anderson
29ac3c811d
rustdoc: Put brief descriptions in the indexes
2012-03-06 17:16:25 -08:00
Brian Anderson
a4ff220133
rustdoc: Write links correctly for multi-page docs
2012-03-06 17:16:25 -08:00
Brian Anderson
801b02b25d
rustdoc: Parallelize markdown_pass
2012-03-06 17:16:25 -08:00
Brian Anderson
513d956dce
rustdoc: Run pandoc in a way that won't deadlock waiting for IO
2012-03-06 17:16:25 -08:00
Brian Anderson
dc0b9f44e2
rt: Change the rust_port refcounting scheme to avoid races
...
Hopefully...
2012-03-06 17:14:40 -08:00
Graydon Hoare
e9571850da
UTF-16-ify the win32 env routines.
2012-03-06 16:03:39 -08:00
Graydon Hoare
0e3dd5a3ee
Export os, libc and path from libcore.
2012-03-06 16:03:39 -08:00
Brian Anderson
dea19b25c9
rustdoc: Detect when pandoc isn't available
2012-03-06 14:48:47 -08:00
Brian Anderson
b8c8e43381
rustdoc: Add some more error reporting for pandoc
2012-03-06 14:48:47 -08:00