Kevin Atkinson
4616117f17
Bug fix in lookup_byte_offset.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
da74a7f9ca
Make macro arg optional in syntax, again untested.
2012-02-03 20:41:48 -07:00
Kevin Atkinson
5ea04c65c1
Add support for recognizing macro body, completely untested.
2012-02-03 20:41:48 -07:00
Kevin Atkinson
e76fdeb3a6
Change the type for the macro body to also store the span.
...
Note: the body is the part of the macro syntax between the {}.
2012-02-03 20:41:48 -07:00
Kevin Atkinson
099290bc73
When replacing $(...) with $0 preserve spacing for better error messages.
...
That is:
x + $(foo) + y
becomes:
x + $0 + y
not:
x + $0 + y
2012-02-03 20:41:37 -07:00
Kevin Atkinson
c0f9073557
Expand result of quasi-quote.
2012-02-03 20:39:00 -07:00
Kevin Atkinson
67e961c17f
Implement anti-quotes.
2012-02-03 20:38:44 -07:00
Kevin Atkinson
477714f08e
Implement "replace" function.
2012-02-03 20:28:12 -07:00
Kevin Atkinson
485e489ba2
Implement basic quasi-quoter. No anti-quotes yet.
2012-02-03 20:28:11 -07:00
Kevin Atkinson
98450d0dad
Rename AST builders to use uniform naming scheme. Also add a few more.
2012-02-03 20:28:11 -07:00
Kevin Atkinson
5ef53382ae
Add support for parsing quasi-quotes, doesn't do anything useful yet.
2012-02-03 20:23:49 -07:00
Kevin Atkinson
75edd9ff69
Move useful ast building functions into their own module.
2012-02-03 17:48:17 -08:00
Kevin Atkinson
9dcb674525
Add function to get a code snippet from a span,
...
and also to get the byte offset within a string from a span chpos.
2012-02-03 17:48:17 -08:00
Marijn Haverbeke
61367e3c27
Fix prefixing of logging paths with crate name
2012-02-03 22:12:09 +01:00
Tom Lee
31b0d1b4bd
core: rename str::lteq to str::le
2012-02-03 14:09:44 +01:00
Marijn Haverbeke
633e4502e7
Clean up and update trans::ty_ctxt type definition
...
It had been messed up by the pretty-printer at some point, and was
partially out of date.
2012-02-03 14:09:16 +01:00
Marijn Haverbeke
3bcd4fe6fa
Start on in-crate monomorphizing
...
Adds a --monomorpize flag to rustc to turn it on. You probably don't
want to use it yet, since it's broken in a whole bunch of ways, but it
successfully monomorphizes simple generic functions called from within
the crate.
Issue #1736
2012-02-03 14:07:35 +01:00
Marijn Haverbeke
43ce38375d
Store item paths in ast_map, get rid of trans::local_ctxt
...
The direct motivation for this was that the monomorphizer needs to be
able to generate sane symbols for random items. The typechecker can
probably also use this in the future to provide more useful error
messages.
2012-02-03 11:34:12 +01:00
Marijn Haverbeke
c1b075d042
Remove experimental GC code
...
It's been sitting unused long enough to have bitrotted completely.
2012-02-03 11:34:12 +01:00
Marijn Haverbeke
743c62e1ce
Fix assumption in mut.rs that op overloading breaks
...
Closes #1733
2012-02-02 08:11:20 +01:00
Brian Anderson
2b67de06c8
rustdoc: Add support for type items
2012-02-01 22:41:54 -08:00
Kevin Cantu
8f367ebfeb
Rename (again) str::unsafe::slice -> str::unsafe::slice_bytes and
...
str::unsafe::safe_slice -> str::unsafe::slice_bytes_safe_range
2012-02-01 21:56:53 -08:00
Kevin Cantu
fceec03da0
Propagating unsafe::slice 3
2012-02-01 21:56:53 -08:00
Kevin Cantu
6156bc56cb
Propagating unsafe::slice 2
2012-02-01 21:56:53 -08:00
Niko Matsakis
196d69beb2
make boxes self-describing ( fixes #1493 )" (take 2)
...
this will be used to generate a new snapshot.
2012-02-01 18:52:08 -08:00
Niko Matsakis
3116643806
Revert "make boxes self-describing ( fixes #1493 )" until a new
...
snapshot is prepared.
2012-02-01 18:50:19 -08:00
Niko Matsakis
c36207bfb8
make boxes self-describing ( fixes #1493 )
2012-02-01 18:18:07 -08:00
Marijn Haverbeke
2dbaa05af8
Remove support for native types
...
Issue #1673
2012-02-01 12:23:13 +01:00
Marijn Haverbeke
c6aead7281
Get rid of native types in LLVM module
...
Code is still somewhat kludgy because we don't have 32-bit enums.
Issue #1673
2012-02-01 12:23:13 +01:00
Tim Chevalier
e5d095d67e
Change option::t to option
...
Now that core exports "option" as a synonym for option::t, search-and-
replace option::t with option.
The only place that still refers to option::t are the modules in libcore
that use option, because fixing this requires a new snapshot
(forthcoming).
2012-01-31 17:05:20 -08:00
Kevin Cantu
03b8c8df01
Rename str::from_byte(s) to str::unsafe::from_byte(s),
...
mark them as unsafe,
make comp/driver/driver.rs use str::from_bytes...
2012-01-31 14:29:10 -08:00
Graydon Hoare
24668d7578
Merge pull request #1713 from killerswan/manpg
...
Updating the manpage and usage message
2012-01-31 14:09:48 -08:00
Tim Chevalier
45c1dfe5b3
Don't compute pre- and postconditions for item_consts
...
Since item_consts can't refer to or modify local variables, they
don't participate in typestate and thus get empty pre and
postconditions by default.
Closes #1660
2012-01-31 11:52:46 -08:00
Tim Chevalier
fba35e1a3c
Require alts to be exhaustive
...
middle::check_alt does the work. Lots of changes to add default cases
into alts that were previously inexhaustive.
2012-01-31 10:08:24 -08:00
Marijn Haverbeke
813a55d891
Move walk_ty to stack closure
2012-01-31 13:02:46 +01:00
Marijn Haverbeke
25d60172d6
Don't consider references to nullary tag variants lvals in kind.rs
...
This allows us to express option::map with noncopyable type
parameters, which makes sense, since the type params aren't being
copied (none doesn't contain any).
2012-01-31 13:02:46 +01:00
Kevin Cantu
8abcafe7ad
Updating the manpage and usage message
2012-01-30 19:02:20 -08:00
Brian Anderson
0e498da47e
rustc: Allow attributes on methods. Closes #1709
2012-01-30 11:43:45 -08:00
Paul Woolcock
6ba3d24355
Remove ternary operator
...
`expr_ternary`, `ternary_to_if`, and all parses & lexer definitions have
been removed.
2012-01-30 18:21:19 +01:00
Paul Woolcock
e1251f7b00
Change all ternary ops to if/then/else
...
All the files below had at least one instance of the ternary operator
present in the source. All have been changed to the equivalent
if/then/else expression.
2012-01-30 18:21:01 +01:00
Marijn Haverbeke
86d473ad1f
Substitute type parameters more eagerly
...
This simplifies the typechecker a bit (no more ty_param_substs_opt_and_ty)
and is needed for another experiment I'm playing with. I hope it also
makes compilation faster (the bots will tell).
2012-01-30 17:28:30 +01:00
Marijn Haverbeke
964bd485c6
Revert self types
2012-01-30 11:37:52 +01:00
Marijn Haverbeke
98c3396ab6
Remove trailing whitespace in debuginfo.rs
2012-01-30 10:21:25 +01:00
Marijn Haverbeke
55c938b2c2
Only build debuginfo blocks for blocks that appear in the program text
...
I.e. a set of curly braces, not everything that creates a block
context in the trans pass.
Issue #1694
2012-01-30 10:06:06 +01:00
Brian Anderson
0ec92a4ca7
rustc: Add a missing llvm linkage type
2012-01-29 23:27:54 -08:00
Brian Anderson
c77f1d47f8
rustc: Add some missing llvm defs. Fix comments
2012-01-29 23:10:39 -08:00
Marijn Haverbeke
2740a6b605
Fix mistake in previous commit
2012-01-29 19:57:57 +01:00
Marijn Haverbeke
d6996c0210
Fix bug where resolve didn't descend method ty params
...
Closes #1700
2012-01-29 19:46:36 +01:00
Erick Tryzelaar
259636a112
core: rename vec::position* functions
...
Almost all of the vec functions that predicates don't have a
corresponding function that takes a single element, so this
commit renames the common fn usecase to be the default.
2012-01-28 09:18:34 -08:00
Josh Matthews
a831e7ce13
Merge remote-tracking branch 'mozilla/master'
2012-01-28 11:50:48 -05:00