bors
9c3e6082e7
auto merge of #20154 : P1start/rust/qualified-assoc-type-generics, r=nikomatsakis
...
This modifies `Parser::eat_lt` to always split up `<<`s, instead of doing so only when a lifetime name followed or the `force` parameter (now removed) was `true`. This is because `Foo<<TYPE` is now a valid start to a type, whereas previously only `Foo<<LIFETIME` was valid.
This is a [breaking-change]. Change code that looks like this:
```rust
let x = foo as bar << 13;
```
to use parentheses, like this:
```rust
let x = (foo as bar) << 13;
```
Closes #17362 .
2015-01-03 03:25:21 +00:00
bors
a6b109723a
auto merge of #19835 : pythonesque/rust/add-unordered-intrinsic, r=thestinger
...
This corresponds to the JMM memory model's non-volatile reads and writes to shared variables. It provides fairly weak guarantees, but prevents UB (specifically, you will never see a value that was not written _at some point_ to the provided location). It is not part of the C++ memory model and is only legal to provide to LLVM for loads and stores (not fences, atomicrmw, etc.).
Valid uses of this ordering are things like racy counters where you don't care about the operation actually being atomic, just want to avoid UB. It cannot be used for synchronization without additional memory barriers since unordered loads and stores may be reordered freely by the optimizer (this is the main way it differs from relaxed).
Because it is new to Rust and it provides so few guarantees, for now only the intrinsic is provided--this patch doesn't add it to any of the higher-level atomic wrappers.
2015-01-03 01:10:40 +00:00
bors
c89417130f
auto merge of #20436 : alexcrichton/rust/rollup, r=alexcrichton
2015-01-02 21:56:13 +00:00
Alex Crichton
340f3fd7a9
rollup merge of #20410 : japaric/assoc-types
...
Conflicts:
src/liballoc/lib.rs
src/libcollections/lib.rs
src/libcollections/slice.rs
src/libcore/ops.rs
src/libcore/prelude.rs
src/libcore/ptr.rs
src/librustc/middle/traits/project.rs
src/libstd/c_str.rs
src/libstd/io/mem.rs
src/libstd/io/mod.rs
src/libstd/lib.rs
src/libstd/path/posix.rs
src/libstd/path/windows.rs
src/libstd/prelude.rs
src/libstd/rt/exclusive.rs
src/libsyntax/lib.rs
src/test/compile-fail/issue-18566.rs
src/test/run-pass/deref-mut-on-ref.rs
src/test/run-pass/deref-on-ref.rs
src/test/run-pass/dst-deref-mut.rs
src/test/run-pass/dst-deref.rs
src/test/run-pass/fixup-deref-mut.rs
src/test/run-pass/issue-13264.rs
src/test/run-pass/overloaded-autoderef-indexing.rs
2015-01-02 13:51:50 -08:00
Brian Anderson
e95cbb3aca
mk: Change package name from 'rust' to 'rustc'
2015-01-02 13:36:51 -08:00
Alex Crichton
8cf9929a9a
Rebase test fixes v2
2015-01-02 12:09:47 -08:00
Jorge Aparicio
1abee08cbd
fix rpass test with s/Output/Target/g
2015-01-02 14:23:46 -05:00
Niko Matsakis
fc7d8faba8
Handle recursive obligations without exiting the inference probe
...
Conflicts:
src/librustc/middle/traits/select.rs
2015-01-02 14:22:00 -05:00
Niko Matsakis
45468f37c8
Temporarily do not evaluate subobligations.
2015-01-02 14:21:49 -05:00
Niko Matsakis
ea1ad792f9
Evaluate projection predicates during trait selection. Fixes #20296 .
2015-01-02 14:21:37 -05:00
Alex Crichton
4459b1dced
rollup merge of #20341 : nikomatsakis/impl-trait-for-trait-2
...
Conflicts:
src/librustc/middle/traits/mod.rs
src/libstd/io/mod.rs
src/test/run-pass/builtin-superkinds-self-type.rs
2015-01-02 11:13:05 -08:00
Alex Crichton
e921e3f045
Rollup test fixes and rebase conflicts
2015-01-02 10:50:13 -08:00
Alex Crichton
1f2ead1629
Merge remote-tracking branch 'origin/master' into rollup
...
Conflicts:
src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs
2015-01-02 10:50:07 -08:00
Alex Crichton
6f567e0c29
rollup merge of #20425 : sanxiyn/opt-local-ty
...
This avoids having ast::Ty nodes which have no counterpart in the source.
2015-01-02 09:23:47 -08:00
Alex Crichton
735c308aed
rollup merge of #20416 : nikomatsakis/coherence
...
Conflicts:
src/test/run-pass/issue-15734.rs
src/test/run-pass/issue-3743.rs
2015-01-02 09:23:42 -08:00
Alex Crichton
4dab96758a
rollup merge of #20407 : michaelwoerister/unreachable-locals
...
Fixes #20312
2015-01-02 09:22:50 -08:00
Alex Crichton
b51ff9f06a
rollup merge of #20404 : japaric/at-tests
...
Closes #17732
Closes #18819
Closes #19479
Closes #19631
Closes #19632
Closes #19850
Closes #19883
Closes #20005
Closes #20009
Closes #20389
---
cc @nikomatsakis @sfackler
2015-01-02 09:22:47 -08:00
Alex Crichton
3dfb29e8cd
rollup merge of #20392 : daramos/travis
...
Travis recently launched their new infrastructure on Amazon EC2 with improved resources. The only limitation is that they don't support sudo. http://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/
I couldn't find anywhere where the build system uses sudo so I don't think that limitation affects rust builds.
This change drops the current `make tidy` times [slightly](https://travis-ci.org/daramos/rust/builds )(travis-test branch).
2015-01-02 09:22:44 -08:00
Alex Crichton
c5b9ffdee6
rollup merge of #20391 : daramos/utf8_lossy
...
Prior to 9bae6ec828
from_utf8_lossy had a minor optimization in place that avoided having to loop from the beginning of the input slice.
Recently 4908017d59
implemented Utf8Error::InvalidByte which makes this possible again.
2015-01-02 09:22:42 -08:00
Alex Crichton
e80b9811a6
rollup merge of #20388 : brson/install-tweaks
...
r? @alexcrichton
2015-01-02 09:22:40 -08:00
Alex Crichton
9ca8076cb7
rollup merge of #20386 : frewsxcv/rm-reexports
...
Part of #19253
[breaking-change]
2015-01-02 09:22:37 -08:00
Alex Crichton
073fd5beab
rollup merge of #20385 : nick29581/x-object
...
Closes #19056
2015-01-02 09:22:35 -08:00
Alex Crichton
3cf1992c99
rollup merge of #20380 : dcrewi/fix-make-install
...
There seems to be a problem introduced by
8b3c67690c
that causes "make install"
to fail when the build is not configured to skip doc building.
2015-01-02 09:22:22 -08:00
Alex Crichton
b9a26bf4b1
rollup merge of #20334 : nagisa/ffi-llvm
...
Fixes #20313
r? @huonw
2015-01-02 09:22:18 -08:00
Alex Crichton
656d5bbb92
rollup merge of #20227 : FlashYoshi/patch-1
2015-01-02 09:22:15 -08:00
Alex Crichton
5bd7a78f66
rollup merge of #19625 : mrhota/guide_traits
...
Nothing major. Clarification, copy-editing, typographical and grammatical consistency
2015-01-02 09:22:10 -08:00
Niko Matsakis
cddb41dd1f
Do not ICE when projecting out of a value with type ty::ty_err
2015-01-02 12:20:29 -05:00
Jorge Aparicio
64b7c22c46
core: use assoc types in Deref[Mut]
2015-01-02 12:19:59 -05:00
Alex Crichton
4b0e084aa1
rollup merge of #20354 : alexcrichton/second-pass-thread_local
...
Conflicts:
src/libstd/sys/common/thread_info.rs
2015-01-02 09:19:45 -08:00
Alex Crichton
009ec5d2b0
rollup merge of #20315 : alexcrichton/std-sync
...
Conflicts:
src/libstd/rt/exclusive.rs
src/libstd/sync/barrier.rs
src/libstd/sys/unix/pipe.rs
src/test/bench/shootout-binarytrees.rs
src/test/bench/shootout-fannkuch-redux.rs
2015-01-02 09:19:00 -08:00
Alex Crichton
0101bbe7ac
rollup merge of #20420 : alexcrichton/second-pass-boxed
2015-01-02 09:17:08 -08:00
Alex Crichton
faf53559c6
rollup merge of #20382 : alexcrichton/isuse-20376
2015-01-02 09:16:47 -08:00
Alex Crichton
074996d6f9
rollup merge of #20377 : alexcrichton/issue-20352
2015-01-02 09:16:26 -08:00
Alex Crichton
8b7d032014
rollup merge of #20273 : alexcrichton/second-pass-comm
...
Conflicts:
src/doc/guide.md
src/libcollections/bit.rs
src/libcollections/btree/node.rs
src/libcollections/slice.rs
src/libcore/ops.rs
src/libcore/prelude.rs
src/librand/rand_impls.rs
src/librustc/middle/check_match.rs
src/librustc/middle/infer/region_inference/mod.rs
src/librustc_driver/lib.rs
src/librustdoc/test.rs
src/libstd/bitflags.rs
src/libstd/io/comm_adapters.rs
src/libstd/io/mem.rs
src/libstd/io/mod.rs
src/libstd/io/net/pipe.rs
src/libstd/io/net/tcp.rs
src/libstd/io/net/udp.rs
src/libstd/io/pipe.rs
src/libstd/io/process.rs
src/libstd/io/stdio.rs
src/libstd/io/timer.rs
src/libstd/io/util.rs
src/libstd/macros.rs
src/libstd/os.rs
src/libstd/path/posix.rs
src/libstd/path/windows.rs
src/libstd/prelude/v1.rs
src/libstd/rand/mod.rs
src/libstd/rand/os.rs
src/libstd/sync/barrier.rs
src/libstd/sync/condvar.rs
src/libstd/sync/future.rs
src/libstd/sync/mpsc/mod.rs
src/libstd/sync/mpsc/mpsc_queue.rs
src/libstd/sync/mpsc/select.rs
src/libstd/sync/mpsc/spsc_queue.rs
src/libstd/sync/mutex.rs
src/libstd/sync/once.rs
src/libstd/sync/rwlock.rs
src/libstd/sync/semaphore.rs
src/libstd/sync/task_pool.rs
src/libstd/sys/common/helper_thread.rs
src/libstd/sys/unix/process.rs
src/libstd/sys/unix/timer.rs
src/libstd/sys/windows/c.rs
src/libstd/sys/windows/timer.rs
src/libstd/sys/windows/tty.rs
src/libstd/thread.rs
src/libstd/thread_local/mod.rs
src/libstd/thread_local/scoped.rs
src/libtest/lib.rs
src/test/auxiliary/cci_capture_clause.rs
src/test/bench/shootout-reverse-complement.rs
src/test/bench/shootout-spectralnorm.rs
src/test/compile-fail/array-old-syntax-2.rs
src/test/compile-fail/bind-by-move-no-guards.rs
src/test/compile-fail/builtin-superkinds-self-type.rs
src/test/compile-fail/comm-not-freeze-receiver.rs
src/test/compile-fail/comm-not-freeze.rs
src/test/compile-fail/issue-12041.rs
src/test/compile-fail/unsendable-class.rs
src/test/run-pass/builtin-superkinds-capabilities-transitive.rs
src/test/run-pass/builtin-superkinds-capabilities-xc.rs
src/test/run-pass/builtin-superkinds-capabilities.rs
src/test/run-pass/builtin-superkinds-self-type.rs
src/test/run-pass/capturing-logging.rs
src/test/run-pass/closure-bounds-can-capture-chan.rs
src/test/run-pass/comm.rs
src/test/run-pass/core-run-destroy.rs
src/test/run-pass/drop-trait-enum.rs
src/test/run-pass/hashmap-memory.rs
src/test/run-pass/issue-13494.rs
src/test/run-pass/issue-3609.rs
src/test/run-pass/issue-4446.rs
src/test/run-pass/issue-4448.rs
src/test/run-pass/issue-8827.rs
src/test/run-pass/issue-9396.rs
src/test/run-pass/ivec-tag.rs
src/test/run-pass/rust-log-filter.rs
src/test/run-pass/send-resource.rs
src/test/run-pass/send-type-inference.rs
src/test/run-pass/sendable-class.rs
src/test/run-pass/spawn-types.rs
src/test/run-pass/task-comm-0.rs
src/test/run-pass/task-comm-10.rs
src/test/run-pass/task-comm-11.rs
src/test/run-pass/task-comm-13.rs
src/test/run-pass/task-comm-14.rs
src/test/run-pass/task-comm-15.rs
src/test/run-pass/task-comm-16.rs
src/test/run-pass/task-comm-3.rs
src/test/run-pass/task-comm-4.rs
src/test/run-pass/task-comm-5.rs
src/test/run-pass/task-comm-6.rs
src/test/run-pass/task-comm-7.rs
src/test/run-pass/task-comm-9.rs
src/test/run-pass/task-comm-chan-nil.rs
src/test/run-pass/task-spawn-move-and-copy.rs
src/test/run-pass/task-stderr.rs
src/test/run-pass/tcp-accept-stress.rs
src/test/run-pass/tcp-connect-timeouts.rs
src/test/run-pass/tempfile.rs
src/test/run-pass/trait-bounds-in-arc.rs
src/test/run-pass/trivial-message.rs
src/test/run-pass/unique-send-2.rs
src/test/run-pass/unique-send.rs
src/test/run-pass/unwind-resource.rs
2015-01-02 09:15:54 -08:00
Niko Matsakis
704ed4c7d0
Address nits.
2015-01-02 12:09:38 -05:00
Niko Matsakis
a535f2aab1
Test that we can call unboxed closures with the sugar now. Fixes #16929 .
2015-01-02 12:09:38 -05:00
Niko Matsakis
dabd7507b6
Ensure that, for every trait Foo
, the predicate Foo : Foo
holds.
2015-01-02 12:09:38 -05:00
Niko Matsakis
19dcecb225
Refactor object-safety into its own (cached) module so that we can
...
check it more easily; also extend object safety to cover sized types
as well as static methods. This makes it sufficient so that we can
always ensure that `Foo : Foo` holds for any trait `Foo`.
2015-01-02 12:08:36 -05:00
Niko Matsakis
2c1d7a7caa
Move the upcast
routine into traits and use it for method selection; also
...
move get_method_index into traits and give it a better name (`get_vtable_index_of_object_method`).
2015-01-02 12:08:36 -05:00
Niko Matsakis
50ed6c1906
Do not automatically make Self
Sized
in traits.
2015-01-02 12:08:36 -05:00
Niko Matsakis
5b425c1b2f
Fix fallout in tests.
2015-01-02 12:08:36 -05:00
Corey Richardson
d555772554
rustdoc: fix rendering of associated types
2015-01-02 12:07:04 -05:00
Jorge Aparicio
cc5ecaf765
merge *SliceExt
traits, use assoc types in SliceExt
, Raw[Mut]Ptr
2015-01-02 12:07:04 -05:00
Niko Matsakis
1b3734f8ae
Fix fallout from change, adding explicit Sized
annotations where necessary.
2015-01-02 12:06:59 -05:00
Alex Crichton
167683da23
Register new snapshots
2015-01-02 12:05:56 -05:00
Alex Crichton
5696ea5894
rollup merge of #20157 : alexcrichton/issue-20068
2015-01-02 08:54:58 -08:00
Steve Klabnik
76e3bc2338
Properly deal with Ordering in the guide
...
Now that it's been removed from the prelude, we need to treat things differently.
Fixes #17967
2015-01-02 08:54:06 -08:00
Alex Crichton
56290a0044
std: Stabilize the prelude module
...
This commit is an implementation of [RFC 503][rfc] which is a stabilization
story for the prelude. Most of the RFC was directly applied, removing reexports.
Some reexports are kept around, however:
* `range` remains until range syntax has landed to reduce churn.
* `Path` and `GenericPath` remain until path reform lands. This is done to
prevent many imports of `GenericPath` which will soon be removed.
* All `io` traits remain until I/O reform lands so imports can be rewritten all
at once to `std::io::prelude::*`.
This is a breaking change because many prelude reexports have been removed, and
the RFC can be consulted for the exact list of removed reexports, as well as to
find the locations of where to import them.
[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0503-prelude-stabilization.md
[breaking-change]
Closes #20068
2015-01-02 08:54:06 -08:00
bors
4b40bc85cb
auto merge of #20365 : nick29581/rust/mod, r=huonw
...
Part of #20361 and #20362
2015-01-02 16:31:26 +00:00
bors
71b46b18a2
auto merge of #20356 : Gankro/rust/stab, r=aturon
...
This stabilizes most of libcollections, carefully avoiding sections of API which are being managed in other PRs. APIs which are not stable are marked explicitly unstable with a reason.
Deprecates:
* DList
* rotate_forward
* rotate_backward
* prepend
* insert_when
* insert_ordered
* merge
* VecMap
* update
* update_with_key
* Renames and newtypes the Bitv and BitvSet iterators to match conventions.
* Removes the Copy impl from DList's Iter.
as such this is a
[breaking-change]
2015-01-02 15:51:25 +00:00