about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2015-01-03Running EUV requires the Copy lang item, so adjust privacy tests.Niko Matsakis-0/+4
2015-01-03Move upvar checking into its own pre-pass that occurs before regionckNiko Matsakis-339/+385
and which uses EUV. For now, upvar inference is not any smarter than it ever was, but regionck is simpler because it doesn't have to do as many things at once.
2015-01-03Make `ty::ParameterEnvironment`, not `ty::ctxt`, implement `Typer` andNiko Matsakis-259/+288
`UnboxedClosureTyper`. This requires adding a `tcx` field to `ParameterEnvironment` but generally simplifies everything since we only need to pass along an `UnboxedClosureTyper` or `Typer`.
2015-01-03Modify `type_known_to_meet_builtin_bound` so that it doesn't suppress overflow,Niko Matsakis-77/+149
which should always result in an error. NB. Some of the hunks in this commit rely on a later commit which adds `tcx` into `param_env` and modifies `ParameterEnvironment` to implement `Typer`.
2015-01-03Be more tolerant of errors in EUV so we can run it during typeck.Niko Matsakis-17/+41
2015-01-03Stop calling `bug()` in various weird cases and instead generate `Err()`.Niko Matsakis-35/+21
2015-01-03Re-introduce `McResult<>` as a way of aborting mem-categorization (andNiko Matsakis-130/+175
expr-use-visitor) early. Turns out I was wrong to remove this; it causes a lot of pain trying to run EUV etc during typeck without ICEing on erroneous programs.
2015-01-03auto merge of #20456 : brson/rust/packaging2, r=alexcrichtonbors-495/+3
2015-01-02Remove .pkg and .exe installersBrian Anderson-494/+2
2015-01-03auto merge of #20154 : P1start/rust/qualified-assoc-type-generics, ↵bors-59/+53
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-03auto merge of #19835 : pythonesque/rust/add-unordered-intrinsic, r=thestingerbors-0/+3
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-02auto merge of #20436 : alexcrichton/rust/rollup, r=alexcrichtonbors-4791/+6697
2015-01-02rollup merge of #20410: japaric/assoc-typesAlex Crichton-588/+898
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-02mk: Change package name from 'rust' to 'rustc'Brian Anderson-1/+1
2015-01-02Rebase test fixes v2Alex Crichton-10/+22
2015-01-02fix rpass test with s/Output/Target/gJorge Aparicio-4/+4
2015-01-02Handle recursive obligations without exiting the inference probeNiko Matsakis-16/+13
Conflicts: src/librustc/middle/traits/select.rs
2015-01-02Temporarily do not evaluate subobligations.Niko Matsakis-2/+5
2015-01-02Evaluate projection predicates during trait selection. Fixes #20296.Niko Matsakis-12/+107
2015-01-02rollup merge of #20341: nikomatsakis/impl-trait-for-trait-2Alex Crichton-392/+1114
Conflicts: src/librustc/middle/traits/mod.rs src/libstd/io/mod.rs src/test/run-pass/builtin-superkinds-self-type.rs
2015-01-02Rollup test fixes and rebase conflictsAlex Crichton-95/+56
2015-01-02Merge remote-tracking branch 'origin/master' into rollupAlex Crichton-365/+383
Conflicts: src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs
2015-01-02rollup merge of #20425: sanxiyn/opt-local-tyAlex Crichton-28/+50
This avoids having ast::Ty nodes which have no counterpart in the source.
2015-01-02rollup merge of #20416: nikomatsakis/coherenceAlex Crichton-172/+705
Conflicts: src/test/run-pass/issue-15734.rs src/test/run-pass/issue-3743.rs
2015-01-02rollup merge of #20407: michaelwoerister/unreachable-localsAlex Crichton-5/+91
Fixes #20312
2015-01-02rollup merge of #20404: japaric/at-testsAlex Crichton-0/+255
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-02rollup merge of #20392: daramos/travisAlex Crichton-0/+1
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-02rollup merge of #20391: daramos/utf8_lossyAlex Crichton-3/+7
Prior to 9bae6ec828fdc7f87838ee008cccef90e31b9f84 from_utf8_lossy had a minor optimization in place that avoided having to loop from the beginning of the input slice. Recently 4908017d59da8694b9ceaf743baf1163c1e19086 implemented Utf8Error::InvalidByte which makes this possible again.
2015-01-02rollup merge of #20388: brson/install-tweaksAlex Crichton-1/+3
r? @alexcrichton
2015-01-02rollup merge of #20386: frewsxcv/rm-reexportsAlex Crichton-3/+4
Part of #19253 [breaking-change]
2015-01-02rollup merge of #20385: nick29581/x-objectAlex Crichton-18/+50
Closes #19056
2015-01-02rollup merge of #20380: dcrewi/fix-make-installAlex Crichton-0/+4
There seems to be a problem introduced by 8b3c67690c4747b9fadfef407e6261524fb03f8a that causes "make install" to fail when the build is not configured to skip doc building.
2015-01-02rollup merge of #20334: nagisa/ffi-llvmAlex Crichton-0/+49
Fixes #20313 r? @huonw
2015-01-02rollup merge of #20227: FlashYoshi/patch-1Alex Crichton-1/+1
2015-01-02rollup merge of #19625: mrhota/guide_traitsAlex Crichton-122/+110
Nothing major. Clarification, copy-editing, typographical and grammatical consistency
2015-01-02Do not ICE when projecting out of a value with type `ty::ty_err`Niko Matsakis-15/+66
2015-01-02core: use assoc types in `Deref[Mut]`Jorge Aparicio-107/+256
2015-01-02rollup merge of #20354: alexcrichton/second-pass-thread_localAlex Crichton-44/+145
Conflicts: src/libstd/sys/common/thread_info.rs
2015-01-02rollup merge of #20315: alexcrichton/std-syncAlex Crichton-792/+167
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-02rollup merge of #20420: alexcrichton/second-pass-boxedAlex Crichton-3/+29
2015-01-02rollup merge of #20382: alexcrichton/isuse-20376Alex Crichton-28/+45
2015-01-02rollup merge of #20377: alexcrichton/issue-20352Alex Crichton-358/+319
2015-01-02rollup merge of #20273: alexcrichton/second-pass-commAlex Crichton-1160/+1138
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-02Address nits.Niko Matsakis-14/+8
2015-01-02Test that we can call unboxed closures with the sugar now. Fixes #16929.Niko Matsakis-0/+25
2015-01-02Ensure that, for every trait `Foo`, the predicate `Foo : Foo` holds.Niko Matsakis-39/+335
2015-01-02Refactor object-safety into its own (cached) module so that we canNiko Matsakis-271/+600
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-02Move the `upcast` routine into traits and use it for method selection; alsoNiko Matsakis-39/+66
move get_method_index into traits and give it a better name (`get_vtable_index_of_object_method`).
2015-01-02Do not automatically make `Self` `Sized` in traits.Niko Matsakis-9/+18
2015-01-02Fix fallout in tests.Niko Matsakis-27/+27