Marijn Haverbeke
ff927f18f5
Clean up some FIXMEs in middle:: modules
...
Rename all TODOs to FIXMEs
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
92a45f5582
Move trans::type_of code into its own file
...
Slowly shrinking base.rs
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
d85d4f55f7
Include @ in crate_ctxt and fn_ctxt type definitions
...
So that code using them doesn't have to spell it out constantly.
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
b1d7f252a9
Remove unused tydesc argument to upcall_shared_malloc
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
389aff333d
Make the cleanup tag in resource types a u8
...
Closes #1184
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
5458da0fd9
Remove some checks and associated FIXMEs from trans code
...
Such intentions are better tracked in the bug tracker, don't need
to litter the code with repetetive comments.
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
789a1ae356
Clean up a number of TODOs in the trans modules
...
Rename the ones that I didn't handle to FIXME
2012-02-21 14:20:18 +01:00
Tim Chevalier
4cd3d4ab1e
More work on typechecking classes
...
classes-simple doesn't fail until trans now!
2012-02-20 22:26:19 -08:00
Brian Anderson
4220dcf1e9
core: New task API
2012-02-20 18:58:04 -08:00
Tim Chevalier
ac7aa73b3e
Oops, my whitespace is showing
2012-02-20 17:19:09 -08:00
Tim Chevalier
2299d204e4
Further work on resolving and typechecking classes
...
Class tests aren't working yet, but they fail a little later :-)
Also, make the parser correctly set a constructor's result type to
its enclosing class type.
2012-02-20 17:16:52 -08:00
Tycho Sci
2e63bc5d82
cargo: Use $sysroot/$libdir/cargo as work dir
...
On win32 environment, it's "$sysroot/bin/cargo".
On unix-y environment, it's "$sysroot/lib/cargo".
2012-02-20 17:55:35 +09:00
Brian Anderson
d2294a2d99
rustc: Add missing space to error message
2012-02-18 14:04:24 -08:00
Brian Anderson
4370188055
Merge pull request #1860 from erickt/master
...
add str::find_from_bytes and str::index_from_bytes
2012-02-18 13:17:12 -08:00
Graydon Hoare
ef6f628589
Refactor view_path to parse (but not yet process) export globs, unify code paths.
2012-02-17 23:05:20 -08:00
Brian Anderson
4e44437180
rustc: Make resolve more forgiving of missing external crates
...
Rustdoc needs to be able to resolve locals without resolving externals
2012-02-17 17:34:05 -08:00
Brian Anderson
a5ede9d345
rustdoc: Resolve imports and reexports
2012-02-17 16:00:39 -08:00
Marijn Haverbeke
f7f73c79ec
Move debuginfo into trans
2012-02-17 23:03:12 +01:00
Marijn Haverbeke
ff42964546
Clean up some of trans using block combinators
...
`with_scope` and `with_cond` can be used to wrap a piece of code in a
scope block, or conditionalize it on a value, without doing all the
context-creation and jumping by hand.
Also renames @block_ctxt to block to reduce noise.
2012-02-17 23:03:12 +01:00
Marijn Haverbeke
1c1261bcb8
Simplify get_tydesc's API
2012-02-17 22:47:03 +01:00
Marijn Haverbeke
9f4206cdc4
Clean up block_ctxt representation
2012-02-17 22:47:03 +01:00
Brian Anderson
54d7bffbb8
rt: Make upcall_vec_push an intrinsic
2012-02-17 12:08:03 -08:00
Erick Tryzelaar
042a5222d1
core: rewrite str::byte_index to use vec functions
2012-02-16 18:35:45 -08:00
Marijn Haverbeke
e62ddf4898
More rigorous reuse of cleanup sequences
...
In both landing pads and break/cont/ret unwinding.
Closes #300
2012-02-16 16:37:33 +01:00
Marijn Haverbeke
ea6bb5aafa
Remove to_zero/to_revoke kludge
...
It is much simpler to just move by_move args into a temporary
alloca.
2012-02-16 13:55:17 +01:00
Niko Matsakis
bfff2a8d55
make mut a keyword synonymous with mutable
...
first step towards issue #1273
2012-02-15 13:26:11 -08:00
Niko Matsakis
dddd9908d5
move shape into trans
2012-02-15 13:26:10 -08:00
Marijn Haverbeke
67cc89f38d
Rewrite exhaustiveness checker
...
Issue #352
Closes #1720
The old checker would happily accept things like 'alt x { @some(a) { a } }'.
It now properly descends into patterns, checks exhaustiveness of booleans,
and complains when number/string patterns aren't exhaustive.
2012-02-15 15:47:42 +01:00
Marijn Haverbeke
4b63826050
Replace some explicit fails with 'alt check' invocations
2012-02-15 15:47:42 +01:00
Marijn Haverbeke
16e5760564
Fix bug in safe-reference checker
...
At some point, a refactor broke the code that handled local declarations
to no longer descend into the initializer expressions.
Closes #1846
2012-02-15 11:53:32 +01:00
Marijn Haverbeke
9ff5ba085d
Fix bad line printing for parse errors
...
The code that extracted lines from partially-parsed files
was broken.
Closes #1848
2012-02-15 11:53:32 +01:00
Marijn Haverbeke
6627890f6b
Support 'alt check' syntax
...
It is only a way to flag an alt as intentionally non-exhaustive right now.
Issue #1679
2012-02-15 11:53:32 +01:00
Kevin Atkinson
d6d7134c37
When parsing a source string, fail when the entire string is not parsed.
...
(For now only fail when parse_from_source_str is used to avoid
possible compatibility problems; parse_expr_from_source_str still
does not check.)
2012-02-14 19:37:33 -08:00
Kevin Atkinson
a803a14b56
Bug fix to accept $ in 0th pos, (ie #ast{$(x) + ...}).
...
Note: part from Niko Matsakis commit: rewrite assert to accept a $ in
0th pos.
2012-02-14 19:37:33 -08:00
Kevin Atkinson
3eef8d1419
Correctly handle the character position at the EOF.
...
Fixes issue #1785 .
2012-02-14 19:37:33 -08:00
Kevin Atkinson
379194753c
Use file_substr rather than <anon> when re-parsing quasi-quotes
...
for better error messages.
2012-02-14 19:37:33 -08:00
Kevin Atkinson
0e44133e7c
Do a better job of reporting source location for files (i.e. filemap)
...
that are really a substr of another file.
2012-02-14 19:37:33 -08:00
Kevin Atkinson
74b4345a38
Change file_substr to allow for external strings.
2012-02-14 19:37:33 -08:00
Brian Anderson
214cdd0dee
rustc: Translate crust functions
2012-02-14 11:24:09 -08:00
Brian Anderson
78034aa22a
rustc: Add trans_crust_fn. Don't do anything special yet
2012-02-14 11:24:09 -08:00
Brian Anderson
d7c8cacfde
rustc: Extract native function generation into trans::native
2012-02-14 11:24:09 -08:00
Brian Anderson
c4c89dd684
rustc: Translate the value of crust functions
2012-02-14 11:24:09 -08:00
Brian Anderson
0a503228f6
rustc: Typecheck crust functions as *u8
2012-02-14 11:24:09 -08:00
Brian Anderson
305cbf9b8e
rustc: Parse crust functions
2012-02-14 11:24:09 -08:00
Brian Anderson
6943b38e4f
rustc: Add crust functions to the AST
2012-02-14 11:24:09 -08:00
Brian Anderson
acabd821d2
Merge pull request #1831 from killerswan/str_fixes
...
(core::str) changes to find / find_bytes
2012-02-14 11:22:31 -08:00
Marijn Haverbeke
857ad58dce
Fix double-cleanup bug in patch 57c7645cb83e609ff
...
Things would run fine (probably by sheer luck) but valgrind didn't
approve.
2012-02-14 15:59:41 +01:00
Marijn Haverbeke
57c7645cb8
Allow static method calls to be bound
...
This allows you to take the value of, for example, `[1].len`, or bind
it with `bind x.map(_)` syntax.
I'm holding off on implementing this for dynamic methods (those on
bounded type parameters or iface types) until it's clearer what we
will do with monomorphization.
Issue #435
2012-02-14 13:43:36 +01:00
Marijn Haverbeke
f2e880b750
Add [X].len() to core, use it in trans modules
2012-02-14 13:43:36 +01:00
Marijn Haverbeke
72591496b0
Remove some needlessly repetetive casts in metadata code
2012-02-13 21:08:05 +01:00