Felix S. Klock II
1cbf0a84dc
Step one for 'proper' pub condition: support pub keyword in form.
2013-05-06 19:05:36 +02:00
Huon Wilson
5e1d6c2c80
libsyntax: add #[deriving(Rand, ToStr)].
...
The former fills each field of a struct or enum variant with a random
value (and picks a random enum variant). The latter makes the .to_str
method have the same output as fmt!("%?", ..).
2013-05-07 01:33:54 +10:00
Huon Wilson
1cf2108a2b
libsyntax: convert #[deriving(IterBytes)] to generic deriving
2013-05-07 01:33:54 +10:00
Huon Wilson
b20eb970e1
libsyntax: extend generic deriving code to handle almost all possible traits.
...
This adds support for static methods, and arguments of most types, traits with
type parameters, methods with type parameters (and lifetimes for both), as well
as making the code more robust to support deriving on types with lifetimes (i.e.
'self).
2013-05-07 01:33:54 +10:00
Niko Matsakis
6c0c3a44bd
Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze
2013-05-06 09:00:50 -04:00
Niko Matsakis
2ea52a38e5
refinement to technique used to not run regionck
2013-05-06 09:00:37 -04:00
Brendan Zabarauskas
0e2242f6d6
Add assert_approx_eq! macro
2013-05-06 21:51:48 +10:00
Niko Matsakis
7b36e34c89
Fix two more write guard failures
2013-05-05 21:05:37 -04:00
Niko Matsakis
4300d4d2fa
Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze
...
Conflicts:
src/libcore/core.rc
src/libcore/hashmap.rs
src/libcore/num/f32.rs
src/libcore/num/f64.rs
src/libcore/num/float.rs
src/libcore/num/int-template.rs
src/libcore/num/num.rs
src/libcore/num/strconv.rs
src/libcore/num/uint-template.rs
src/libcore/ops.rs
src/libcore/os.rs
src/libcore/prelude.rs
src/libcore/rt/mod.rs
src/libcore/unstable/lang.rs
src/librustc/driver/session.rs
src/librustc/middle/astencode.rs
src/librustc/middle/borrowck/check_loans.rs
src/librustc/middle/borrowck/gather_loans.rs
src/librustc/middle/borrowck/loan.rs
src/librustc/middle/borrowck/preserve.rs
src/librustc/middle/liveness.rs
src/librustc/middle/mem_categorization.rs
src/librustc/middle/region.rs
src/librustc/middle/trans/base.rs
src/librustc/middle/trans/inline.rs
src/librustc/middle/trans/reachable.rs
src/librustc/middle/typeck/check/_match.rs
src/librustc/middle/typeck/check/regionck.rs
src/librustc/util/ppaux.rs
src/libstd/arena.rs
src/libstd/ebml.rs
src/libstd/json.rs
src/libstd/serialize.rs
src/libstd/std.rc
src/libsyntax/ast_map.rs
src/libsyntax/parse/parser.rs
src/test/compile-fail/borrowck-uniq-via-box.rs
src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs
src/test/run-pass/borrowck-nested-calls.rs
2013-05-05 15:11:04 -04:00
bors
6e6a4be19d
auto merge of #6208 : sanxiyn/rust/accurate-span, r=sanxiyn
2013-05-05 11:12:37 -07:00
Seo Sanghyeon
aca2a00fb4
Fix span tests
2013-05-06 03:09:19 +09:00
Jeong YunWon
cb918e1a83
Allow non-literal static range pattern for match arms
...
Fix unintended error problem of:
static s: int = 1;
static e: int = 42;
fn main() {
match 7 {
s..e => (),
^~ error: expected `=>` but found `..`
_ => (),
}
}
2013-05-05 11:05:06 +09:00
Brian Anderson
8081e8debf
Register snapshots
2013-05-04 15:43:51 -07:00
bors
1f65e4a1d5
auto merge of #6230 : thestinger/rust/whitespace, r=catamorphism
...
I just had `git apply` fix most of them and then did a quick skim over the diff to fix a few cases where it did the wrong thing (mostly replacing tabs with 4 spaces, when someone's editor had them at 8 spaces).
2013-05-04 00:48:37 -07:00
bors
a47e4cb22f
auto merge of #6229 : catamorphism/rust/warning-police, r=catamorphism
2013-05-03 23:48:36 -07:00
bors
821979f928
auto merge of #6219 : dotdash/rust/fmt, r=graydon
...
Only the first portion has to be owned, as it acts as the buffer for the
constructed string. The remaining strings can be static.
2013-05-03 20:48:37 -07:00
Daniel Micay
86efd97a10
add gitattributes and fix whitespace issues
2013-05-03 20:01:42 -04:00
Tim Chevalier
1a5f11a11b
syntax: Warning police
2013-05-03 16:56:34 -07:00
Tim Chevalier
13df2ea69c
rustc: Handle struct patterns where the expected type is an enum
...
Previously, rustc would ICE if you matched on an enum-typed thing
with a structure pattern. Error out correctly.
2013-05-03 13:03:53 -07:00
bors
79aeb529d5
auto merge of #6046 : brson/rust/io, r=graydon
...
r? @pcwalton
Sorry this is so big, and sorry the first commit is just titled 'wip'.
Some interesting bits
* [LocalServices](f9069baa70
) - This is the set of runtime capabilities that *all* Rust code should expect access to, including the local heap, GC, logging, unwinding.
* [impl Reader, etc. for Option](5fbb0949a5
) - Constructors like `File::open` return Option<FileStream>. This lets you write I/O code without ever unwrapping an option.
This series adds a lot of [documentation](https://github.com/brson/rust/blob/io/src/libcore/rt/io/mod.rs#L11 ) to `core::rt::io`.
2013-05-03 09:09:40 -07:00
Björn Steinbrink
2e3e0c0892
Avoid needless creation of unique strings in fmt!()
...
Only the first portion has to be owned, as it acts as the buffer for the
constructed string. The remaining strings can be static.
2013-05-03 12:26:45 +02:00
Brian Anderson
6c478c7de8
Merge remote-tracking branch 'brson/io' into incoming
...
Conflicts:
mk/rt.mk
src/libcore/run.rs
2013-05-02 20:51:56 -07:00
Patrick Walton
dc5df61bc1
librustc: Update the serializer to work properly with INHTWAMA, removing mutable fields in the process
2013-05-02 17:00:51 -07:00
Niko Matsakis
88ec89d3fe
fix numerous dynamic borrow failures
2013-05-02 14:32:37 -04:00
Seo Sanghyeon
a0d8873097
More accurate spans
2013-05-03 02:36:24 +09:00
Jeong YunWon
35b91e2f73
Use static strings
2013-05-03 01:41:09 +09:00
Felix S. Klock II
9862cf703b
More cases of [cfg(test)] instead of [test].
2013-05-02 08:55:08 +02:00
Brendan Zabarauskas
e596128bd8
Remove 'Local Variable' comments
2013-05-02 13:22:04 +10:00
Niko Matsakis
5f886342be
syntax: fix up dynamic borrow errors in libsyntax
2013-05-01 21:50:32 -04:00
bors
55fbc47af1
auto merge of #6148 : erickt/rust/remove-drop, r=pcwalton
...
The drop block has been deprecated for quite some time. This patch series removes support for parsing it and all the related machinery that made drop work.
As a side feature of all this, I also added the ability to annote fields in structs. This allows comments to be properly associated with an individual field. However, I didn't update `rustdoc` to integrate these comment blocks into the documentation it generates.
2013-05-01 09:18:59 -07:00
Erick Tryzelaar
e9688fcfe3
remove some warnings
2013-05-01 07:49:41 -07:00
Erick Tryzelaar
5fee32457f
syntax: remove parse::token::{dtor,literally_dtor}
2013-05-01 07:49:41 -07:00
Erick Tryzelaar
3e3e2f0025
allow parsing attributes on struct fields
2013-05-01 07:49:41 -07:00
Erick Tryzelaar
c2e1f47955
rustc: remove the rest of drop
...
Removes:
ast::struct_def::dtor
syntax::ast::ii_dtor
syntax::visit::fk_dtor
syntax::ast_map::node_dtor
syntax:struct_dtor
2013-05-01 07:49:41 -07:00
Erick Tryzelaar
7d6d0029ba
syntax: remove parsing destructors
2013-05-01 07:49:41 -07:00
Niko Matsakis
84861101ec
rustc: print out filename/line-number when a borrow fails
2013-05-01 09:14:47 -04:00
Brendan Zabarauskas
ee26c7c433
Revert rename of Div to Quot
2013-05-01 15:40:05 +10:00
Brian Anderson
4a4646fd54
Merge remote-tracking branch 'brson/io'
...
Conflicts:
src/libcore/task/local_data_priv.rs
2013-04-30 17:01:27 -07:00
Niko Matsakis
418f991118
allover: numerous unused muts etc
2013-04-30 14:10:21 -04:00
Niko Matsakis
a896440ca1
new borrow checker (mass squash)
2013-04-30 06:59:32 -04:00
Niko Matsakis
202b8dcdc4
adapt to snapshot
2013-04-30 06:43:02 -04:00
Patrick Walton
78f33437b6
libstd: Fix merge fallout.
2013-04-29 14:30:57 -07:00
Patrick Walton
37abf4bad0
librustc: Forbid type implementations on typedefs.
2013-04-29 14:30:57 -07:00
Patrick Walton
670ab8ac36
librustc: Change labels to use the lifetime notation '
.
2013-04-29 14:30:57 -07:00
Patrick Walton
876483dcf4
test: Fix tests.
2013-04-29 14:30:56 -07:00
Patrick Walton
f30f54e9d0
librustc: Remove the concept of modes from the compiler.
...
This commit does not remove `ty::arg`, although that should be
possible to do now.
2013-04-29 14:30:55 -07:00
Patrick Walton
b0522a497c
librustc: Remove ptr::addr_of
.
2013-04-29 14:30:53 -07:00
bors
ea74f6845e
auto merge of #6083 : jbclements/rust/parser-cleanup, r=jbclements
...
r? @pcwalton
A month's worth of parser cleanup here. Much of this is new comments and renaming. A number of these commits also remove unneeded code. Probably the biggest refactor here is splitting "parse_item_or_view_item" into two functions; it turns out that the only overlap between items in foreign modules and items in regular modules was macros, so this refactor should make things substantially easier for future maintenance.
2013-04-29 00:12:37 -07:00
Daniel Micay
46f91a0fa9
make way for a new iter module
2013-04-28 22:31:39 -04:00
John Clements
41af279233
parser comments
2013-04-28 09:51:16 -07:00