Commit Graph

12648 Commits

Author SHA1 Message Date
Patrick Walton
318e534895 rustc: Implement explicit self for Eq and Ord. r=graydon 2012-11-19 15:33:11 -08:00
Graydon Hoare
4101587a88 register snapshots. 2012-11-19 15:13:42 -08:00
Brian Anderson
9bed0ddb0e Fix parsing of interpolated paths 2012-11-19 14:00:39 -08:00
Brian Anderson
371be3c6c4 Remove unused file_type enum from the parser 2012-11-18 18:09:41 -08:00
Brian Anderson
74b2e99797 Report errors better when failing to open files for sub-parsers 2012-11-18 18:09:41 -08:00
Brian Anderson
72cc1aca17 Parse file mods from .rs files 2012-11-18 18:09:41 -08:00
Brian Anderson
ddbff6fd2a syntax: Remove cdir_syntax. Unused 2012-11-18 18:09:41 -08:00
Jesse Jones
e5c9a8a479 Fixed lint problems 2012-11-18 17:05:04 -08:00
Brian Anderson
68c73dc5f2 Whitespace 2012-11-18 15:00:43 -08:00
Brian Anderson
a41903d234 Remove some unused code from lexer 2012-11-18 15:00:21 -08:00
Tim Chevalier
5e4ed709cb Merge pull request #3998 from jesse99/feature/getopts
Added support for options that take no arguments and may be repeated.
2012-11-18 13:56:57 -08:00
Jesse Jones
0fd9c9d054 Made from_str pure 2012-11-18 13:25:27 -08:00
Jesse Jones
361aea94f2 Fixing warnings for long and blank lines 2012-11-18 13:25:26 -08:00
Jesse Jones
333d268b3e Made merge_sort pure 2012-11-18 13:25:26 -08:00
Jesse Jones
6d99a2f8a9 Made more stuff pure.
escape functions in char, io.with_str_reader, base64 and md5sum, cell.empty_cell
and is_empty.
2012-11-18 13:25:26 -08:00
Jesse Jones
15989ecb13 Made most of the URL functions pure.
This closes #3782.
2012-11-18 13:25:25 -08:00
Jesse Jones
c5ab47e7ba Made Result.get, get_ref, is_ok, is_err, and iter methods pure.
Note that the function versions were already pure.
2012-11-18 13:25:25 -08:00
Jesse Jones
2c0dab02ad Made the time to string functions pure as well as empty_tm.
This closes #3919.
2012-11-18 13:25:25 -08:00
Jesse Jones
c58951ea7d Replace TmMut with inherited mutability 2012-11-18 13:25:24 -08:00
Jesse Jones
a9e13586a3 Moved strptime and strftime into private helper functions.
Makes the public API much easier to see and prepares the way for making them pure.
2012-11-18 13:25:24 -08:00
Jesse Jones
68c852ad3a Made Map.contains_key, contains_key_ref, and get pure. 2012-11-18 13:25:24 -08:00
Jesse Jones
d107e586ea Documented fmt! expression syntax.
Closes #3280
2012-11-18 11:00:39 -08:00
Jesse Jones
340955b3a5 Added support for options that take no arguments and may be repeated.
Closes #3568.
2012-11-17 19:43:39 -08:00
Brian Anderson
1a1e99c27d Merge remote-tracking branch 'brson/codemap'
Conflicts:
	src/libsyntax/ext/source_util.rs
2012-11-17 18:38:39 -08:00
Brian Anderson
e621e68c60 Remove unused MultiByteChar.sum field from codemap 2012-11-16 15:52:33 -08:00
Brian Anderson
7c72fd89f1 Add some docs to codemap 2012-11-16 15:15:17 -08:00
Tim Chevalier
428c58b9f9 Forbid duplicate supertraits
I actually already pushed most of this by accident before I meant to, but
r=nmatsakis anyway.

Closes #3953
2012-11-16 15:12:14 -08:00
Brian Anderson
2af088529f Remove incorrect comment from codemap 2012-11-16 14:55:52 -08:00
Graydon Hoare
5005be67cc syntax: rename quote! to quote_tokens!, add quote_{expr,type,item,pat,stmt}!
r=brson, Close #3976.
2012-11-16 14:50:49 -08:00
Brian Anderson
1ac28c36ac Remove unused types from codemap 2012-11-16 14:35:43 -08:00
Brian Anderson
4a5b28ff0c Stop tracking CodeMap offsets in the parse session. Big simplification 2012-11-16 14:22:09 -08:00
Brian Anderson
2374154ded Stop storing char positions in CodeMap 2012-11-16 14:10:17 -08:00
Brian Anderson
81d20156cd Change spans to use byte offsets instead of char offsets 2012-11-16 12:06:44 -08:00
Graydon Hoare
2bf6663cf0 librustc: Fastisel dislikes memmove, switch to memcpy. Perf win, r=catamorphism.
Fastisel actually has a special case for memcpy, the intrinsic, by name.
It has no such special case for memmove, so bails.

Close #3987.
2012-11-16 11:26:26 -08:00
Brian Anderson
8b309e54c7 re-xfail two tests 2012-11-16 11:19:45 -08:00
Tim Chevalier
624fbbd3d1 Update and un-xfail tests 2012-11-15 19:57:46 -08:00
Tim Chevalier
b9b21b2614 Update test and un-xfail it 2012-11-15 19:36:48 -08:00
Tim Chevalier
9d6ab9ae23 Update error message and un-xfail test 2012-11-15 19:36:48 -08:00
Tim Chevalier
39c306eeef Un-xfail working tests 2012-11-15 19:36:44 -08:00
Tim Chevalier
2fd2a56063 Update error message and un-xfail test 2012-11-15 18:41:17 -08:00
Tim Chevalier
f8bd95589f Add comments explaining why these tests are xfailed 2012-11-15 18:41:17 -08:00
Tim Chevalier
d4cc7db138 Un-xfail working test 2012-11-15 18:41:17 -08:00
Tim Chevalier
2f83baf857 Check for duplicate supertraits and forbid them
As per #3953
2012-11-15 18:41:17 -08:00
Tim Chevalier
82017b8416 Make staticness mismatch a fatal error
Exit with a fatal error, instead of recording a non-fatal error,
when we encounter an impl method that's static when its corresponding
trait method isn't (or vice versa). This is because code later on in
the typechecker will expect the staticness of the two methods to be
consistent and ICE otherwise.

r=nmatsakis

Closes #3969
2012-11-15 18:14:13 -08:00
Tim Chevalier
f9ca0c89d8 Add xfailed test for #3979 2012-11-15 18:03:35 -08:00
Brian Anderson
8cba337cce Remove CodeMap.lookup_byte_pos 2012-11-15 17:32:14 -08:00
Patrick Walton
64305174c9 librustc: Fix cross-crate reexports. rs=blocking-servo 2012-11-15 17:15:02 -08:00
Tim Chevalier
cb355bf7ad Update error message and un-xfail test 2012-11-15 17:14:28 -08:00
Tim Chevalier
5da43724bf Add comments explaining why these tests fail 2012-11-15 16:59:07 -08:00
Tim Chevalier
fb47e41411 Un-xfail working tests 2012-11-15 16:59:07 -08:00
Tim Chevalier
6b65aed350 Remove test that tested behavior of unchecked blocks
We don't have unchecked blocks anymore.
2012-11-15 16:59:07 -08:00
Tim Chevalier
d58e0e30ed Update error messages and un-xfail 2012-11-15 16:59:07 -08:00
Tim Chevalier
35b2960d00 Add another test for #3177 2012-11-15 16:59:07 -08:00
Tim Chevalier
1f81e4cbc6 Remove typestate test 2012-11-15 16:59:07 -08:00
Tim Chevalier
f67904ca40 Un-ignore test_from_str and test_parse_buf
Closes #2609
2012-11-15 16:49:57 -08:00
Brian Anderson
187c6c90a1 rt: Don't print backtraces unless the ::rt::backtrace log level is greater than log_err 2012-11-15 15:14:30 -08:00
Brian Anderson
d5e35e3e87 Convert CodeMap and FileMap to use &self instead of @self 2012-11-15 15:00:49 -08:00
Graydon Hoare
1a2eaed43d rustc: make llloadenv bb optional, kill 1.5% of emitted llvm insns. 2012-11-15 14:55:11 -08:00
Brian Anderson
bcccf333ab Add some comments to codemap and lexer 2012-11-15 14:43:31 -08:00
Brian Anderson
4a0f4f5e31 Refactor the lexer to use FilePos types 2012-11-15 14:24:53 -08:00
Tim Chevalier
9b6f025eb6 Rename thread_pool to task_pool
Minor change, no review.

Closes #3972
2012-11-15 12:35:14 -08:00
Tim Chevalier
a0610c952f Add tests for #2190 (xfailed) 2012-11-15 12:35:14 -08:00
Graydon Hoare
59a034a63f rt: bump log levels up by one, fix tautological-compare error (and permit turning off logging entirely). 2012-11-15 12:03:54 -08:00
Patrick Walton
adc4bed773 librustc: Implement (and require) explicit self for derivable traits. r=nmatsakis 2012-11-15 10:26:49 -08:00
Patrick Walton
29e10c91fe librustc: Pass through extra parameters in automatically-derived methods. r=brson 2012-11-15 10:26:40 -08:00
Brian Anderson
b1dff40bae Create CodeMap.add_filemap 2012-11-14 21:56:58 -08:00
Brian Anderson
3a9ccd53e5 Factor out some position management code in the lexer 2012-11-14 21:56:55 -08:00
Niko Matsakis
b7c04d152b Inherit mutability through fixed-length vectors.
Fixes #3226.  No review (one line bug fix).
2012-11-14 19:47:06 -08:00
Ben Striegel
f4a5a76aa4 Convert the test suite to use the Drop trait 2012-11-14 19:26:37 -08:00
Graydon Hoare
6e650f2d2c llvm: fork to disable LiveIRVariabes in GCStrategy. 2012-11-14 18:21:09 -08:00
Graydon Hoare
41f2670633 librustc: discard side tables after translation, before llvm passes. 2012-11-14 18:21:09 -08:00
Brian Anderson
8069d2f266 Track character and byte positions together in the parser 2012-11-14 16:34:50 -08:00
Brian Anderson
872cb5ee8b std: Don't use Drop trait in thread_pool 2012-11-14 16:15:35 -08:00
Ben Striegel
4589597785 Convert libstd to use the Drop trait 2012-11-14 16:15:34 -08:00
Brian Anderson
f67bfe9738 Add types for character position and byte position in the codemap 2012-11-14 15:18:29 -08:00
Brian Anderson
9ecf86343a Camel case all the codemap types except span 2012-11-14 15:18:26 -08:00
Brian Anderson
c44c9a47d8 Revert "Convert libstd to use the Drop trait"
This reverts commit 28c7a25151.
2012-11-14 14:51:16 -08:00
Brian Anderson
11024eaebb rustc: Only strip out the main function when generating test executable, not lib 2012-11-14 14:11:20 -08:00
Brian Anderson
b808eaba37 rustc: Generate test code when in the 'test' config 2012-11-14 14:11:10 -08:00
Ben Striegel
28c7a25151 Convert libstd to use the Drop trait 2012-11-14 12:40:44 -08:00
Brian Anderson
8336cad95d Move two fn assignability tests from compile-fail to run-pass 2012-11-14 12:40:23 -08:00
Brian Anderson
234df9cae0 Long lines 2012-11-14 11:49:59 -08:00
Brian Anderson
f14240b1c8 Remove obsolete const pattern test 2012-11-14 11:43:28 -08:00
Patrick Walton
32ad4ae4cd librustc: Require the #[derivable] attribute, remove the significance of "impl Foo : Bar;", and allow only a subset of methods in a trait to be derived. r=brson 2012-11-14 11:36:55 -08:00
Patrick Walton
3e14ada4f6 rustc: Implement let assignability. r=nmatsakis 2012-11-14 11:26:00 -08:00
Patrick Walton
bad62dcb04 rustc: Allow constants to be used in patterns. r=nmatsakis 2012-11-14 11:06:29 -08:00
Brian Anderson
cf002e9d32 Tools should not be build prereqs of tests. Closes #3946 2012-11-13 18:35:02 -08:00
Patrick Walton
3e850c3c0c librustc: Stop reexporting all of core in every crate. rs=really-bad-bug 2012-11-13 15:46:39 -08:00
Graydon Hoare
f4e107e6c7 whitespace police 2 2012-11-13 11:30:37 -08:00
Graydon Hoare
d2f93fd290 whitespace police 2012-11-13 11:16:19 -08:00
Graydon Hoare
ac0fd0ddc9 rustc: fix pp build breakage. 2012-11-13 10:54:10 -08:00
Patrick Walton
db9f8db741 librustc: Implement deriving with a unit return type. r=tjc 2012-11-13 10:37:58 -08:00
Graydon Hoare
c6d0117bf6 rustc: add new token-tree based quasiquoter. 2012-11-13 08:57:31 -08:00
Graydon Hoare
12b212f38c rustc: Remove the case of foo![...] as invocation syntax. foo!(...) and foo!{...} only. 2012-11-13 08:57:31 -08:00
Graydon Hoare
f7960ac549 Revert "m1!{...} is now forbidden. Use m1!(...) instead."
This reverts commit 89bbaff84f.
2012-11-13 08:57:31 -08:00
Graydon Hoare
4e1ce014c8 cleanup: convert some remaining #foo invocations to foo! form. 2012-11-13 08:57:31 -08:00
Patrick Walton
2b93ab5a21 rustc: Make static methods not leak out of traits. r=brson 2012-11-12 22:11:22 -08:00
Brian Anderson
38b9740668 Remove unused get_snippet function from codemap 2012-11-12 18:36:03 -08:00
Brian Anderson
b22f941487 Make it clearer which codemap functions use chars vs. bytes 2012-11-12 18:35:17 -08:00
Brian Anderson
2ec09c4eb9 Objectify the codemap 2012-11-12 18:24:56 -08:00
Brian Anderson
1ead8aa0b5 Merge pull request #3954 from burg/result-chain
Fix Result::chain, Result::chain_err to not require Copy bounds.
2012-11-12 18:05:29 -08:00
Brian J. Burg
37ed7fcaae Fix Result::chain, Result::chain_err to not require Copy bounds. 2012-11-12 17:53:08 -08:00
Brian Anderson
15a5d2ccbf Convert codemap from legacy_exports 2012-11-12 17:26:02 -08:00
Brian Anderson
d115944809 Remove expn_info box typedef from codemap 2012-11-12 17:19:56 -08:00
Brian Anderson
18a825bda0 Reorder codemap decls 2012-11-12 17:14:15 -08:00
Brian Anderson
5b248a6ca8 Remove CodeMap box typedef from codemap 2012-11-12 17:09:52 -08:00
Brian Anderson
385a4668e5 Reformatting in codemap 2012-11-12 16:47:17 -08:00
Brian Anderson
9fc75e8d66 Move codemap doc comments to the proper place 2012-11-12 16:45:24 -08:00
Brian Anderson
1f3303163c Move filemap ctors to static methods 2012-11-12 16:44:53 -08:00
Brian Anderson
5f881b48cb Remove filemap box typedef from codemap 2012-11-12 16:41:20 -08:00
Brian Anderson
4c68084963 Convert most codemap types from records to structs 2012-11-12 16:21:39 -08:00
Patrick Walton
fe02814a63 rustc: Implement floating point literal inference. r=nmatsakis 2012-11-12 10:39:08 -08:00
Brian Anderson
f05e2da709 Add a test for multiple main functions 2012-11-09 12:13:55 -08:00
Brian Anderson
3f816bdd57 xfail-fast run-pass/pub-use-xcrate 2012-11-08 19:02:25 -08:00
Brian Anderson
166c10e666 std: Eliminate copy warning 2012-11-08 17:14:02 -08:00
Brian Anderson
c78020ef4f Whitespace 2012-11-08 17:11:44 -08:00
Brian Anderson
8643f757a2 rustc: Fix cross-crate reexports. #3908. r=pcwalton 2012-11-08 17:10:48 -08:00
Brian J. Burg
a5718ba377 Change option::expect to not require a Copy bound, and move instead. 2012-11-08 16:25:22 -08:00
Brian Anderson
17020244e4 Merge pull request #3923 from am0d/master
Fixes issue #3891
2012-11-08 12:35:14 -08:00
a_m0d
062ac8cb97 Fix whitespace issues from previous commits.
Also added test for #3891.
2012-11-07 23:49:01 -05:00
Patrick Walton
0fc952372a rustc: Support irrefutable patterns in function arguments. r=nmatsakis 2012-11-07 19:29:30 -08:00
Patrick Walton
b223c9c465 rustc: Autovivify modules even when a type def is present in resolve. Closes #3931. rs=nasty-bug 2012-11-07 14:28:16 -08:00
Brian Anderson
69a8b4d8e2 Rename src/rustc to src/librustc. Use the driver crate 2012-11-07 13:53:39 -08:00
Patrick Walton
f72ef31ede rustc: Long lines 2012-11-07 13:48:09 -08:00
Patrick Walton
2904095570 rustc: Implement the Drop trait. r=brson 2012-11-07 12:34:32 -08:00
Patrick Walton
70886d314d libstd: Implement a thread pool. r=brson 2012-11-07 12:05:41 -08:00
Zack Corr
a54d046174 Implement Ptr trait for mutable unsafe pointers. Closes #3926. 2012-11-07 16:24:29 +10:00
Graydon Hoare
92e3a8c17e rustc: reuse const vals, translate fn paths as consts. Close #2530. 2012-11-06 17:13:52 -08:00
a_m0d
d42cf97bcc Fix trailing whitespace issues 2012-11-06 19:16:01 -05:00
a_m0d
59a592f4c4 Add end_of_file handling to TcpBufferedSocket.
This fixes #3891.

Also removed debug!(...) statement from socket destructor which causes a
crash when the logging level is set to debug.
2012-11-06 19:12:26 -05:00
Niko Matsakis
b0ed151539 Cleanup how we handle proto in types, remove unsound subtyping
Fixes #1896 which was never truly fixed, just masked.
The given tests would have failed had they used `~fn()` and
not `@fn()`.  They now result in compilation errors.

Fixes #2978.

Necessary first step for #2202, #2263.
2012-11-06 08:56:29 -08:00
Brian Anderson
53ec6c3f9b rt: Remove shape code 2012-11-05 15:22:35 -08:00
Brian Anderson
bc3f89e92b rustc: Stop declaring unused upcalls 2012-11-05 15:22:35 -08:00
Patrick Walton
449f4fbb07 rustc: Implement deriving involving generic bounded traits. r=brson 2012-11-05 13:38:45 -08:00
Patrick Walton
be93b29d30 rustc: Implement parsing and typechecking for "once fn" 2012-11-05 13:17:02 -08:00
Brian Anderson
9aadfc3f4b Make std::rl unsafe. #3921 2012-11-05 11:20:44 -08:00
Brian Anderson
849d3ff703 rusti: main must be public 2012-11-04 17:51:57 -08:00
Brian Anderson
6a332b235f rusti's crate type is 'lib' 2012-11-04 17:48:47 -08:00
Brian Anderson
84208b2d26 Librarify rusti, etc. 2012-11-04 17:14:52 -08:00
Brian Anderson
9b723b25c7 Use 0.5 crates in rusti 2012-11-04 14:16:13 -08:00
Brian Anderson
6757eeefe5 Long lines 2012-11-04 14:06:51 -08:00
Brian Anderson
1b0c6665d9 Merge remote-tracking branch 'brson/repl'
Conflicts:
	mk/install.mk
	src/rt/rustrt.def.in
2012-11-04 13:42:39 -08:00
Brian Anderson
799eb105b9 Use a linenoise with win32 support 2012-11-04 13:34:14 -08:00
Brian Anderson
45a908cad0 Merge pull request #3916 from Dretch/iofix
More methods/docs/tests for core::io
2012-11-04 12:51:34 -08:00
Gareth Daniel Smith
fd6f62f9c7 Add more doc-comments for Reader, ReaderUtil, Writer and WriterUtil (loosely associated with issue #2004). 2012-11-04 18:11:37 +00:00
Gareth Daniel Smith
0aba903de7 Add size-specific int reading methods to ReaderUtil to match the existing int writing methods in WriterUtil (for issue #2004). 2012-11-04 10:14:49 +00:00
Zack Corr
a450119b0b Move rusti::rl to std::rl 2012-11-04 15:40:57 +10:00
Daniel Patterson
6c79d78843 library-ifying of tools - turning cargo, rustdoc, fuzzer, into libraries, as per #3543 2012-11-03 18:23:43 -07:00
Tim Chevalier
563aa0bf6c Remove the last use of rustrt::rust_compare_and_swap_ptr
Closes #3527

r=brson
2012-11-03 14:11:30 -07:00
Tim Chevalier
a006608276 Remove stage0 stuff that was awaiting snapshot
and re-register snapshots

Just removing unneeded code, no review
2012-11-03 14:04:32 -07:00
Gareth Daniel Smith
a42d2d408a Fix a bug where .write([]) would always fail. 2012-11-03 18:48:02 +00:00
Tim Chevalier
444a16a7e8 Revert "Register snapshots"
This reverts commit 04671b250d.
2012-11-03 00:22:29 -07:00
Tim Chevalier
04671b250d Register snapshots 2012-11-03 00:14:47 -07:00
Brian Anderson
762101b72a syntax: Fold macros in default methods. Closes #3911 2012-11-02 23:11:36 -07:00
Patrick Walton
b90d7d4c81 rustc: Refactor vtable lookup to use a vtable context, so that it can be called outside a function. rs=refactor 2012-11-02 17:59:15 -07:00
Patrick Walton
9e0c596141 rustc: Eliminate the necessity of having an expr in order to call lookup_vtables(). rs=#rust
Automatically-generated derived methods don't have exprs and need to call this function.
2012-11-02 17:11:57 -07:00
Brian Anderson
e2f33e6883 Add xfailed test for #3908 2012-11-02 15:57:47 -07:00
Brian Anderson
1c8c1b2181 Add xfailed test for #3907 2012-11-02 15:37:47 -07:00
Tim Chevalier
4876eb708c Fix #1996 (pending snapshot)
Change int to uint in some extfmt code. Remove the #[cfg(stage0)] code
after a snapshot.
2012-11-02 12:01:38 -07:00
Patrick Walton
caf68038dd test: Fix error messages in compile-fail tests. rs=rustbot 2012-11-02 10:43:28 -07:00
Patrick Walton
ad02510258 libcore: Implement a memory-safe "each_val" for data in aliasable, mutable locations 2012-11-02 10:17:32 -07:00
Patrick Walton
0c2e6fda73 rustc: Implement ~Trait. r=nmatsakis 2012-11-02 10:15:19 -07:00
Patrick Walton
65d4dbeb12 rustc: Implement dereference via unary '*' for structs. r=nmatsakis 2012-11-02 09:56:35 -07:00
Patrick Walton
4165edff22 rustc: Implement translation of pattern matching for tuple structs and unit-like structs. r=nmatsakis 2012-11-02 09:56:28 -07:00
Patrick Walton
106f9976ab rustc: Implement typechecking, exhaustiveness checking, and borrow checking for pattern matching of tuple structs. r=nmatsakis
Conflicts:

	src/rustc/middle/typeck/check/alt.rs
2012-11-02 09:56:09 -07:00
Brian Anderson
b62844e755 core: peek returns false for terminated pipes. Closes #3905 2012-11-02 00:57:44 -07:00
Brian Anderson
a90020fe8d xfail issue-2061 2012-11-01 17:13:59 -07:00
Brian Anderson
b92c1197b6 Long lines 2012-11-01 16:39:32 -07:00
Tim Chevalier
0069bd2f46 Add run-fail test for #2061 2012-11-01 16:20:58 -07:00
Brian Anderson
3edccc311e Support #[cfg] on methods 2012-11-01 15:48:50 -07:00
Tim Chevalier
768247f393 Tests for #1896 2012-11-01 15:14:52 -07:00
Tim Chevalier
b269ac13cd Adding xfailed test for #3874 2012-11-01 15:14:52 -07:00
Patrick Walton
abab49b7cf rustc: Fix tab characters 2012-11-01 15:13:43 -07:00
Patrick Walton
94f05c1936 rustc: Stop overwriting trait static method types when checking generic trait refs. Closes #3903. rs=blocking-burg 2012-11-01 15:10:41 -07:00
Tim Chevalier
3d8df9947f Add xfailed test cases 2012-11-01 14:43:26 -07:00
Tim Chevalier
9d276b11e5 Add test case for #3878, which didn't get merged somehow 2012-11-01 14:43:20 -07:00
Brian Anderson
45d04f5704 rustc: Swap argument order in drop_and_cancel_clean 2012-10-31 16:11:27 -07:00
Brian Anderson
740763fdef Merge remote-tracking branch 'vertexclique/incoming' 2012-10-31 16:11:23 -07:00
Mahmut Bulut
add4127192 change function and place in expr.rs 2012-11-01 00:49:37 +02:00
Brian Anderson
cb4de738cf Fix checking of duplicate and missing struct field initializers. Closes #3486. Closes #3892 2012-10-31 13:56:41 -07:00
Zack Corr
15880b3564 rusti: Correct by-copy flag 2012-10-31 13:21:28 +10:00
Zack Corr
1d55a5778b rusti: Remove legacy modes and exports 2012-10-31 10:11:19 +10:00
Tim Chevalier
4e5865f2ad Fix #1458 (allow paren'd exprs to be the operator in a do)
Closes #1458
2012-10-30 15:06:13 -07:00
Tim Chevalier
165ce14f68 Remove xfail-pretty from tests that pretty-print correctly now 2012-10-30 15:06:10 -07:00
Mahmut Bulut
1dc4d024a8 testcase added for #3878 2012-10-31 00:05:34 +02:00
Tim Chevalier
62f98c8ff8 Preserve parenthesization in the AST
Maintain explicit "paren" nodes in the AST so we can pretty-print
without having to guess where parens should go. We may revisit this
in the future.

r=graydon
2012-10-30 15:05:32 -07:00
Mahmut Bulut
bf792b922c * dropnzero_val fn added
* zero-mem for not needed drop situation placed in Ignore
2012-10-30 23:37:09 +02:00
Patrick Walton
a3b83c6224 rustc: Translate "deriving" for monomorphic intra-crate enums. r=brson 2012-10-30 11:40:44 -07:00
Patrick Walton
675c272dad rustc: Instantiate trait refs for automatically-derived implementations. Should fix check-fast. rs=bustage 2012-10-30 11:21:01 -07:00
Graydon Hoare
b7872fa13e core: fix breakage from recent merge. 2012-10-30 10:33:19 -07:00
Graydon Hoare
9bcafa28aa Merge pull request #3881 from vertexclique/incoming
Removing iter::TimesIx
2012-10-30 10:30:35 -07:00
Mahmut Bulut
f938714be1 Remove trait of TimesIx 2012-10-30 15:19:14 +02:00
Zack Corr
ea996556b9 rusti: Remove linenoise module, add to rt, remove core::rl 2012-10-30 11:08:36 +10:00
Patrick Walton
dd76050e51 Merge pull request #3885 from pcwalton/master
rustc: Implement typechecking for automatically-derived enums
2012-10-29 14:23:22 -07:00
Patrick Walton
a369a7881f rustc: Implement typechecking for automatically-derived enums 2012-10-29 14:11:56 -07:00
Graydon Hoare
5e5474e895 std: disable timsort crash-test on windows. 2012-10-29 11:29:27 -07:00
Patrick Walton
17a875b08a Merge pull request #3871 from pcwalton/master
rustc: Translate monomorphic intra-crate automatically-derived method…
2012-10-29 10:37:22 -07:00
Mahmut Bulut
ac92cc8898 Removing iter::TimesIx 2012-10-28 22:36:01 +02:00
Tim Chevalier
5e5ea04608 Make class-cast-to-trait compile (not sure why this worked before) 2012-10-27 17:38:57 -07:00
Tim Chevalier
64193a9eb8 Remove unnecessary suffixes 2012-10-27 17:16:26 -07:00
Tim Chevalier
47baebc68c Remove un-needed comparisons, suppress warnings 2012-10-27 17:07:45 -07:00
Zack Corr
1afa29986f rusti: Correct formatting 2012-10-27 21:41:41 +10:00
Zack Corr
c97c8131a5 rusti: Add current working directory to search path 2012-10-27 18:52:47 +10:00
Zack Corr
4912428cb5 rusti: Add linenoise, wrap into core::rl and add rusti REPL tool
Add Brian Leibig to AUTHORS.txt for REPL contributions
2012-10-27 18:03:15 +10:00
Niko Matsakis
2093952847 Partial fix for #2687---impl method must only be subtype of trait method, not exact match. 2012-10-26 19:41:17 -07:00
Patrick Walton
d5a27a0e0c rustc: Translate monomorphic intra-crate automatically-derived methods that follow the "eq" format 2012-10-26 18:23:45 -07:00
Patrick Walton
c7ec183b34 libsyntax: Fix pretty printing of tuple structs. Attempt to put out fire. rs=rustbot 2012-10-26 12:11:40 -07:00
Brian Anderson
c851d2a1bc std: Fix build errors in sort 2012-10-25 15:34:20 -07:00
Tim Chevalier
decbbaa182 Fix long line 2012-10-25 14:54:40 -07:00
Tim Chevalier
af842bf76c Rename core::uniq to core::owned
No review.
Closes #3841
2012-10-25 14:48:28 -07:00
Patrick Walton
93a0763d53 libsyntax: Don't write a ctor ID for struct-like enum variants. rs=rustbot 2012-10-25 14:20:09 -07:00
Brian Anderson
a9d7642b5d Merge remote-tracking branch '14427/incoming'
Conflicts:
	src/libstd/sort.rs
2012-10-25 14:01:49 -07:00
Patrick Walton
57cd6b3e3f rustc: Translate and check exhaustiveness of struct-like enum variant patterns. r=nmatsakis 2012-10-25 13:59:10 -07:00
Patrick Walton
65ee0e1ded Merge pull request #3858 from pcwalton/struct-like-typeck
rustc: Typecheck, privacy check, and borrow check struct-like enum variants. r=tjc
2012-10-25 12:35:29 -07:00
Tim Chevalier
75947b311a Make error message for non-copyable args less misleading
No review, just changing error message text.

Closes #3855
2012-10-25 12:20:41 -07:00
Patrick Walton
588ea59992 rustc: Typecheck, privacy check, and borrow check struct-like enum variants 2012-10-25 12:15:52 -07:00
Patrick Walton
599b4208fb rustc: Translate tuple struct constructors 2012-10-25 11:49:26 -07:00
Patrick Walton
ce23a99925 libcore: Make a few more dvec functions inline. Improves profile of Servo. rs=me 2012-10-25 10:23:37 -07:00
Simon BD
d4432a7974 Remove some unused MergeState code, add a Fixme and remove a workaround involving pure code not being considered pure 2012-10-25 11:30:41 -05:00
Brian Anderson
b2d5acd6bc Merge remote-tracking branch 'brson/futures' 2012-10-24 20:29:01 -07:00
Brian Anderson
d82ddc280c Long lines 2012-10-24 20:28:39 -07:00
Niko Matsakis
c6ed01cab3 adjust comments 2012-10-24 18:56:31 -07:00
Niko Matsakis
8468c40fde Workaround #3850 2012-10-24 18:56:31 -07:00
Niko Matsakis
1a3a70760b Implement proper subtyping for region fn types (part of #2263) 2012-10-24 18:56:31 -07:00
Simon BD
f2216ec9d0 Move binarysort out of MergeState 2012-10-24 20:42:41 -05:00
Simon BD
98c8a40828 Remove commented out code 2012-10-24 20:38:34 -05:00
Simon BD
8e6d209914 Remove and comment out more MergeState code 2012-10-24 20:36:10 -05:00
Simon BD
046460c7f6 Remove some code that MergeState used to prevent double frees 2012-10-24 19:21:39 -05:00
Simon BD
19a59cb748 Fix tests for Copy bound 2012-10-24 19:17:24 -05:00
Simon BD
fb61f915db Add copy bound to sort 2012-10-24 19:15:11 -05:00
Brian Anderson
a66e01369d Merge pull request #3852 from veddan/type-limits
Lint pass like GCC's -Wtype-limits (#3833)
2012-10-24 14:38:49 -07:00
Brian Anderson
3b6f5a18a2 Merge branch 'method-vis-parse'
Conflicts:
	src/libsyntax/parse/parser.rs
2012-10-24 12:15:21 -07:00
Patrick Walton
4da58a5bd6 rustc: Implement typechecking for tuple structs. r=nmatsakis 2012-10-24 10:54:09 -07:00
Viktor Dahl
0707780eac Added compile-fail tests 2012-10-24 19:14:50 +02:00
Viktor Dahl
87b5f05a9d Cleaned up formatting and fixed bug in rev_binop 2012-10-24 18:44:37 +02:00
Viktor Dahl
9d915294c9 Implemented '-W type-limits' (#3833) 2012-10-24 18:44:37 +02:00
Mahmut Bulut
27fb3fe90d stage2 run-pass test for #3753 2012-10-24 18:32:36 +03:00
Mahmut Bulut
21cbc310c7 Make check & Tidy 2012-10-24 16:51:33 +03:00
Patrick Walton
61bb3571a5 rustc: Implement construction of monomorphic struct-like variants. r=nmatsakis 2012-10-23 19:23:46 -07:00
Brian Anderson
d29962f0eb Move futures to std 2012-10-23 14:46:49 -07:00
Brian Anderson
f500f3f1fb core: Remove remaining use of Future 2012-10-23 14:21:15 -07:00
Brian Anderson
3e4b2bd2b2 core: Use PortOne instead of Future in future_result 2012-10-23 14:21:15 -07:00
Brian Anderson
f6d2a71436 core: Remove the unused Notification enum 2012-10-23 14:21:15 -07:00
Brian Anderson
b6bde885dc core: Use less code for option dancing that notification channel 2012-10-23 14:21:15 -07:00
Brian Anderson
84c8549622 core: Replace future_pipe with pipe::oneshot 2012-10-23 14:21:15 -07:00
Brian Anderson
50f9925fab core: Give future_pipe the same definition as pipes::oneshot 2012-10-23 14:21:15 -07:00
Brian Anderson
759e1c165f rt: Remove unused string upcalls harder 2012-10-23 13:48:09 -07:00
Brian Anderson
8d932160d9 rt: Remove box annihilator 2012-10-23 12:14:46 -07:00
Brian Anderson
a469a3524d rt: Remove unused string upcalls 2012-10-23 12:14:45 -07:00
Tim Chevalier
087cbb55d0 Remove <- operator from the compiler
Yield an obsolete syntax error on things like "let foo <- bar;"
and "foo <- bar;" r=brson

Progress on #3466
2012-10-23 12:10:19 -07:00
Tim Chevalier
48c8d1fecd Remove uses of binary move in the compiler 2012-10-23 12:10:04 -07:00
Tim Chevalier
46fef3d601 Don't generate move-by-init in AST builder 2012-10-23 12:10:04 -07:00
Tim Chevalier
11e92f37c1 Remove uses of binary move - <- - from tests and libraries 2012-10-23 12:10:03 -07:00
Patrick Walton
3bf0a9b094 rustc: Implement typechecking for simple monomorphic derivable traits on monomorphic types. r=brson 2012-10-23 10:45:23 -07:00
Brian Anderson
575950d12c rustc: Lower-case the error messages in kind.rs, for consistency 2012-10-23 10:41:33 -07:00
Mahmut Bulut
2985b8e552 * Parsing sequence changed
1- visibility parse
2- purity parse
2012-10-23 09:42:30 +03:00
Brian Anderson
ce1466fbe5 Tidy 2012-10-22 21:46:30 -07:00
Brian Anderson
b2af873b76 Merge remote-tracking branch 'luqmana/incoming' 2012-10-22 21:44:53 -07:00
Luqman Aden
ed447a7447 Fix compare_and_swap to not break tests. 2012-10-23 00:03:56 -04:00
Simon BD
e0a9d41b04 Re-add bad Ord impl test 2012-10-22 22:04:14 -05:00
Simon BD
254a86e49e Fix typo 2012-10-22 21:53:37 -05:00
Simon BD
781e446e26 Fix long line 2012-10-22 21:49:47 -05:00
Simon BD
1380776d36 Use explicit self 2012-10-22 21:44:43 -05:00
Simon BD
71c311cec5 Uncomment tests and fix binarysort segmentation fault 2012-10-22 21:42:09 -05:00
Brian Anderson
f7c6f867b3 core: Add Result.get_ref method 2012-10-22 18:31:22 -07:00
Graydon Hoare
a605416bb4 core: add condition.raise_default. 2012-10-22 18:22:21 -07:00
Patrick Walton
1048f9abfa rustc: Factor out struct literal typechecking in preparation for struct-like enum variants 2012-10-22 18:00:55 -07:00
Patrick Walton
ec1c60c4d6 rustc: Implement generic cross-crate trait inheritance 2012-10-22 18:00:48 -07:00
Graydon Hoare
705afcd844 core: settle on the trap/in condition convention for now. Implement proper re-raising. 2012-10-22 17:26:36 -07:00
Simon BD
cc0f2c6bb2 Merge remote-tracking branch 'original/incoming' into incoming 2012-10-22 18:33:41 -05:00
Simon BD
9aec7a3e85 Fix up tests, export tim_sort 2012-10-22 18:33:28 -05:00
Brian Anderson
586b22a179 Merge pull request #3832 from Dretch/concatdocstrs
Fix and test for issue #3780.
2012-10-22 14:17:02 -07:00
Brian Anderson
763a8e7b47 xfail-fast issue-3656 2012-10-22 14:04:22 -07:00
Brian Anderson
5a86f5d084 rustc: Convert two printlns in trans into debug! 2012-10-22 13:33:44 -07:00
Gareth Daniel Smith
7947bb1732 Fix and test for issue #3780. 2012-10-22 20:56:00 +01:00
Brian Anderson
64e1ecb939 Long lines 2012-10-22 12:02:55 -07:00
Brian Anderson
2eea07be11 Merge pull request #3826 from jdm/doublefail
Fix ICE stemming from use of unique pointers in unreachable blocks.
2012-10-22 11:32:30 -07:00
Tim Chevalier
14e7df7d1a Fix breakage (forgot to commit this... 2012-10-22 10:54:23 -07:00
Tim Chevalier
dca0776747 Incorporate review comments (mostly fixing indentation)
Previous commit was r=nmatsakis
2012-10-22 09:44:56 -07:00
Tim Chevalier
dd66e7549b Preliminary support for labeled break/continue for loops
This patch adds preliminary middle-end support (liveness and trans)
for breaks and `loop`s to `loop` constructs that have labels.

while and for loops can't have labels yet.

Progress on #2216
2012-10-22 09:20:37 -07:00
Tim Chevalier
46d4bbbae4 Simplify the AST representation of ty param bounds
Change ast::ty_param_bound so that all ty param bounds are represented
as traits, with no special cases for Copy/Send/Owned/Const.
typeck::collect generates the special cases.

A consequence of this is that code using the #[no_core] attribute
can't use the Copy kind/trait. Probably not a big deal?

As a side effect, any user-defined traits that happen to be called
Copy, etc. in the same module override the built-in Copy trait.

r=nmatsakis

Closes #2284
2012-10-22 09:01:12 -07:00
Niko Matsakis
42c05fe642 Correct propagation of mutability from components to base in borrowck
Fixes #3828.
2012-10-21 23:52:36 -07:00
Luqman Aden
48582b360c Replace rust_atomic_increment/decrement and rust_compare_and_swap_ptr with intrinsics. 2012-10-21 22:43:28 -04:00
Luqman Aden
e1db959ec2 rustc: add new intrinsics - atomic_cxchg{_acq,_rel} 2012-10-21 22:23:50 -04:00
Josh Matthews
7c7980196c Fix ICE stemming from use of unique pointers in unreachable blocks. 2012-10-21 03:43:41 -04:00
Brian Anderson
191d16265b std: Shuffle around test ports some more 2012-10-20 18:30:19 -07:00
Brian Anderson
9980f25a02 Long lines 2012-10-20 18:06:01 -07:00
Brian Anderson
837875711a Remove obsolete fixed-length string test 2012-10-20 17:50:46 -07:00
Brian Anderson
8a8fbe3dce Remove remaining uses of old fixed-length vec syntax 2012-10-20 17:50:46 -07:00
Brian Anderson
f3df50f67f Parse and report obsolete fixed-length vector syntax 2012-10-20 17:50:46 -07:00
Ben Striegel
41c37d9d0f ...missed a merge marker on that last rebase 2012-10-20 17:50:46 -07:00
Ben Striegel
614624a34c No longer parse old fixed-length vec sytnax 2012-10-20 17:50:46 -07:00
Ben Striegel
684d945ab7 Fix a pprint test for fixed-length vecs 2012-10-20 17:50:46 -07:00
Ben Striegel
ac81fff229 Remove old fixed-length vector syntax 2012-10-20 17:50:46 -07:00
Philipp Brüschweiler
4174688dd4 libsyntax: adapt the pretty printer for the new fixed size array syntax
`[int]/5` -> `[int * 5]`
2012-10-20 17:50:46 -07:00
Brian Anderson
55e40a1674 Add new uv functions to rustrt.def.in 2012-10-20 17:41:34 -07:00
Brian Anderson
8dd8136f91 std: Use unique ports in tcp tests 2012-10-20 17:24:27 -07:00
Luqman Aden
9555ee790f std: rename getpeername to get_peer_addr 2012-10-20 17:17:10 -07:00
Brian Anderson
781f8cbe4e std: Add test for getpeername 2012-10-20 17:17:10 -07:00
Luqman Aden
79e538d32a uv: use just getpeername for both ipv4 and ipv6. 2012-10-20 17:17:10 -07:00
Luqman Aden
0e2437bf5d uv: implement a way to get client's ip/port. 2012-10-20 17:17:10 -07:00
Brian Anderson
15777de957 Fix run-pass/issue-2895 for 32-bit archs 2012-10-20 14:52:31 -07:00
Graydon Hoare
89de49cecd core: add 3rd proposed interface (trap/in) to conditions. 2012-10-19 14:46:49 -07:00
Mahmut Bulut
81e66ae1fb Renaming trait name UniqueStr to Trimmable 2012-10-19 11:59:40 -07:00
Tim Chevalier
8492a029e8 Fix Windows breakage 2012-10-19 11:44:01 -07:00
Tim Chevalier
10612ee30c Remove superfluous by-ref in option::get, option::get_default, option::expect
Superficial change, no review.
2012-10-19 11:38:28 -07:00
Graydon Hoare
c97944fbf8 core: add potential "simpler interface" to core::condition, also reduce TLS hits. 2012-10-18 20:08:14 -07:00
Graydon Hoare
6c4ad31f76 core: Add type params to condition handling so interface is safe. 2012-10-18 20:08:14 -07:00
Graydon Hoare
acf2d208d6 core: add previous-handler save and restore for proper nesting. 2012-10-18 14:51:20 -07:00
Patrick Walton
754704ea94 rustc: Implement intra-crate static methods on anonymous trait implementations. r=nmatsakis 2012-10-18 14:29:18 -07:00
Erick Tryzelaar
eeae55208c Revert "Simplify str::to_managed"
This reverts commit ac50046a11.
2012-10-18 14:26:06 -07:00
Tim Chevalier
7dda889056 Merge pull request #3803 from tychosci/readclose
Make some string operations UTF-8 safe
2012-10-18 14:05:09 -07:00
Tim Chevalier
b03c71f629 Remove dead type definition 2012-10-18 12:19:43 -07:00
Patrick Walton
fa38c12901 test: Fix failing tests. r=rustbot 2012-10-18 12:09:40 -07:00
Erick Tryzelaar
fe41ccec64 Rename str::to_unique to str::to_owned. 2012-10-18 11:04:59 -07:00
Erick Tryzelaar
ac50046a11 Simplify str::to_managed 2012-10-18 11:04:32 -07:00
Erick Tryzelaar
a7ecde3323 libcore: minor code cleanup.
This is minor and probably completely inconsequential to performance,
but I find vec::map to be more clear than vec::each and a push.
2012-10-18 10:09:57 -07:00
Erick Tryzelaar
95423d28f2 libcore: call [u8] values bytes, not bufs 2012-10-18 10:09:42 -07:00
Erick Tryzelaar
e3b1471acd Rewrite io::ByteBuf into a struct 2012-10-18 09:06:53 -07:00
Erick Tryzelaar
b18a15171b Make with_bytes_reader/with_bytes_writer pure 2012-10-18 09:04:47 -07:00
Erick Tryzelaar
4e03ffdb65 rustc: optimize away some mallocs when building GEP args 2012-10-18 08:03:04 -07:00
Tycho Sci
6ce4cf769f rustdoc: Make markdown_writer::pandoc_writer UTF-8 safe 2012-10-18 23:27:55 +09:00
Tycho Sci
c0cee3ebe4 libcore: Make run::program_output UTF-8 safe 2012-10-18 23:27:55 +09:00
Graydon Hoare
fdd7b4d8f4 core: first working sketch of a condition system. 2012-10-17 16:40:34 -07:00
Philipp Brüschweiler
e7e1bab27f libsyntax: refactor the parser to consider foreign items as items
parse_item_or_view_item() would drop visibility if none of the conditions
following it would hold. This was the case when parsing extern {} blocks,
where the function was only used to parse view items, but discarded the
visibility of the first not-view item.
2012-10-17 15:34:55 -07:00
Tim Chevalier
7dde840dc6 Fix copy warnings in str 2012-10-17 15:34:54 -07:00
Tim Chevalier
d9f1426e69 Fix copy warnings in str 2012-10-17 13:47:45 -07:00
Tim Chevalier
33adb7a824 Merge pull request #3739 from killerswan/usagemsg
Add a module to getopts for verbose option group declaration (and use it in rustc)
2012-10-17 13:05:04 -07:00
Tim Chevalier
bbc90b6bf6 Fix whitespace 2012-10-17 12:59:30 -07:00
Daniel Patterson
fd6be2fa4e std::treemap - changing types to reflect constraints, adding equality check (space expensive) 2012-10-17 12:59:30 -07:00
Tim Chevalier
f2544d8d80 Fix long lines 2012-10-17 12:17:49 -07:00
Kevin Cantu
32baf1c54c Add a module to getopts to support verbose option definition
This is built on top of the existing functionality, but
adds a `groups` module which defines functions allowing
the user to specify whole short/long/description groups
at once and provides a usage message.
2012-10-17 12:10:06 -07:00
Tim Chevalier
b532a8e585 Line length 2012-10-17 12:03:18 -07:00
Tim Chevalier
7236472e67 word => word_space 2012-10-17 12:03:18 -07:00
Jyun-Yan You
66151d02f5 remove duplicate visibility and fix indentation 2012-10-17 12:03:18 -07:00
Jyun-Yan You
ca5506a5de fix the indentation of foreign constant 2012-10-17 12:03:18 -07:00
Tim Chevalier
5cf0c658f3 Merge pull request #3764 from lucab/lucab/to-upstream/pull-3
Use gpgv for signature verification in cargo
2012-10-17 11:07:01 -07:00
Tim Chevalier
f5e71f523a Merge pull request #3719 from lucab/lucab/to-upstream/pull-2
Fix #3701: rustllvm conditional build
2012-10-17 11:04:50 -07:00
Tim Chevalier
ebce09702f Merge pull request #3706 from erickt/str-with-capacity
libcore: add a str::with_capacity to match the fn in vec
2012-10-17 11:03:58 -07:00
Tim Chevalier
7f12cc4e63 Merge pull request #3716 from Blei/fix-3656
rustc: fix size computation of structs for the FFI
2012-10-17 11:00:36 -07:00
Tim Chevalier
47c83f1844 Export std::net_url::encode_component 2012-10-17 10:39:01 -07:00
Tim Chevalier
081a0434fb Remove integer suffixes 2012-10-16 23:32:58 -07:00
Tim Chevalier
1679960889 Change a use of map::get to map::find 2012-10-16 23:32:57 -07:00
Patrick Walton
4dc67c5e6a rustc: Implement intra-crate static methods on anonymous trait implementations. 2012-10-16 12:22:56 -07:00
Tim Chevalier
b38092e9a2 In ty::normalize_ty, don't replace self_regions with None
Instead, replace with re_static. This was causing ty::subst to
fail when called from trans::type_of::type_of.

Already discussed with nmatsakis and it's a small change, so
no review.

Closes #3447
2012-10-15 17:46:09 -07:00
Tim Chevalier
bbc46d527d Add test for Issue 2823 2012-10-15 17:12:42 -07:00
Tim Chevalier
d29328617d Add test case for Issue 2895 2012-10-15 17:09:05 -07:00
Tim Chevalier
7d84505654 Error out in resolve if structs try to capture type parameters
Closes #3214
2012-10-15 16:27:53 -07:00
Patrick Walton
91ae5412d8 rustc: Merge module and type namespaces. r=brson 2012-10-15 15:35:36 -07:00
Tim Chevalier
c5b82a65e9 Add test cases for #3668
Previous commits fix the issue.

Closes #3668
2012-10-15 14:41:09 -07:00