about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2014-10-25split platform definitions out of mk/platform.mkCody P Schafer-465/+453
The goal here is to make it easier to add new platform definitions, especially when the additions are programmatic (ie: in build scripts).
2014-10-25auto merge of #18176 : jkleint/rust/guide-borrow-wording, r=steveklabnikbors-15/+18
Explain the primary disadvantage of garbage collection is runtime overhead and unpredictable pauses. Elucidate where the name "race condition" comes from. Emphasize that Rust can guarantee your code is free of race conditions and other memory errors, with no runtime overhead. cc @steveklabnik
2014-10-25auto merge of #18171 : jakub-/rust/match-typeck, r=pcwaltonbors-747/+490
Rather than doing it top-down, with a known expected type, we will now simply establish the appropriate constraints between the pattern and the expression it destructures. Closes #8783. Closes #10200.
2014-10-25auto merge of #18080 : veddan/rust/assume, r=thestingerbors-0/+40
Adds an `assume` intrinsic that gets translated to llvm.assume. It is used on a boolean expression and allows the optimizer to assume that the expression is true. This implements #18051.
2014-10-24Update tests with the new error messagesJakub Bukaj-29/+56
2014-10-24Overhaul typechecking of patternsJakub Bukaj-717/+415
Instead of checking patterns in a top-down fashion with a known expected type on entry, this changes makes typeck establish appropriate constraints between a pattern and the expression it destructures, and lets inference compute the final types or produce good error messages if it's impossible.
2014-10-24Do not accept functions in enum patterns past resolveJakub Bukaj-1/+19
2014-10-24auto merge of #16388 : Zoxc/rust/stmesg, r=alexcrichtonbors-43/+774
This installs signal handlers to print out stack overflow messages on Linux. It also ensures the main thread has a guard page. This will catch stack overflows in external code. It's done in preparation of switching to stack probes (#16012). I've done some simple tests with overflowing the main thread, native threads and green threads (with and without UV) on x86-64. This might work on ARM, MIPS and x86-32. I've been unable to run the test suite on this because of #16305.
2014-10-24auto merge of #17813 : P1start/rust/lint-field-shorthand, r=huonwbors-203/+266
Closes #17792.
2014-10-24Print stack overflow messages for Windows, Linux and OS XJohn Kåre Alsaker-33/+774
Fixes #17562
2014-10-24auto merge of #17896 : mahkoh/rust/intmax, r=alexcrichtonbors-0/+16
Closes #17075 I don't know if this is correct. The easiest way to find out is to run the following program on all targets but I can't do it myself. ```c #include <stdint.h> #include <stdio.h> int main(void) { if (sizeof(intmax_t) != 8) { puts("ERROR"); return 1; } } ```
2014-10-24Add a lint for not using field pattern shorthandsP1start-203/+266
Closes #17792.
2014-10-24Fix sigaction on OS XJohn Kåre Alsaker-10/+0
2014-10-24auto merge of #17960 : mahkoh/rust/clone_from_slice, r=pcwaltonbors-4/+7
Old vs. New vs. Vec::push_all ``` test slice ... bench: 3091942 ns/iter (+/- 54460) test slice_new ... bench: 1800065 ns/iter (+/- 69513) test vec ... bench: 1804805 ns/iter (+/- 75609) ```
2014-10-23auto merge of #17683 : gereeter/rust/ident-to-name, r=pcwaltonbors-371/+355
This does a large chunk of #6993. It is based on top of #17654.
2014-10-23auto merge of #18253 : steveklabnik/rust/small_doc_fixes, r=huonwbors-1/+1
All these stars aren't needed anymore.
2014-10-23Improve code in the intro.Steve Klabnik-1/+1
All these stars aren't needed anymore.
2014-10-23auto merge of #18217 : mikedilger/rust/bug_report_instructions, r=pnkfelixbors-3/+15
Fixed as per @pnkfelix comments in #17848
2014-10-23auto merge of #17868 : nick29581/rust/valgrind, r=alexcrichtonbors-36/+110
r? @alexcrichton
2014-10-23Error if we should be able to Valgrind but can'tNick Cameron-22/+50
2014-10-22Part of #6993. Moved a bunch of uses of Ident to NameJonathan S-371/+355
2014-10-23Remove support for .rc files from test.mkNick Cameron-12/+6
2014-10-23Make rpass-valgrind work with prettyNick Cameron-2/+7
2014-10-23Move some tests to run-pass-valgrindNick Cameron-0/+0
2014-10-23Add run-pass-valgrind testsNick Cameron-9/+56
Closes #16914
2014-10-22auto merge of #18224 : nikomatsakis/rust/issue-17594, r=alexcrichtonbors-0/+33
Add test for issue #17594 Fixes #17594
2014-10-22auto merge of #18092 : michaelwoerister/rust/lldb-test-versioning, ↵bors-36/+135
r=alexcrichton Now that there are build bots with a stable enough LLDB version on OSX we can finally let the tests run on every PR! :joy_cat:
2014-10-22auto merge of #17846 : tomjakubowski/rust/rustdoc-hide-private-traits, ↵bors-1/+12
r=alexcrichton Fix #16563
2014-10-22auto merge of #18230 : cakebaker/rust/adapt_range_value_to_variable_name, ↵bors-2/+2
r=steveklabnik The variable name <code>one_to_one_hundred</code> implies that it will contain a collection with the values from 1 to 100, but the collection contains the values from 0 to 99. This patch changes the ranges to produce a collection with the values from 1 to 100.
2014-10-22Guide: Adapt range values to variable nameDaniel Hofstetter-2/+2
2014-10-22auto merge of #18223 : nikomatsakis/rust/coherence-orphan-18222, r=pcwaltonbors-3/+42
Adjust orphan rules to consider all input types, not just self type. Fixes #18222. r? @pcwalton
2014-10-22debuginfo: Print more output in lldb_batchmode.py for better error logs.Michael Woerister-2/+9
2014-10-22debuginfo: Let LLDB tests run in parallel again since our min-supported ↵Michael Woerister-11/+1
version has no problems with that.
2014-10-22debuginfo: Enable LLDB test suite on Darwin.Michael Woerister-3/+4
2014-10-22debuginfo: Make some path LLDB-related paths in the test runner absolute to ↵Michael Woerister-4/+21
help the build bots.
2014-10-22debuginfo: Gate all LLDB debuginfo tests on a minimum LLDB version being ↵Michael Woerister-16/+100
available
2014-10-22auto merge of #18141 : phildawes/rust/master, r=brsonbors-3/+49
Hello! I noticed spans are wrong for the PatIdents of self args. (I use spans a lot in racer)
2014-10-22auto merge of #18213 : pcwalton/rust/pcg-default, r=aturonbors-1/+25
Enable parallel codegen (2 units) by default when --opt-level is 0 or 1. This gives a minor speedup on large crates (~10%), with only a tiny slowdown (~2%) for small ones (which usually build in under a second regardless). The current default (no parallelization) is used when the user requests optimization (--opt-level 2 or 3), and when the user has enabled LTO (which is incompatible with parallel codegen). This commit also changes the rust build system to use parallel codegen when appropriate. This means codegen-units=4 for stage0 always, and also for stage1 and stage2 when configured with --disable-optimize. (Other settings use codegen-units=1 for stage1 and stage2, to get maximum performance for release binaries.) The build system also sets codegen-units=1 for compiletest tests (compiletest does its own parallelization) and uses the same setting as stage2 for crate tests. r? @aturon
2014-10-21Add test for issue #17594Niko Matsakis-0/+33
2014-10-21Adjust orphan rules to consider all input types, not just self type.Niko Matsakis-3/+42
Fixes #18222.
2014-10-22Fix issue #17848 (Questionable advice in bug report instructions)Mike Dilger-3/+15
2014-10-22auto merge of #18121 : ↵bors-864/+1464
nikomatsakis/rust/method-call-use-trait-matching-infrastructure-2, r=pcwalton Convert trait method dispatch to use new trait matching machinery. This fixes about 90% of #17918. What remains to be done is to make inherent dispatch work with conditional dispatch as well. I plan to do this in a future patch by generalizing the "method match" code slightly to work for inherent impls as well (the basic algorithm is precisely the same). Fixes #17178. This is a [breaking-change] for two reasons: 1. The old code was a bit broken. I found various minor cases, particularly around operators, where the old code incorrectly matched, but an extra `*` or other change is now required. (See commit e8cef25 ("Correct case where the old version of method lookup...") for examples.) 2. The old code didn't type check calls against the method signature from the *trait* but rather the *impl*. The two can be different in subtle ways. This makes the new method dispatch both more liberal and more conservative than the original. (See commit 8308332 ("The new method lookup mechanism typechecks...") for examples.) r? @pcwalton since he's been reviewing most of this series of changes f? @nick29581 for commit 39df55f ("Permit DST types to unify like other types") cc @aturon as this relates to library stabilization
2014-10-21enable parallel codegen by defaultStuart Pernsteiner-1/+25
Enable parallel codegen (2 units) by default when --opt-level is 0 or 1. This gives a minor speedup on large crates (~10%), with only a tiny slowdown (~2%) for small ones (which usually build in under a second regardless). The current default (no parallelization) is used when the user requests optimization (--opt-level 2 or 3), and when the user has enabled LTO (which is incompatible with parallel codegen). This commit also changes the rust build system to use parallel codegen when appropriate. This means codegen-units=4 for stage0 always, and also for stage1 and stage2 when configured with --disable-optimize. (Other settings use codegen-units=1 for stage1 and stage2, to get maximum performance for release binaries.) The build system also sets codegen-units=1 for compiletest tests (compiletest does its own parallelization) and uses the same setting as stage2 for crate tests.
2014-10-21Patch up broken error messagesNiko Matsakis-2/+3
2014-10-21auto merge of #18203 : mahkoh/rust/cstring, r=thestingerbors-9/+1
This is about 20x faster on my machine.
2014-10-21Address nits by @pcwaltonNiko Matsakis-9/+12
2014-10-21Coherence tests that seemed to be missing.Niko Matsakis-0/+72
2014-10-21Tests for method resolution in the face of various ambiguities or ↵Niko Matsakis-13/+204
non-ambiguities. These are mostly new tests though I also revamped (and renamed) some of the existing tests.
2014-10-21Various minor cases where errors are reported in slightly different ways.Niko Matsakis-12/+19
2014-10-21Test where the old infrastructure failed to detect the (applicable) impl of ↵Niko Matsakis-1/+3
`FnMut` for some reason.