Commit Graph

12538 Commits

Author SHA1 Message Date
Jeff Olson
2f32c0d5c3 core: cleanup in task.rs for things missed in last rebase 2012-09-08 14:22:15 -07:00
Jeff Olson
d41af3e002 core: fix breakage in TaskBuilder.future_result
the actual "fix" in this change is the chunk that moves
`let x = self.consume()` to after the option dance that results in
the `notify_chan` in TaskBuilder.try()

the rest is cleanup/sense-making of what some of this code is doing (I'm
looking at you, future_result)
2012-09-08 14:22:15 -07:00
Jeff Olson
a8fc771f20 core: changing pipes::port/chan_one to Port/ChanOne in unsafe.rs 2012-09-08 14:22:15 -07:00
Brian Anderson
70e5a19ebf core: Fix stage0 build errors 2012-09-08 14:22:15 -07:00
Jeff Olson
63e25946f0 core: port task.rs to comm::Chan/Port to pipes::Chan/Port 2012-09-08 14:22:15 -07:00
Brian Anderson
940ef65e0e Merge pull request #3426 from killerswan/fix_incoming_2
(fix incoming) Add the necessary traits to some generic functions
2012-09-08 13:06:31 -07:00
Kevin Cantu
00d1d4e647 (fix incoming) Add the necessary traits to some generic functions 2012-09-07 21:57:40 -07:00
Brian Anderson
6be5fe2d47 Merge pull request #3425 from killerswan/fix_incoming
(partially fix incoming) More hash function simplification
2012-09-07 21:40:17 -07:00
Kevin Cantu
a12e90b65f (partially fix incoming) More hash function simplification 2012-09-07 21:08:37 -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
07fe5611ad Remove import and export from intrinsic.rs 2012-09-07 18:08:03 -07:00
Brian Anderson
cd3956054d Fix obsolete struct syntax in test 2012-09-07 17:54:47 -07:00
Brian Anderson
2810ea9a68 Convert 'again' to 'loop'. Remove 'again' keyword 2012-09-07 17:39:03 -07:00
Graydon Hoare
073df63c72 Fix long line. 2012-09-07 17:27:05 -07:00
Graydon Hoare
8b39e73697 Fix whitespace. 2012-09-07 17:26:10 -07:00
Graydon Hoare
5d823d46ad Migrate std::map to use core:#️⃣:Hash trait. Disable many hokey hashes. 2012-09-07 17:24:16 -07:00
Tim Chevalier
f5093dff7b Remove support for multiple traits in a single impl
There was half-working support for them, but they were never fully
implemented or even approved. Remove them altogether.

Closes #3410
2012-09-07 17:22:04 -07:00
Lindsey Kuper
62ab9d70f4 tutorial: swap order of "Traits" and "Modules and Crates" sections.
This puts "Traits" next to "Generics", as requested by issue #3397.
Closes #3397.
2012-09-07 20:19:11 -04: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
249668f223 Remove module keyword 2012-09-07 16:53:21 -07:00
Brian Anderson
f0eae8f1c1 Convert field terminators to commas. Stop parsing semis. 2012-09-07 16:12:15 -07:00
Patrick Walton
3078830934 libcore: Make str_eq not break with coretest 2012-09-07 16:09:38 -07:00
Patrick Walton
1fcfee674a rustc: Add a str_eq lang item for pattern matching 2012-09-07 15:46:08 -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
c21b3ff818 rustc: Make "ne" use traits 2012-09-07 12:44:53 -07:00
Patrick Walton
b4d879a2ef rustc: Trailing whitespace 2012-09-07 12:27:44 -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
c6b51547c1 In typeck, don't assume traits with default methods are in the same crate
But note that default methods still don't work cross-crate (see #2794) --
this just makes it so that when a method is missing in a cross-crate impl,
the right error message gets printed.

Closes #3344
2012-09-07 10:27:29 -07:00
Niko Matsakis
cd3cc6d17b Ensure that scratch datum's are zeroed out in the alloca phase.
This should address the valgrind failure that @elliotslaughter
was seeing, though I am not sure why the bots / test continued
to pass, since this is precisely the condition this test was looking
for!
2012-09-07 09:32:56 -07:00
Elliott Slaughter
cb53623341 gc: Add early abort when GC is disabled. 2012-09-07 09:21:22 -07:00
Elliott Slaughter
244b95490b gc: Refactoring. 2012-09-07 09:21:22 -07:00
Elliott Slaughter
d22b7ca39a gc: Documentation. 2012-09-07 09:21:22 -07:00
Elliott Slaughter
8d17308eca rt: Add rust_gc_metadata to rustrt.def.in. 2012-09-07 09:21:22 -07:00
Elliott Slaughter
5637126449 rt: Fix GC metadata for 64-bit systems. 2012-09-07 09:21:22 -07:00
Elliott Slaughter
961bd48724 gc: Fix for GC missing stack frames across segment boundaries. 2012-09-07 09:21:22 -07:00
Elliott Slaughter
578b036f9b gc: Don't expect sentinel when core is compiled without GC. 2012-09-07 09:21:22 -07:00
Elliott Slaughter
7823ad8586 gc: Avoid walking stack above caller frame.
Mark the base GC stack frame with a sentinel value so we know when to
start collecting.
2012-09-07 09:21:21 -07:00
Elliott Slaughter
88f5ab3163 gc: Fix for deallocating resources on the shared heap while cleaning stack. 2012-09-07 09:21:21 -07:00
Elliott Slaughter
3405c548e8 gc: Avoid freeing null pointers. 2012-09-07 09:21:21 -07:00
Elliott Slaughter
9ea4afe5da gc: Avoid double free when pointer appears on stack multiple times. 2012-09-07 09:21:21 -07:00
Elliott Slaughter
3f0d207b32 gc: Add stack walker for new garbage collector.
Safe points are exported in a per-module list via the crate map. A C
runtime call walks the crate map at startup and aggregates the list of
safe points for the program.

Currently the GC doesn't actually deallocate memory on malloc and
free. Adding the GC at this stage is primarily of testing value.

The GC does attempt to clean up exchange heap and stack-allocated
resource on failure.

A result of this patch is that the user now needs to be careful about
what code they write in destructors, because the GC and/or failure
cleanup may need to call destructors. Specifically, calls to malloc
are considered unsafe and may result in infinite loops or segfaults.
2012-09-07 09:21:21 -07:00
Niko Matsakis
fb8786fe52 Refactor fn_ty, working towards #3320 2012-09-07 07:54:11 -07:00
Brian Anderson
699505899e Register snappshots 2012-09-06 19:58:42 -07:00
Tim Chevalier
8152164a34 Another test for #2587 2012-09-06 16:46:59 -07:00
Tim Chevalier
0ce88fe401 Update docs to not refer to the of clause in an impl
Closes #3375
2012-09-06 16:19:34 -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
Niko Matsakis
c5e2cf2ee5 Repair long lines 2012-09-06 15:40:11 -07:00