Graydon Hoare
57b4d10ff6
bump version to 0.5.
2012-10-12 16:41:32 -07:00
Kevin Cantu
1bede1f5e0
Replace several common macros of the form #m[...] with m!(...)
...
This commit replaces nearly all remaining uses of #fmt, #debug, #error,
and #info, and fixes some error messages...
2012-10-12 14:14:48 -07:00
Tim Chevalier
55b528484d
Re-xfail two tests that I tried to resurrect (no time right now)
2012-10-11 17:59:33 -07:00
Tim Chevalier
2d116db578
Use move instead of ref in select-macro
2012-10-11 17:59:29 -07:00
Tim Chevalier
dd54431df6
Fix pipe-select-macro
2012-10-11 17:59:14 -07:00
Tim Chevalier
3c1ff31f4a
Un-XFAIL task-compare
2012-10-11 17:03:56 -07:00
Tim Chevalier
5a849ea8ad
Use match move in select-macro, get rid of a FIXME
2012-10-11 17:03:48 -07:00
Tim Chevalier
b24cba877d
Un-XFAIL reflect-visit-type
2012-10-11 17:03:29 -07:00
Tim Chevalier
f1de001d69
Annotate FIXMEs in reflect-visit-data
2012-10-11 17:03:02 -07:00
Tim Chevalier
c090dcad84
Uncomment nested module in test, delete a FIXME
2012-10-11 17:02:38 -07:00
Tim Chevalier
5a8ba073bc
Make to_str pure and fix const parameters for str-mutating functions
...
Two separate changes that got intertwined (sorry):
Make to_str pure. Closes #3691
In str, change functions like push_char to take an &mut str instead of
an &str. Closes #3710
2012-10-11 14:17:59 -07:00
Philipp Brüschweiler
25096a212a
rustc: fix size computation of structs for the FFI
...
It didn't take alignment into account.
Fixes #3656 .
2012-10-10 22:40:58 +02:00
Erick Tryzelaar
eb626e7119
Remove the old serializers (needs snapshot)
2012-10-07 17:20:19 -07:00
Erick Tryzelaar
d301dd3686
remove the old auto_serialize syntax extension
2012-10-07 14:56:18 -07:00
Tim Chevalier
f96a2a2ca1
Remove by-mutable-ref mode from the compiler
...
and test cases. Closes #3513
2012-10-05 22:45:50 -07:00
Patrick Walton
937f8f4067
test: XFAIL trait-inheritance-simple because of suspected 32-bit brokenness
2012-10-05 17:18:52 -07:00
Patrick Walton
04497ea7b9
rustc: Implement simple uses of &trait
2012-10-05 16:57:13 -07:00
Tim Chevalier
e16dbb7888
Demode some code using by-mutbl-ref; warn about by-mutbl-ref
...
The parser now warns about use of mutbl-ref mode, though it's kind
of a lie since this commit doesn't remove support for the mode.
Changed move_val_init to have stage0 and stage1/2 versions, the latter of
which is demoded.
Changed the type that the typechecker expects the move_val_init
intrinsic to have. After this is pushed, I can make a new snapshot,
which will remove the need for the stage0 versions.
2012-10-05 15:37:01 -07:00
Patrick Walton
1b732145ec
rustc: Implement simple trait inheritance.
...
Generic trait inheritance, cross-crate trait inheritance, and vtable-based
trait inheritance don't work yet.
2012-10-05 11:52:08 -07:00
Tim Chevalier
fe12da0864
De-mode comm::Chan
2012-10-04 16:48:57 -07:00
Brian Anderson
edc317b821
Remove arg vectors from main functions. Stop supporting them.
2012-10-04 15:07:49 -07:00
Brian Anderson
83fdeddb91
xfail-pretty reexport-star
2012-10-03 22:10:52 -07:00
Patrick Walton
d936773e56
test: Add a test case for "pub use a::*"
2012-10-03 17:03:29 -07:00
Brian Anderson
72b7a7707f
test: Use println instead of debug in hello.rs
2012-10-03 14:29:59 -07:00
Graydon Hoare
c31a88c7f4
De-export the submodules of task. Part of #3583 .
2012-10-02 16:32:00 -07:00
Erick Tryzelaar
2569adc5ea
Split auto_serialize2 into two macros
2012-10-01 20:44:30 -07:00
Erick Tryzelaar
372c7de201
Add struct to auto_serialize2 test
2012-10-01 20:44:30 -07:00
Erick Tryzelaar
81423a3866
Add deserializable and more types to serialization2
2012-10-01 20:43:59 -07:00
Erick Tryzelaar
0a950f394d
test: un-xfail the auto_serialize for boxes test
2012-10-01 20:43:59 -07:00
Tim Chevalier
b18320446e
Move over to calling ptr::addr_of
...
Everything should now call ptr::addr_of instead of
ptr::p2::addr_of. Only the pipes macro code when compiled
by stage0 will call ptr::p2::addr_of. Needs a snapshot to get
rid of that.
2012-10-01 15:12:09 -07:00
Tim Chevalier
a3a257cc3b
Demode iter::foldl and friends
2012-09-28 17:57:02 -07:00
Tim Chevalier
fec96b2ae0
Demoding in iter: any, all, map_to_vec, flat_map_to_vec, filter_to_vec
2012-09-28 17:44:15 -07:00
Niko Matsakis
21519bc7e0
demode vec
2012-09-28 13:27:45 -07:00
Patrick Walton
7b0ed94bdc
rustc: Make enum export visibility inherit properly
2012-09-27 17:43:09 -07:00
Brian Anderson
87a72567f0
Unbreak run-pass/issue-2904 more
2012-09-26 18:41:02 -07:00
Niko Matsakis
67a8e7128a
Demode vec::push (and convert to method)
2012-09-26 18:02:07 -07:00
Brian Anderson
26a8fe3553
Fix test/run-pass/issue-2904
2012-09-26 17:03:02 -07:00
Erick Tryzelaar
49d00b2f22
libstd: port json over to serialization2
2012-09-26 16:29:41 -07:00
Erick Tryzelaar
c0b9986c8f
libstd: change serialization2 to take &self argument methods
...
Unfortunately this trips over issue (#3585 ), where auto-ref isn't
playing nicely with @T implementations. Most serializers don't
care, but prettyprint2 won't properly display "@" until #3585 is
fixed.
2012-09-26 16:20:24 -07:00
Erick Tryzelaar
d2506a1787
test: Add a test for auto_serialize2
2012-09-26 16:20:24 -07:00
Tim Chevalier
101bc62ad9
Revert "fix modes on dtors"
...
This reverts commit d38b97a170
.
(Accidentally checked this in, oops)
2012-09-26 10:43:11 -07:00
Tim Chevalier
d38b97a170
fix modes on dtors
2012-09-26 10:42:11 -07:00
Vincent Belliard
ef23d77633
fix issue #3535 and add colon between mode and type when dumping funcion prototype
2012-09-26 07:48:19 -07:00
Tim Chevalier
e19e628b19
Demode iter-trait
2012-09-25 22:13:05 -07:00
Tim Chevalier
3023bd8729
Demode dvec
2012-09-25 18:27:55 -07:00
Brian Anderson
d05e2ad66c
Demode core::result
2012-09-25 17:48:22 -07:00
Patrick Walton
954eee5310
test: Remove various box annihilator tests
2012-09-25 17:06:01 -07:00
Tim Chevalier
e85a3d8247
Demode Num trait and impls
2012-09-25 15:52:41 -07:00
Niko Matsakis
12a0401d84
Change method res to try autoref more often. Fixes #3585 .
2012-09-25 15:22:38 -07:00
Niko Matsakis
267ab11cca
use + mode for (almost) everything when not using legacy modes
2012-09-25 12:47:35 -07:00
Graydon Hoare
546f3dbbf5
Build the export_map2 from visibility markers, unless #[legacy_exports];
2012-09-24 17:29:32 -07:00
Brian Anderson
4a78f9b166
core: Demode option
2012-09-23 17:15:00 -07:00
Niko Matsakis
0a26edca75
Fix trans for region patterns (&P)
2012-09-23 13:30:20 -05:00
Niko Matsakis
ba3eebd41d
Make it illegal to use modes in a fn signature with providing
...
an explicit variable name. (Step one to changing the defaults)
First step to #3535
2012-09-23 13:30:13 -05:00
Niko Matsakis
3d59ac3a19
De-mode vec::map, vec::eachi, vec::rev_each, vec::rev_eachi
2012-09-21 19:13:55 -07:00
Patrick Walton
d48396c986
libcore: De-mode str
2012-09-21 18:37:06 -07:00
Graydon Hoare
dffe188991
Install new pub/priv/export rules as defaults, old rules accessible under #[legacy_exports];
2012-09-21 18:11:43 -07:00
Brian Anderson
3e9284d128
core: Demode sys
2012-09-20 15:37:55 -07:00
Patrick Walton
9117dcb968
rustc: De-mode all overloaded operators
2012-09-20 09:48:05 -07:00
Niko Matsakis
cfed923600
demode the each() method on vec and other iterables.
2012-09-19 17:03:01 -07:00
Graydon Hoare
1ffd90edbc
Remove redundant hashmap constructor functions.
2012-09-19 15:51:44 -07:00
Brian Anderson
afdd8204ea
xfail-fast another legacy_mode test
2012-09-19 14:50:21 -07:00
Philipp Brüschweiler
d3e0a06578
V2: now with more locks!
2012-09-19 14:01:53 -07:00
Philipp Brüschweiler
68e755b1c2
core: Allocate threads on demand, not on scheduler startup
...
API change: rust_kernel::create_scheduler() or
rust_scheduler::rust_scheduler() respecitevly now take ownership of the
launch factory argument, it is needed to create new threads on demand.
Also renames rustrt::sched_threads() to rustrt::rust_sched_threads() for
consistency. Added rustrt::rust_max_sched_threads() to return the
maximal number of scheduled threads of the current scheduler.
Fixes #3493 .
2012-09-19 14:01:53 -07:00
Brian Anderson
35a9353774
xfail-fast the legacy_mode run-pass tests
2012-09-19 13:59:58 -07:00
Niko Matsakis
9cf271fe96
De-mode vec::each() and many of the str iteration routines
...
Note that the method foo.each() is not de-moded, nor the other
vec routines.
2012-09-19 10:52:59 -07:00
Niko Matsakis
8d4928f780
Revert "replace explicit calls to vec::each with vec::each_ref, partially demode str"
...
This reverts commit 1be24f0758
.
Not quite ready.
2012-09-18 21:41:13 -07:00
Niko Matsakis
1be24f0758
replace explicit calls to vec::each with vec::each_ref, partially demode str
2012-09-18 21:31:00 -07:00
Brian Anderson
2906f2de31
core: Rename 'unsafe' mod to 'cast'
2012-09-18 19:36:25 -07:00
Patrick Walton
e653d493fb
rustc: Remove legacy mode inference, unless #[legacy_modes] is used
2012-09-18 15:53:04 -07:00
Brian Anderson
d53cfd225a
core: Move Exclusive and SharedMutableState to the private mod
2012-09-18 15:23:57 -07:00
Erick Tryzelaar
d0d68c6036
libcore: make a copyless io::BytesWriter
2012-09-18 12:56:57 -07:00
Patrick Walton
c755449fd6
Revert "rustc: Change all non-keyword uses of "link""
...
This reverts commit 3b013cd800
.
2012-09-18 11:47:04 -07:00
Patrick Walton
3b013cd800
rustc: Change all non-keyword uses of "link"
2012-09-18 11:27:37 -07:00
Niko Matsakis
2469cba0b1
Make auto-slice, auto-ptr not exclusive ( fixes #3514 )
2012-09-17 11:00:50 -07:00
Niko Matsakis
48496fc1b6
add a test and correct terminology
...
newtype'd enums have 1 variant, and 1 field.
denegerate have only 1 variant but may have more fields.
2012-09-17 06:34:36 -07:00
Niko Matsakis
4cad58c464
Fix broken assertion in regionck for code like (a[])()
2012-09-15 12:29:36 -07:00
Niko Matsakis
43924f1f9f
fix some of the broken tests (the ones that were doing the right thing)
2012-09-13 15:05:30 -07:00
Niko Matsakis
0e584f2e74
Fix bug in auto-ref on bounded type parameters
2012-09-13 13:24:34 -07:00
Niko Matsakis
e0845eb589
repr: emit closing )
for enum variants, test that nullary variants names print
2012-09-13 11:10:05 -07:00
Niko Matsakis
34bf0b9e97
trans: overhaul match bindings. No more phi, one code path for guards.
...
Fixes #3256 .
Fixes #3291 .
2012-09-12 18:15:22 -07:00
Brian Anderson
ff54ac8e59
Rename vec::unsafe to vec::raw
2012-09-12 17:45:36 -07:00
Niko Matsakis
5d540de769
fixup mutability of vec::each, make iter_bytes pure
...
also, change DVec() to work with imm vectors rather than mut ones
2012-09-12 13:29:31 -07:00
Niko Matsakis
8a8f200d10
Introduce auto adjustment table to subsume autoderef/autoref/borrowings.
...
Fixes #3261
Fixes #3443
2012-09-11 21:25:01 -07:00
Brian Anderson
ea01ee2e9e
Convert 'use' to 'extern mod'. Remove old 'use' syntax
2012-09-11 19:25:43 -07:00
Brian Anderson
27cc0a36b6
Promote 'struct' from a restricted keyword to a strict keyword
2012-09-11 17:15:33 -07:00
Brian Anderson
1203da3b9d
Remove priv sections from classes. Obsolete the syntax
2012-09-11 15:29:37 -07:00
Brian Anderson
298eb8c726
Convert 'import' to 'use'. Remove 'import' keyword.
2012-09-10 19:04:26 -07:00
Patrick Walton
2aa67e9aa9
rustc: Stop calling cmp shape glue in trans.
...
XFAIL's alt-borrowed_str for now. Will need to fix this up in the future.
2012-09-10 17:26:17 -07:00
Brian Anderson
cb7a5395dd
Convert std::map to camel case
2012-09-10 17:08:36 -07:00
Brian Anderson
93d3b8aa6b
Convert class methods to impl methods. Stop parsing class methods
2012-09-10 16:13:08 -07:00
Tim Chevalier
5eccf84919
Capitalize Copy trait in test
2012-09-10 15:24:42 -07:00
Niko Matsakis
04f1763409
Combine the vtable_origins from impl + method.
...
Not as clean as it could be, but fixes #3314 .
2012-09-10 12:59:17 -07:00
Patrick Walton
22b8757705
rustc: Make shape-based compare glue never called for comparison operators.
...
Only called for string patterns.
2012-09-10 12:48:42 -07:00
Tim Chevalier
9a15c50f6c
Uppercase Send bound and make test for #2834 work
2012-09-10 12:38:52 -07:00
Brian Anderson
ef9aa80438
Promote most restricted keywords to strict keywords
2012-09-10 12:07:19 -07:00
Tim Chevalier
233e595b61
Un-xfail test for #2834
...
Since it seems to work now.
Closes #2834
2012-09-10 12:06:27 -07:00
Jeff Olson
8e86cd0aa7
test: bunch of test cleanup from sendable_futures change
2012-09-08 14:22:16 -07:00
Brian Anderson
3bd1f32cd9
Convert all kind bounds to camel case. Remove send, owned keywords.
2012-09-07 18:10:11 -07:00
Brian Anderson
2810ea9a68
Convert 'again' to 'loop'. Remove 'again' keyword
2012-09-07 17:39:03 -07:00
Tim Chevalier
53ce42dc4f
Implement &-patterns
...
Closes #2855
2012-09-07 17:09:07 -07:00
Graydon Hoare
e9f5a099df
Add an ignore! macro, remove support for nested block comments, re: #2755 .
2012-09-07 16:58:36 -07:00
Brian Anderson
f0eae8f1c1
Convert field terminators to commas. Stop parsing semis.
2012-09-07 16:12:15 -07:00
Brian Anderson
2572e80355
Remove 'let' syntax for struct fields
2012-09-07 14:02:33 -07:00
Niko Matsakis
14303bad89
Do not copy values of type () or _|_
...
This can trigger a crash because we assume we
can supply null ptrs and undefined values for
values of those types, as we should be treated
them as zero-size.
Interestingly, this crash only shows up (atm)
in non-optimized builds. Therefore, I added
a -Z no-opt flag so that the new test
(capture_nil) can specify that it should not
run with optimizations enabled.
2012-09-07 13:00:03 -07:00
Patrick Walton
feb014eb3c
rustc: Add an "ne" method to the Eq trait, and implement it everywhere
2012-09-07 12:24:48 -07:00
Tim Chevalier
ac1f84c153
Don't check impl ty params for equality with trait ty params
...
This was too restrictive. We need to check the number of ty params,
and that the bounds are equal, but otherwise require_same_types does the job.
Closes #2611
2012-09-07 12:11:17 -07:00
Tim Chevalier
46990ad111
Use callee ID when kind-checking expressions that may be overloaded
...
And fix up test cases that should have failed if not for this bug.
Closes #2587
2012-09-06 15:44:10 -07:00
Tim Chevalier
a5285f148c
Add test for issue 3305
2012-09-06 12:30:47 -07:00
Brian Anderson
b4e547d71a
Remove struct ctors
2012-09-06 10:52:26 -07:00
Niko Matsakis
5e36a99794
Refactor trans to replace lvalue and friends with Datum.
...
Also:
- report illegal move/ref combos whether or not ref comes first
- commented out fix for #3387 , too restrictive and causes an ICE
2012-09-06 06:11:12 -07:00
Tim Chevalier
3a34c96086
Add a lint pass for structural records
...
Closes #3322
2012-09-05 18:35:30 -07:00
Graydon Hoare
15b4734d0c
Remove 'use' line that's confusing pp-exact during use/import transition.
2012-09-05 16:53:55 -07:00
Patrick Walton
f686896f60
test: "import" -> "use"
2012-09-05 12:32:05 -07:00
Vincent Belliard
d12128f56f
fix issue #3222
2012-09-05 16:38:00 +02:00
Tim Chevalier
268850f67b
xfail-fast anon-extern-mod-cross-crate-2
2012-09-04 17:23:26 -07:00
Tim Chevalier
451da07718
Allow anonymous extern mods
...
Now you can write:
extern {
f() -> int;
}
and f will be accessible in the enclosing scope.
2012-09-04 16:41:19 -07:00
Brian Anderson
200959d7ce
Remove 'with'
2012-09-04 15:47:04 -07:00
Brian Anderson
a04cb8ebb7
Fix broken test case
2012-09-04 14:36:21 -07:00
Brian Anderson
3764fe3f2a
std: Camel case list
2012-09-04 14:12:49 -07:00
Brian Anderson
d3e75ea375
Parse 'loop' and 'again' the same
2012-09-04 13:37:11 -07:00
Brian Anderson
ac31fdd9c4
Fix cross-crate inlining of intrinsics
2012-09-03 16:01:51 -07:00
Patrick Walton
5573ad723f
rustc: Fix an LLVM assertion that tripped when borrowing a by-val method receiver.
...
In certain lvalue code paths, the type of the borrowed value was not
being used to generate temporary spills. I'm a bit surprised we didn't
hit this sooner.
2012-09-03 15:59:10 -07:00
Brian Anderson
f393100b7c
Camel case core::ops
2012-09-02 18:13:56 -07:00
Patrick Walton
b808cfbb74
rustc: Don't translate the expression twice when adapting a borrowed method receiver. Closes #3357 .
...
Adds a test case. I had to stare at this one for a bit.
2012-09-02 16:51:05 -07:00
Brian Anderson
7fb1a4e2d1
Camel case core::intrinsic
2012-09-02 15:19:52 -07:00
Brian Anderson
80c4f74c29
Remove the 'to' keyword
2012-09-01 18:38:18 -07:00
Brian Anderson
d777e51333
Demode reinterpret_cast
2012-09-01 18:18:29 -07:00
Brian Anderson
6bfc80f8fb
Try to work around check-fast breakage
2012-09-01 18:08:15 -07:00
Brian Anderson
aea422014b
Add test for #2989
2012-09-01 14:09:57 -07:00
Brian Anderson
b999973c0f
Add a morestack_addr (temporary) intrinsic
2012-08-31 16:20:36 -07:00
Brian Anderson
e4a7c88450
Fix test case
2012-08-31 16:14:22 -07:00
Lindsey Kuper
6d8d258f35
Tag things that have to do with default methods with issue #2794 .
2012-08-31 19:09:01 -04:00
Graydon Hoare
5236a304c4
Fix check-fast.
2012-08-31 15:58:36 -07:00
Patrick Walton
5b4d5cee03
rustc: Make entire crates privileged scopes for the purposes of coherence
2012-08-31 15:14:15 -07:00
Elliott Slaughter
3b554c1e0c
rt: Add tests for box annihilator.
2012-08-31 15:10:52 -07:00
Patrick Walton
6e7d5e1cbd
rustc: Implement "use mod"
2012-08-31 11:20:50 -07:00
Patrick Walton
4846affedb
rustc: "extern mod { ... }" should be written "extern { ... }" instead
2012-08-30 17:10:07 -07:00
Graydon Hoare
c3ac0f8fd9
Fix auto_serialize test.
2012-08-30 16:27:31 -07:00
Patrick Walton
7fec8419f3
test: Add a test for unused constants in foreign modules
2012-08-30 16:10:50 -07:00
Brian Anderson
65b05a6ce8
Bump version to 0.4
2012-08-30 14:05:59 -07:00
Patrick Walton
96534365c2
rustc: Make <
and =
into traits
2012-08-29 18:25:22 -07:00
Brian Anderson
aab4d6b8d7
std: Camel case some constructors
2012-08-29 15:34:38 -07:00
Tim Chevalier
cb8ecd7984
Allow extern mods to be anonymous
...
extern mod {
f();
}
is now allowed, and puts f in the enclosing scope. (Requires a
link_name attribute to be really useful...)
2012-08-29 12:22:05 -07:00
Tim Chevalier
a70e37b214
In ty::impl_traits, treat structs properly
...
Treat structs just like impls: use their associated list of
trait refs to get the list of traits that one of them implements.
I don't understand what was happening before, but it was wrong.
Closes #2936
2012-08-28 19:51:11 -07:00
Ben Striegel
a605fd0cad
CamelCasify lots of std
2012-08-28 18:52:44 -07:00
Brian Anderson
cfbc7cbdc7
Convert core::pipes to camel case
2012-08-28 14:33:18 -07:00
Brian Anderson
adf9fa229f
Fix a test that mysteriously resolves correctly when not check-fasting
2012-08-28 10:58:16 -07:00
Brian Anderson
161a82e433
Camel case various core constructors
2012-08-27 17:22:18 -07:00
Ben Blum
61249da53a
convert std::arc tests to use camel case ARCs
2012-08-26 21:51:18 -04:00
Brian Anderson
8337fa1a54
Camel case the option type
2012-08-26 15:56:16 -07:00
Tim Chevalier
7fb5f41bac
Update test for new struct field syntax (fixes build breakage)
2012-08-25 17:54:17 -07:00
Graydon Hoare
5ebea76394
Fix a curious failure not seen during testing.
2012-08-24 16:39:16 -07:00
Michael Sullivan
e55c5ceac2
Infer purity for || style closures. Closes #3023 .
2012-08-24 14:21:27 -07:00
Ben Blum
37bcd67a09
Enforce copyability in bind_by_value match arms ( fix #3255 )
2012-08-24 16:43:03 -04:00
Niko Matsakis
e47d2f6060
extend liveness to treat bindings more like other variables
...
This results in a lot of warnings in rustc. I left them in because
many are bugs and we should fix our code, but Graydon asked that
I not touch every file in the codebase.
2012-08-24 12:55:08 -07:00
Erick Tryzelaar
bf0ea66dac
libcore: update bytes/str reader to work with regions.
...
This optimizes away a copy.
2012-08-23 17:42:50 -07:00
Tim Chevalier
80d129aa45
Parenthesize unary move exprs in prettyprinter
...
Closes #3220
2012-08-23 16:59:05 -07:00
Tim Chevalier
9f591319dd
Rename str::bytes to str::to_bytes
...
Closes #3245
2012-08-23 15:46:10 -07:00
Tim Chevalier
e9622f09aa
Remove match check from test cases
2012-08-23 15:12:02 -07:00
Ben Blum
01a5845db5
fix atomic intrinsic test cases
2012-08-23 17:19:35 -04:00
Paul Stansifer
77e83d83a9
Change calls of proto!
to use parens.
2012-08-23 11:14:15 -07:00
Paul Stansifer
c74a442e86
Eliminate some extraneous curly brackets inside invocations of macro_rules!
.
2012-08-23 11:14:14 -07:00
Paul Stansifer
38891b91bf
Update invocation syntax for macro_rules!
2012-08-23 11:14:14 -07:00
Paul Stansifer
29f32b4a72
m1!{...}
-> m1!(...)
2012-08-23 11:14:14 -07:00
Niko Matsakis
511e7626ae
Infer variance of types with respect to the region parameter.
...
A similar approach could be used for type parameters.
Fixes #2282 .
2012-08-23 06:30:43 -07:00
Ben Blum
49c1bd7e86
WIP: Add an xfailed test for bind-by-move ( #2329 )
2012-08-22 20:40:25 -04:00
Michael Sullivan
744fea1a4f
Track the type of self properly. Closes #3247 .
2012-08-22 13:18:29 -07:00
Niko Matsakis
ce3cc46ce6
Fix generation of generic methods with explicit self
...
There used to be two distinct code paths. Now there is one.
2012-08-21 20:15:22 -07:00
Ben Blum
9b489f6fff
Don't refute "()" in let-bindings ( fixes #3104 ).
2012-08-21 21:05:01 -04:00
Michael Sullivan
98d0aae9a1
Fix some map related build failures.
2012-08-21 17:03:00 -07:00
Niko Matsakis
652b312122
more sound treatment of fn& regions; change all & to be distinct
2012-08-21 10:28:34 -07:00
Niko Matsakis
8ee79c79aa
new region inference, seperate infer into modules, improve error msgs
...
Fixes #2806
Fixes #3197
Fixes #3138
2012-08-20 22:00:06 -07:00
Michael Sullivan
71ec545614
Try to do some resolution of vtables earlier, in a fairly ad-hoc way. Closes #3156 .
2012-08-20 19:00:27 -07:00
Ben Blum
aa3df17445
Re-allow pattern-matching structs ( #3215 )
2012-08-20 18:22:11 -04:00
Michael Sullivan
1300be58d7
xfail crate-method-reexport-grrrrrrr.rs, which has been burning the build for days
2012-08-20 13:22:51 -07:00
Michael Sullivan
457e78cd53
Make by-val explicit self actually work. Closes #2585 .
2012-08-17 17:14:32 -07:00
Eric Holk
7bae3449ce
Move select macro into another file, so it can be including in multiple tests.
...
Fixing long lines.
2012-08-17 12:39:51 -07:00
Ben Blum
89c2a9f4cf
Forbid pattern-matching structs until the next snapshot ( #3215 )
2012-08-17 15:34:06 -04:00
Lindsey Kuper
280dfd2d29
Default methods with self-calls make it as far as trans.
2012-08-17 11:04:53 -07:00
Brian Anderson
3ab4b014cf
Remove the class keyword
2012-08-17 10:13:45 -07:00
Ben Blum
a076c287de
Fix issue-506.rs by adding a void-returning stub in the runtime ( close #2957 )
2012-08-16 21:07:55 -04:00
Eric Holk
5f57588887
Update the rock-paper-scissors example in the tutorial, and rename some types in core::pipes
2012-08-16 17:50:36 -07:00
Eric Holk
91622d0310
Make test suite terminate.
2012-08-16 16:26:08 -07:00
Graydon Hoare
64de480d46
Another attempt on class-attribute-1.rs.
2012-08-16 15:23:31 -07:00
Patrick Walton
2489baf82e
libsyntax: Fix parsing of "loop unsafe".
...
It was getting misparsed as a label.
2012-08-16 15:19:47 -07:00
Graydon Hoare
b28a22005b
xfail-fast issue 3012-2
2012-08-16 14:44:34 -07:00
Graydon Hoare
89fb03ae17
Xfail a struct-test I can't figure out how to make work.
2012-08-16 14:26:35 -07:00
Graydon Hoare
0492c75c43
s/class/struct/ in a failing test.
2012-08-16 14:26:10 -07:00
Tim Chevalier
ee2f0dd638
Test case for #3012
2012-08-15 18:34:41 -07:00
Brian Anderson
9c6890f488
Convert more core types to camel case
2012-08-15 17:46:05 -07:00
Patrick Walton
a78030fbaa
libsyntax: Parse tuple and unit structs
2012-08-15 17:11:13 -07:00
Patrick Walton
bdb206f285
rustc: Parse labeled loop, break, and again
2012-08-15 16:20:34 -07:00
Patrick Walton
d54db12155
rustc: Implement automatic reference for method receivers
2012-08-15 16:20:33 -07:00
Patrick Walton
fe9d07dda6
rustc: "as Trait" can now be written "as @Trait".
...
There is also code for ~Trait and &Trait, but these are currently (incorrectly)
synonyms for "as @Trait" and "as &Trait".
2012-08-15 16:20:31 -07:00
Brian Anderson
74c69e1053
Convert more core types to camel case
2012-08-15 14:14:20 -07:00
Eric Holk
8be0f665bc
De-mode pipes
2012-08-15 13:58:08 -07:00
Brian Anderson
9f01acacf9
xfail-fast issue-2472
2012-08-14 22:05:26 -07:00
Brian Anderson
83b42c806f
Add test for #2472
2012-08-14 21:17:01 -07:00
Brian Anderson
11258310e2
Convert more core types to camel case
2012-08-14 18:26:03 -07:00
Patrick Walton
138dc3048a
libsyntax: Parse "extern mod foo;"
2012-08-14 14:24:00 -07:00
Brian Anderson
fbbe9ac94b
Fix check-fast breakage
2012-08-14 10:46:20 -07:00
Lindsey Kuper
7bb33e6f1b
Add xfail'd test for a default method containing 'self'.
2012-08-14 10:00:31 -07:00
Lindsey Kuper
fb05f57881
Compile default methods; un-xfail default methods test (cc: #2794 ).
2012-08-14 09:02:47 -07:00
Graydon Hoare
9c034464fe
fix fallout from future de-mode-ing.
2012-08-14 04:36:52 +00:00
Patrick Walton
80b6850e34
libsyntax: Implement [int*3] syntax for fixed length vector types
2012-08-13 20:00:03 -07:00
Brian Anderson
5394e34aa4
core: Camel case some lesser-used modules
2012-08-13 18:59:48 -07:00
Brian Anderson
6b43c0c1ad
Stop parsing old operator overloading syntax
2012-08-13 18:59:17 -07:00
Brian Anderson
1f32c2c5e4
xfail-pretty run-pass/pipe-select-macro
2012-08-13 18:34:44 -07:00
Patrick Walton
799bc0a193
libsyntax: Allow "use" to be used in place of "import"
2012-08-13 17:55:54 -07:00
Tim Chevalier
c0858f4f7a
In typeck::collect::ensure_trait_methods, don't assume the trait was already checked
...
Instead of using node_id_to_type to look up the trait type, pass it
in as an argument. This handles the case where we check an impl of a trait T
before T has been traversed.
2012-08-13 17:38:58 -07:00
Patrick Walton
55ee06b8ce
libsyntax: Accept "1..3" as the preferred form of "1 to 3" in patterns
2012-08-13 17:37:08 -07:00
Graydon Hoare
91612dbb7e
De-mode-ify a few minor libcore modules.
2012-08-13 17:11:33 -07:00
Eric Holk
4ec1dd9914
Got the select macro working.
2012-08-13 16:20:23 -07:00
Patrick Walton
87f4c15311
rustc: Make functional record and struct update use ".." instead of "with".
...
"with" is still accepted for backwards compatibility.
2012-08-13 16:07:12 -07:00
Brian Anderson
c7ed9908d6
xfail-fast run-pass/trait-to-str
2012-08-13 15:50:38 -07:00
Patrick Walton
5bd4110170
rustc: Mostly implement region-bounded stack closures
2012-08-13 15:34:36 -07:00
Brian Anderson
395d1ac185
rustc: Enum idents are not in the value namespace. Closes #3186
2012-08-13 15:17:54 -07:00
Brian Anderson
28cd0ad54b
core: Export to_str trait from top level. Closes #3175
2012-08-13 14:58:34 -07:00
Lindsey Kuper
1f52ddfe9e
Add xfail'd test for default methods.
2012-08-13 11:11:09 -07:00
Eric Holk
c7bdee81e1
Xfail-fast, because these tests use failure
2012-08-10 18:35:41 -07:00
Eric Holk
d2e9d99f81
Handle failure during select nicely. Fixes #3176
2012-08-10 18:19:42 -07:00
Eric Holk
4808d59909
Terminate blocked receive packets on failure. Fixes #3168 .
2012-08-10 16:26:22 -07:00
Eric Holk
9a1a2580fc
A better HTML parser.
2012-08-10 12:23:16 -07:00
Eric Holk
d704fc9196
An attempt at a macro to support HTML literals
2012-08-10 12:23:16 -07:00
Patrick Walton
770a21272b
rustc: Initialize the drop flag with the new struct literal syntax. Closes #3172 .
2012-08-09 19:45:37 -07:00
Graydon Hoare
f0775d7bfe
Finish translating const indexing. Close #1417 , close #570 , close #571 , close #1272 , close #2317 .
2012-08-09 16:05:34 -07:00
Lindsey Kuper
812db1ec0d
Example from lkuper's intern talk, but now with static methods!
2012-08-09 11:20:15 -07:00
Lindsey Kuper
8703d088ea
Add example from lkuper's intern talk to the test suite.
2012-08-09 11:10:09 -07:00
Graydon Hoare
a0e3a2ae8e
Const field access (working) and vec indexing (almost). More for #2317 .
2012-08-08 19:59:30 -07:00
Patrick Walton
5c9c9a6a9f
libsyntax: Parse common enum fields
2012-08-08 19:51:48 -07:00
Graydon Hoare
71bc2673ed
Fix number-peek code in fmt!, close #1610 .
2012-08-08 18:40:30 -07:00
Brian Anderson
6a0720b439
Convert impls to new syntax
2012-08-08 18:19:24 -07:00
Eric Holk
c64ffa4f5b
Updating examples
2012-08-08 18:03:27 -07:00
Tim Chevalier
febd7ee239
Make let _ = e; have the same semantics as e;
...
The first case was getting treated like a variable binding, meaning that
if e had a destructor, it wouldn't run until the end of the enclosing scope.
To me it seems less confusing for let _ = e; and e; to work exactly the same
way, so now, the destructor for e runs immediately in both cases.
2012-08-08 15:37:45 -07:00
Brian Anderson
d99ca69cf7
lint: Allow trailing underscores in camel case idents
2012-08-08 15:05:49 -07:00
Eric Holk
19c86c1e71
xfail-pretty
2012-08-08 12:00:52 -07:00
Tim Chevalier
c7d60ee053
Don't add struct names to the value name space if there's no constructor
...
Closes #3149
2012-08-08 11:53:08 -07:00
Eric Holk
bc6ba6b091
Adding some examples for my internship presentation.
2012-08-08 10:28:57 -07:00
Niko Matsakis
802ea5d57e
refactor categorization out of borrowck into its own module.
...
first step towards #3148 and #3024 .
2012-08-08 09:22:07 -07:00
Niko Matsakis
99af0d5480
new test case demonstrating ability to return ptr to interior of option
2012-08-07 20:13:03 -07:00
Patrick Walton
5ce3281a62
rustc: Parse variant structs; add a trivial test case
2012-08-07 18:55:19 -07:00
Graydon Hoare
175be53e3f
Translate const structs.
2012-08-07 17:31:26 -07:00
Michael Sullivan
7f7f47620e
Implement static typeclass methods. Closes #3132 .
2012-08-07 17:18:14 -07:00
Graydon Hoare
32e4fd62e9
Const slices now work. Something odd about non-const cases though, see #3138 .
2012-08-07 15:04:40 -07:00
Brian Anderson
92ef17aaeb
syntax: Fix parsing of inherent traits
2012-08-07 13:01:22 -07:00
Brian Anderson
2772b2e5c7
syntax: Make match arm parsing more restrictive again
...
Require comma separators for all expression types except the plain block
2012-08-07 12:23:43 -07:00
Eric Holk
672bfa5773
Working on a macro for selecting from many pipes.
2012-08-07 11:47:12 -07:00
Eric Holk
184da12896
Nifty macros for receiving from a protocol.
2012-08-07 11:47:12 -07:00
Eric Holk
d594f3701a
Use a proper protocol definition instead of the already-expanded code.
2012-08-07 11:47:11 -07:00
Ben Blum
18ac4a8e6d
Change task().future_result's argument mode
2012-08-07 14:26:41 -04:00
Niko Matsakis
0755922320
xfail-fast issue-2242
2012-08-07 07:15:47 -07:00
Niko Matsakis
dbef6e593d
move borrowck tests to use ref, fix a few exposed shortcomings
2012-08-07 06:11:12 -07:00
Patrick Walton
793c0a1116
test: Modernize and un-XFAIL issue-2242-d.rs (issue #2242 )
2012-08-06 21:40:49 -07:00
Patrick Walton
6a7c714df6
test: Add a dvec indexing operator test, which serves as a test for #2615 (cross-crate operator overloading).
2012-08-06 21:30:57 -07:00
Tim Chevalier
f3b2296ee4
Auto-deref the base expr in trans_method_callee
...
(specifically in the method_trait case) -- if you wrote x.f()
and x has type @T for a trait T, x wasn't getting auto-deref'ed.
This was bad.
Closes #2935
2012-08-06 19:17:44 -07:00
Patrick Walton
60f47eabe2
rustc: Parse and stub (broken) typechecking for bounded function types
2012-08-06 18:55:24 -07:00
Patrick Walton
253dfc3387
rustc: Implement pattern matching for structs
2012-08-06 17:36:24 -07:00
Niko Matsakis
4a216a000a
s/alt/match/
2012-08-06 16:13:52 -07:00
Niko Matsakis
a6a5c48c64
make ref x
bindings produce region ptrs and fix various minor bugs
...
we now detect inconsistent modes, binding names, and various other errors.
typeck/trans integration is mostly done.
borrowck not so much.
more tests needed.
2012-08-06 16:12:40 -07:00
Brian Anderson
ecaf9e39c9
Convert alt to match. Stop parsing alt
2012-08-06 15:36:30 -07:00
Brian Anderson
74370042aa
core: Rename task::osmain to platform_thread. #3090
2012-08-06 14:07:51 -07:00
Patrick Walton
bff512a90f
rustc: Implement functional record update for structs
2012-08-06 13:17:42 -07:00
Brian Anderson
03330baf9c
Add a test for issue #2312
2012-08-06 11:08:52 -07:00
Brian Anderson
025d86624d
Switch alts to use arrows
2012-08-05 22:08:09 -07:00
Brian Anderson
a60f9c76f5
xfail-fast run-pass/trait-composition-trivial
2012-08-04 17:37:30 -07:00
Graydon Hoare
edfc79cc47
Translate const vecs, most of const slices. More for #2317 .
2012-08-03 21:44:52 -07:00
Patrick Walton
51a5a4ad0e
rustc: Translate repeated vector syntax
2012-08-03 18:49:44 -07:00
Graydon Hoare
488ece05b5
Implement &-expressions in consts. Part of #2317 .
2012-08-03 18:07:58 -07:00
Patrick Walton
5012abde8f
test: Add a trivial test that trait composition parses
2012-08-03 15:03:19 -07:00
Eric Holk
2c06e7aac9
Fixing failing test cases
2012-08-03 12:48:14 -07:00
Patrick Walton
aa4683c181
test: Add a test case for bare static strings
2012-08-03 11:51:47 -07:00
Tim Chevalier
b0cf106e9a
Test for issue 2904, which got fixed somewhere along the line
2012-08-03 11:39:39 -07:00
Eric Holk
b3933b8822
Adding a test case for #2548
2012-08-03 10:22:16 -07:00
Niko Matsakis
cc1a2f2128
fix compilation of 2214
2012-08-03 08:05:04 -07:00
Tim Chevalier
948172b93f
Make comparisons between region pointers work
...
Region pointers were considered a scalar type, so compare_scalar_type would
get called to compare region pointers in trans. This would fail, since
compare_scalar_type has no case for region pointers.
Changed type_is_scalar to return false for region pointers. This had the side
effect of breaking casts to types of the form &T. To ameliorate that, I added
library functions ptr::assimilate (taking a &T to a *T) and ptr::to_uint
(taking a &T to a uint), both of which use reinterpret_cast.
While I was at it, I removed ty::type_has_resources, which is dead code.
2012-08-02 23:53:45 -07:00
Niko Matsakis
31c5cec55b
Purge placement new; Make borrowck know about unary move.
...
cc #3071
2012-08-02 22:36:36 -07:00
Lindsey Kuper
2f832d4b2d
test: "iface" -> "trait" in filenames.
2012-08-02 17:58:56 -07:00
Niko Matsakis
97452c0ca1
Remove modes from map API and replace with regions.
...
API is (for now) mostly by value, there are options to use it by
reference if you like. Hash and equality functions must be pure
and by reference (forward looking to the day when something
like send_map becomes the standard map).
2012-08-02 15:53:28 -07:00
Paul Stansifer
7129883b51
Allow interpolations of all the nt_*s.
2012-08-02 11:58:16 -07:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -07:00
Brian Anderson
507fba57d1
syntax: Allow any block-like expr to be used as alt arm w/o comma separator
2012-08-01 17:57:03 -07:00
Graydon Hoare
7f60c56c3e
Clean out transitional lint.
2012-08-01 13:35:40 -07:00
Patrick Walton
82198c9925
test: Fix broken test that used "move" as an identifier
2012-07-31 19:27:23 -07:00
Graydon Hoare
2a3084b527
Start implementing structured constants.
2012-07-31 18:34:44 -07:00
Brian Anderson
c4bb8f8aaf
test: Move two tests from run-pass into the libs
2012-07-31 17:30:54 -07:00
Brian Anderson
7b2026bf21
Introduce 'return', 'match' and 'module' as synonyms
2012-07-31 17:22:30 -07:00
Brian Anderson
7d18369804
syntax: Rename 'module' extension to 'module_path'
2012-07-31 17:22:30 -07:00
Brian Anderson
567f881fdf
syntax: More tweaks to make alt arrows parse and print correctly
2012-07-31 15:41:26 -07:00
Lindsey Kuper
439afaa329
Change remaining "iface" occurrences to "trait"; deprecate "iface"
2012-07-31 11:52:16 -07:00
Paul Stansifer
bf8c773936
Update tests for macro syntax change.
2012-07-30 18:38:15 -07:00
Paul Stansifer
a9cc5066ee
Change syntax extension syntax: #m[...]
-> m!{...}
.
2012-07-30 18:38:15 -07:00
Paul Stansifer
a7125971c6
Rename #mod
-> #module
to not collide with the keyword.
2012-07-30 18:04:18 -07:00
Brian Anderson
f6ce2bd831
test: Add a test for mods inside functions. Closes #493
2012-07-30 18:00:56 -07:00
Niko Matsakis
5d32d03b89
Fix #2979 : inference for lifetimes of & expressions
...
What we now do is to create a region variable for each &
expression (and also each borrow). The lifetime of this
variable will be checked by borrowck to ensure it is not greater
than the lifetime of the underlying data. This both leads to
shorter lifetimes in some cases but also longer in others,
such as taking the address to the interior of unique boxes
tht are rooted in region pointers (e.g., returning a pointer
to the interior of a sendable map).
This may lead to issue #2977 if the rvalue is not POD, because
we may drop the data in trans sooner than borrowck expects us
to. Need to work out precisely where that fix ought to occur.
2012-07-30 14:49:28 -07:00
Brian Anderson
6ef13e76e9
Reduce the difficulty of run-pass/bitv-perf-test. Valgrinds slowly
2012-07-30 12:04:58 -07:00
Tim Chevalier
082d8314da
Rewrite bitv to use classes and optimize its representation
...
Rewrote bitv as a class that uses a 32-bit int as its representation
for bit vectors of 32 bits or less, and a vector (the old representation)
otherwise. I didn't benchmark very much, but a bit of informal benchmarking
suggested this is a win.
Closes #2341
2012-07-29 18:39:15 -07:00
Patrick Walton
93c2f5e0e4
rustc: Use coherence for operator overloading.
...
The only use of the old-style impls is now placement new.
2012-07-27 19:35:24 -07:00
Brian Anderson
2407373fa4
core: Make #fmt pure
2012-07-27 15:11:22 -07:00
Tim Chevalier
300f54ebc0
Make alts on uninhabited enum types typecheck and translate properly
...
Possibly one of the silliest Rust commits ever.
Closes #3037
2012-07-27 13:14:03 -07:00