Commit Graph

13898 Commits

Author SHA1 Message Date
Erick Tryzelaar
68746cd4fb librustc: change driver::session::Session::str_of to return @~str 2013-02-19 10:11:05 -08:00
Erick Tryzelaar
b90ccc9a38 librustc: minor cleanup 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
ae86c03af2 librustc: change check_item_non_camel_case_types to not copy 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
3c0eca7940 librustc: convert creader and cstore to use @~strs 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
a18e7d6656 librustc: minor cleanup 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
53951afe48 librustc: convert lint_dict to take @~strs as keys 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
04334c1ae0 librustc: convert LangItemsCollector::item_refs to take @~str as a key 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
e95f21f7be convert SyntaxExtensions's key to a @~str 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
de5fdaf934 convert ast::meta_items to take @~strs 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
a2b754788d convert syntax::attr to use @~strs 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
1808d747f6 Alias HashMap<~str, SyntaxExtension> to SyntaxExtensions 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
27e235b64a libsyntax and librustc: minor cleanup 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
1a5b8e4aba libsyntax: change attr:get_attr_name to take a ref 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
bc62bd3782 libsyntax: make enum variants take refs 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
59ba4fc104 syntax: fix the indentation of a function 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
e6d84268fa Change functions from taking ~str to taking &str 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
9da641bd8c libsyntax: convert interner into a modern struct 2013-02-19 10:02:50 -08:00
Seo Sanghyeon
a29023e9b2 Check type when struct is matched against enum-like pattern
Previously check always succeeded because struct type was derived from
the matched expression, not the matched pattern.
2013-02-20 02:44:02 +09:00
bors
f68335113b auto merge of #5002 : catamorphism/rust/one-tuples, r=graydon
r? @graydon - This is for greater uniformity (for example, macros that generate
tuples). rustc already supported 1-tuple patterns, but there was no
way to construct a 1-tuple term.

@graydon , as far as your comment on #4898 - it did turn out to be solvable inside the macro (since @luqmana already fixed it using structs instead), but I still think it's a good idea to allow 1-tuples, for uniformity. I don't think anyone is likely to trip over it, and I'm not too worried that it changes the amount of ambiguity.
2013-02-19 09:14:33 -08:00
Graydon Hoare
2ec958db5a test: fix seeded_rng uses 2013-02-19 08:56:37 -08:00
Kang Seonghoon
f513c567cb fix ICE after incorrect number of args in calls 2013-02-20 00:53:54 +09:00
Ted Horst
9ecb8a60ed update copyright dates 2013-02-19 09:53:03 -06:00
Ted Horst
45f34059af move shootout-mandelbrot to LinearMap, add depth argument 2013-02-19 09:49:23 -06:00
Graydon Hoare
acc147769e std: update rand-using tests, r=burningtree 2013-02-19 07:38:18 -08:00
Graydon Hoare
8eaf08357c rt: remove export of symbol removed in last commit, r=burningtree 2013-02-19 07:18:46 -08:00
Graydon Hoare
968ab03026 rt: fix memory-unsafe random seed logic, r=valgrindclean 2013-02-19 07:06:36 -08:00
bors
a8efa21333 auto merge of #5014 : Kimundi/rust/incoming, r=graydon
This implements a rust tool similar to go's go tool. It acts as a central hub for the tools rustc, rustdoc, rustpkg, rusti, and also provides shortcuts for directly compiling and running a source file either as a normal or a test executable. Default usage message:

```
The rust tool is a convenience for managing rust source code.
It acts as a shortcut for programs of the rust tool chain.

Usage:	rust <command> [arguments]

The commands are:

    build   compile rust source files
    run     build a executable, and run it
    test    build a test executable, and run it
    doc     generate documentation from doc comments
    pkg     download, build, install rust packages
    sketch  run a rust interpreter
    help    show detailed usage of a command

Use "rust help <command>" for more information about a command.
```
2013-02-19 06:18:42 -08:00
bors
28e8542c54 auto merge of #5028 : catamorphism/rust/bsd-breakage, r=catamorphism 2013-02-18 23:16:34 -08:00
bors
396f911925 auto merge of #5017 : catamorphism/rust/less-copy, r=catamorphism 2013-02-18 22:06:33 -08:00
bors
24603afc93 auto merge of #5010 : youknowone/rust/match_const_typecheck, r=catamorphism
Fix of issue #4968
2013-02-18 20:18:34 -08:00
Tim Chevalier
dc30cc356b core: Fix BSD breakage, I hope 2013-02-18 20:12:17 -08:00
bors
6351515d98 auto merge of #5005 : alexcrichton/rust/bitv++, r=catamorphism
These commits take the old bitv implementation and modernize it with an explicit self, some minor touchups, and using what I think is some more recent patterns (like `::new` instead of `Type()`).

Additionally, this adds an implementation of `container::Set` on top of a bit vector to have as a set of `uint`s. I initially tried to parameterize the type for the set to be `T: NumCast` but I was hitting build problems in stage0 which I think means that it's not in a snapshot yet, so it's just hardcoded as a set of `uint`s now. In the future perhaps it could be parameterized. I'm not sure if it would really add anything, though, so maybe it's nicer to be hardcoded anyway.

I also added some extra methods to do normal bit vector operations on the set in-place, but these aren't a part of the `Set` trait right now. I haven't benchmarked any of these operations just yet, but I imagine that there's quite a lot of room for optimization here and there.
2013-02-18 18:40:33 -08:00
bors
9ba2e65fd6 auto merge of #5004 : luqmana/rust/rename-use-import, r=catamorphism
Seems like my previous pull request got lost along the way somehow. So here it is updated.
2013-02-18 17:48:34 -08:00
Tim Chevalier
aa284de1fc rustc: For one-tuples, make parsing and printing the type work
and add a test to reflect-visit-data
2013-02-18 17:45:56 -08:00
bors
d0b5016af2 auto merge of #5001 : jld/rust/test-pub-fn-main, r=catamorphism 2013-02-18 16:40:33 -08:00
Tim Chevalier
43dc67b74a rustc: Less copy in trans, rs=removing copies 2013-02-18 15:53:37 -08:00
bors
ec161edc16 auto merge of #4998 : thestinger/rust/vec, r=catamorphism 2013-02-18 15:48:34 -08:00
bors
df4273f874 auto merge of #4996 : luqmana/rust/no-rec-pipes, r=catamorphism
Removes the last use of structural records in the pipes extension and with that, libcore has no more structural records.
Also, explicit-self-ification.
2013-02-18 14:42:36 -08:00
Marvin Löbel
726fc877d1 Added rust convenience tool similar to go's go tool 2013-02-18 23:11:08 +01:00
bors
1171a214a6 auto merge of #4979 : z0w0/rust/issue-1301, r=catamorphism 2013-02-18 13:50:36 -08:00
bors
a2068f1b21 auto merge of #4890 : jld/rust/enum-newtype-alignment, r=catamorphism 2013-02-18 10:02:48 -08:00
Jeong YunWon
092b6114c1 add missing typecheck for const pattern match arm
Issue #4968
2013-02-19 00:56:02 +09:00
Alex Crichton
cf2ddf0437 Add benchmarks to measure differences in bit vectors 2013-02-18 01:24:14 -05:00
Alex Crichton
bf8ed45adc Implement Set container on top of a bit vector 2013-02-17 23:09:21 -05:00
Alex Crichton
393a4b41f6 Favor local closures instead of global functions 2013-02-17 23:09:21 -05:00
Alex Crichton
dc7e6abab7 Remove the 'uint_bits' constant in bitv 2013-02-17 23:09:21 -05:00
Alex Crichton
a01ef8ef87 Change SmallBitv to use uint instead of u32 2013-02-17 23:09:20 -05:00
Alex Crichton
91fae27912 Modernize bitv mut fields and explicit self 2013-02-17 23:09:20 -05:00
Luqman Aden
5b5ac331db Long lines. 2013-02-17 21:53:29 -05:00
Luqman Aden
0f09c106f0 libsyntax: Update view_item_use/import to reflect actual usage 2013-02-17 21:45:00 -05:00
Tim Chevalier
612553cb39 syntax: Allow 1-tuple expressions
This is for greater uniformity (for example, macros that generate
tuples). rustc already supported 1-tuple patterns, but there was no
way to construct a 1-tuple term.
2013-02-17 15:52:05 -08:00
Jed Davis
9939d88e8d pub fn main for run-pass tests that didn't have it 2013-02-17 14:36:43 -08:00
Jed Davis
e8732bde5e Tests shouldn't read from stdin.
As far as I can tell, the only reason run-pass/type-use-i1-versus-i8
is trying to do a read is because that code was left over from the
original program the issue was found in.  When that test is run as
part of check-fast, and apparently only in that case, the test blocks
indefinitely, which is bad.
2013-02-17 14:32:46 -08:00
Jed Davis
7c34908e69 pub fn main 2013-02-17 12:20:42 -08:00
Jed Davis
d009c6330b Make univariant enums act like structs, so that they're aligned correctly.
Consts of such enums are aligned correctly, so we could either misalign
them to match the type_of, or fix the type_of.  The latter seems like a
better idea.
2013-02-17 12:20:42 -08:00
Daniel Micay
6956e81c9b vec: grow_fn doesn't require Copy 2013-02-17 14:09:09 -05:00
Luqman Aden
baeac2f9ac libsyntax: Long lines. 2013-02-17 05:25:26 -05:00
Luqman Aden
de57bacf43 libsyntax: Explicit-self-ify pipes compiler. 2013-02-17 05:25:26 -05:00
Luqman Aden
0126af3144 libsyntax: Remove last use of structural records in pipes compiler. 2013-02-17 05:25:26 -05:00
bors
a6945f2a45 auto merge of #4993 : thestinger/rust/deque, r=graydon
Closes #3748 and #2343.
2013-02-16 23:30:38 -08:00
bors
9ea05a4d3e auto merge of #4978 : z0w0/rust/issue-607, r=graydon 2013-02-16 22:39:29 -08:00
Zack Corr
0991437c3b rustc: Don't copy in add_used_link_args 2013-02-17 14:59:04 +10:00
Seth Pink
60bd4a5385 Removed more capture claueses. 2013-02-17 12:41:45 +10:00
Daniel Micay
8b38e07f24 deque: get rid of Copy requirement
Closes #3748
2013-02-16 21:35:09 -05:00
Daniel Micay
5aa0463564 deque: avoid Copy in grow 2013-02-16 21:34:09 -05:00
Daniel Micay
a257329071 deque: avoid Copy for get 2013-02-16 20:51:04 -05:00
Seth Pink
1f4c758f9b Remove use of capture clause #4965 2013-02-17 11:02:23 +10:00
Daniel Micay
6190661018 deque: avoid Copy in pop_{front,back} 2013-02-16 19:44:58 -05:00
Daniel Micay
373c072e83 deque: avoid Copy in peek_{front,back} 2013-02-16 19:10:10 -05:00
Daniel Micay
5929f15999 deque: avoid Copy in the get function 2013-02-16 19:05:27 -05:00
Daniel Micay
5832fe968f deque: separate the methods that need Copy 2013-02-16 19:00:51 -05:00
Daniel Micay
15879d3f74 deque: rm old return statements 2013-02-16 18:57:45 -05:00
Daniel Micay
ed7c9c4e2a add a Mutable implementation (clear) to std::deque 2013-02-16 18:57:01 -05:00
Daniel Micay
b47e1e9eda modernize std::deque
* use a proper exported data type with private fields
* implement core::container::Container
* use the current constructor convention
* use explicit self
* get rid of DVec and the mutable fields

Closes #2343
2013-02-16 18:20:54 -05:00
bors
945ac428b8 auto merge of #4977 : z0w0/rust/endianattr, r=catamorphism
```rust
#[cfg(target_endian = "little")]
fn something() { /* .. */ }

#[cfg(target_endian = "big")]
fn something() { /* .. */ }
```
2013-02-16 13:59:24 -08:00
bors
8d8c25b825 auto merge of #4980 : pcwalton/rust/sizing-type-of, r=pcwalton
...locking-servo

`simplify_type` was bogus, as there was no way for it to handle enums
properly. It was also slow, because it created many Rust types at runtime. In
general creating Rust types during trans is a source of slowness, and I'd like
to avoid doing it as much as possible. (It is probably not possible to
eliminate it entirely, due to `subst`, but we should get rid of as much of it
as we can.) So this patch replaces `simplify_type` with `sizing_type_of`,
which creates a size-equivalent LLVM type directly without going through a
Rust type first.

Because this is causing an ICE in Servo, I'm rubber stamping it.
2013-02-16 13:03:25 -08:00
bors
65aa2594c0 auto merge of #4976 : thestinger/rust/vim, r=nikomatsakis 2013-02-16 11:55:59 -08:00
bors
c53b4f3b91 auto merge of #4975 : thestinger/rust/rt, r=nikomatsakis 2013-02-16 11:03:58 -08:00
Patrick Walton
548c0982ca librustc: Remove simplify_type and replace with sizing_type_of. rs=blocking-servo
`simplify_type` was bogus, as there was no way for it to handle enums
properly. It was also slow, because it created many Rust types at runtime. In
general creating Rust types during trans is a source of slowness, and I'd like
to avoid doing it as much as possible. (It is probably not possible to
eliminate it entirely, due to `subst`, but we should get rid of as much of it
as we can.) So this patch replaces `simplify_type` with `sizing_type_of`,
which creates a size-equivalent LLVM type directly without going through a
Rust type first.

Because this is causing an ICE in Servo, I'm rubber stamping it.
2013-02-16 10:20:52 -08:00
Zack Corr
19eb225bc2 Support link_args at the crate level. Closes #1301 2013-02-17 01:21:56 +10:00
Zack Corr
fe9f1d155a syntax: Implement recursive sorting of meta items. Closes #607 2013-02-17 00:31:57 +10:00
Niko Matsakis
d3f3d0731c update this test to use the new syntax entirely 2013-02-16 08:03:58 -05:00
Niko Matsakis
6c728e32c0 Parse (and discard) lifetime declarations on function types 2013-02-16 08:03:58 -05:00
Niko Matsakis
ad8b437ada Make 'foo use font-lock-builtin-face, like module names, and make capitalized identifiers optionally use font-lock-type-face 2013-02-16 08:01:10 -05:00
Niko Matsakis
1ef8c48a20 emacs mode: Highlight 'foo as a lifetime, not a character constant. 2013-02-16 08:01:10 -05:00
Niko Matsakis
c7f85003a3 Permit lifetimes to appear in type parameter lists and after &. Lifetimes in
type parameter lists are currently ignored, but `&'a T` is equivalent to
`&a/T`.
2013-02-16 08:01:10 -05:00
Zack Corr
0e83102219 Add target_endian crate cfg. Closes #4367 2013-02-16 22:42:00 +10:00
Daniel Micay
5c75f210ba vim: move keyword is gone 2013-02-16 03:17:26 -05:00
Daniel Micay
59bb9c2f1a rm unused reserve_vec from rt (done in libcore) 2013-02-16 02:56:00 -05:00
bors
9ad8a1f465 auto merge of #4973 : thestinger/rust/rt, r=brson 2013-02-15 22:06:48 -08:00
Graydon Hoare
585d6f7b00 rustpkg: Massage for landing. 2013-02-15 18:50:51 -08:00
Zack Corr
d4e71da6ca rustpkg: Fix do listeners and support custom test logic 2013-02-15 18:04:11 -08:00
Zack Corr
15440f4236 rustpkg: Add info command for probing a pkg.rs and expose work_dir/src_dir in librustpkg 2013-02-15 18:04:11 -08:00
Zack Corr
efe5a0a61c rustpkg: Use pkg.rs instead of package.rs for consistency 2013-02-15 18:04:11 -08:00
Zack Corr
b10dc1af06 Move semver to std and finish rustpkg 2013-02-15 18:04:10 -08:00
Zack Corr
2192d11cd1 Correct Zack Corr's email in AUTHORS.txt 2013-02-15 18:04:10 -08:00
Zack Corr
787ddb4b7c rustpkg: Clean up formatting issues 2013-02-15 18:04:10 -08:00
Zack Corr
c82183de19 rustpkg: More fixes 2013-02-15 18:04:10 -08:00
Zack Corr
e34e072d17 rustpkg: Add do command and get cmd listeners working correctly 2013-02-15 18:04:10 -08:00
Zack Corr
7079441843 rustpkg: Add preliminary imperative API support 2013-02-15 18:04:10 -08:00