Skip to content

Conversation

@pcwalton
Copy link
Contributor

brson and others added 30 commits January 15, 2013 18:00
This much simpler implementation uses a global mutex
and eliminates the kernel environment channel.
Conflicts:
	src/libcore/private.rs
	src/libcore/task/mod.rs
	src/libcore/task/spawn.rs
	src/libstd/net_tcp.rs
	src/libstd/uv_global_loop.rs
	src/libstd/uv_iotask.rs
contents of other borrowed pointers to the lifetimes of the
borrowed value.  Fixes rust-lang#3148.

r=catamorphism
The tail portion of the pattern effectively borrows a vector,
but the borrow checker knew nothing about this.

r=catamorphism
for notating FIXME-style-situations that you want to be reminded
of before you commit.

r=catamorphism
r=catamorphism
be necessary for reborrowing.

r=catamorphism
…orrow when

needed.

Regarding soundness: there was a subtle bug in how it was done before; see the
compile-fail test for an example.

Regarding reborrowing: reborrowing allows mut and const
slices/borrowed-pointers to be used with pure fns that expect immutable data.

r=brson
lent.  We can be more liberal with respect to the scope of the loan
if we do not own the data being lent, which used to be impossible
but can now occur with `&mut`.

r=pcwalton
…ules.

"Dual impls" are impls that are both type implementations and trait
implementations. They can lead to ambiguity and so this patch removes them
from the language.

This also enforces coherence rules. Without this patch, records can implement
traits not defined in the current crate. This patch fixes this, and updates
all of rustc to adhere to the new enforcement. Most of this patch is fixing
rustc to obey the coherence rules, which involves converting a bunch of records
to structs.
@pcwalton pcwalton closed this Jan 29, 2013
RalfJung pushed a commit to RalfJung/rust that referenced this pull request Nov 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants