summary refs log tree commit diff
path: root/src/test/compile-fail
AgeCommit message (Collapse)AuthorLines
2014-01-08auto merge of #11370 : alexcrichton/rust/issue-10465, r=pwaltonbors-0/+33
Turned out to be a 2-line fix, but the compiler fallout was huge.
2014-01-07Fix leaking trait imports across modulesAlex Crichton-0/+33
Turns out the pass in resolve was a little too eager to travel back up the hierarchy chain when looking for trait candidates. Closes #10465
2014-01-07'borrowed pointer' -> 'reference'Brian Anderson-11/+11
2014-01-07auto merge of #11329 : fhahn/rust/unused-cast-lint2, r=alexcrichtonbors-0/+24
Updates as mentioned in #11135
2014-01-06Add lint for unnecessary castsFlorian Hahn-0/+24
2014-01-05Remove a fixmeCorey Richardson-0/+23
pcwalton says this is right, and it looks right to me too. Closes #4731
2014-01-04rustc: Add error about obsolete struct derefBrian Anderson-0/+15
2014-01-04Don't allow newtype structs to be dereferenced. #6246Brian Anderson-98/+8
2014-01-04Don't allow single-variant enums to be dereferenced. #6246Brian Anderson-24/+0
I'm not sure if this was even intentional at this point.
2014-01-03auto merge of #11251 : pcwalton/rust/remove-at-mut, r=pcwaltonbors-210/+32
r? @nikomatsakis for the borrow checker changes. Write guards are now eliminated.
2014-01-03test: De-`@mut` the test suitePatrick Walton-99/+31
2014-01-03test: Get rid of some `@mut`s in borrow check testsPatrick Walton-43/+1
2014-01-03test: Make `borrowck-assign-to-subfield` into a run-pass test, now thatPatrick Walton-41/+0
it no longer has boxes in it
2014-01-03test: Remove all borrow check write guard testsPatrick Walton-27/+0
2014-01-03auto merge of #11264 : am0d/rust/crate_type_lint, r=alexcrichtonbors-0/+12
This ensures that the `crate_type` attribute always contains a value, and does not contain an invalid value. Fixes #11256.
2014-01-03auto merge of #11149 : alexcrichton/rust/remove-either, r=brsonbors-5/+7
Had to change some stuff in typeck to bootstrap (getting methods in fmt off of Either), but other than that not so painful. Closes #9157
2014-01-03Remove std::eitherAlex Crichton-5/+7
2014-01-01auto merge of #11246 : ktt3ja/rust/issue-11224, r=alexcrichtonbors-0/+16
Close #11224
2014-01-01auto merge of #11245 : alexcrichton/rust/issue-11225, r=pcwaltonbors-0/+1
Commit messages are a little more descriptive.
2014-01-02Test column offset for #11184Jan Niklas Hasse-0/+1
2014-01-01Add linting for `crate_type` attribute values.a_m0d-0/+12
This ensures that the `crate_type` attribute always contains a value, and does not contain an invalid value.
2014-01-01Don't leave lingering files in doc testsAlex Crichton-0/+1
Closes #11234
2014-01-02syntax: expand impl_pretty_name to handle more cases.Huon Wilson-2/+2
The resulting symbol names aren't very pretty at all: trait Trait { fn method(&self); } impl<'a> Trait for ~[(&'a int, fn())] { fn method(&self) {} } gives Trait$$UP$$VEC$$TUP_2$$BP$int$$FN$$::method::...hash...::v0.0 However, at least it contain some reference to the Self type, unlike `Trait$__extensions__::method:...`, which is what the symbol name used to be for anything other than `impl Trait for foo::bar::Baz` (which became, and still becomes, `Trait$Baz::method`).
2013-12-31auto merge of #11157 : alexcrichton/rust/issue-11154, r=pcwaltonbors-0/+15
Closes #11154
2013-12-31Mark provided methods in dead-code passKiet Tran-0/+16
2013-12-31Disallow LTO with a preference to dynamic linkingAlex Crichton-0/+15
Closes #11154
2013-12-29Rename uses of PkgId to CrateId in librustpkgLuis de Bethencourt-8/+8
2013-12-27Add tests for trait object coercion.Luqman Aden-2/+66
2013-12-25Test fixes and rebase conflictsAlex Crichton-1/+1
* vec::raw::to_ptr is gone * Pausible => Pausable * Removing @ * Calling the main task "<main>" * Removing unused imports * Removing unused mut * Bringing some libextra tests up to date * Allowing compiletest to work at stage0 * Fixing the bootstrap-from-c rmake tests * assert => rtassert in a few cases * printing to stderr instead of stdout in fail!()
2013-12-22auto merge of #11111 : alexcrichton/rust/issue-11039, r=brsonbors-0/+17
None of these primitives should be Freeze because sharing them in an Arc is a very bad idea. Closes #11039
2013-12-21auto merge of #10997 : ↵bors-0/+15
cadencemarseille/rust/issue-10755-ICE-for-missing-linker, r=alexcrichton Trap the io_error condition so that a more informative error message is displayed when the linker program cannot be started, such as when the name of the linker binary is accidentally mistyped. closes #10755
2013-12-21Guarantee comm primitives are not FreezeAlex Crichton-0/+17
None of these primitives should be Freeze because sharing them in an Arc is a very bad idea. Closes #11039
2013-12-20auto merge of #11075 : alexcrichton/rust/issue-10392, r=brsonbors-0/+35
We decided in the 12/10/13 weekly meeting that trailing commas should be accepted pretty much anywhere. They are currently not allowed in struct patterns, and this commit adds support for that. Closes #10392
2013-12-19Accept trailing commas in struct patternsAlex Crichton-0/+35
We decided in the 12/10/13 weekly meeting that trailing commas should be accepted pretty much anywhere. They are currently not allowed in struct patterns, and this commit adds support for that. Closes #10392
2013-12-20rustc: Handle `#[link(name = "")]` errorklutzy-0/+1
2013-12-18Fix #10755 - ICE: `--linker=`Cadence Marseille-0/+15
Trap the io_error condition so that a more informative error message is displayed when the linker program cannot be started, such as when the name of the linker binary is accidentally mistyped. closes #10755
2013-12-18auto merge of #11012 : alexcrichton/rust/needstest, r=alexcrichtonbors-0/+45
Closes #5806 Closes #8259 Closes #8578 Closes #8851 Closes #10412
2013-12-18Adding tests for closed issuesAlex Crichton-0/+45
Closes #5806 Closes #5950 Closes #7178 Closes #8259 Closes #8578 Closes #8851 Closes #9129 Closes #10412
2013-12-18auto merge of #11024 : huonw/rust/return-from-closures, r=alexcrichtonbors-15/+0
With the old `for` gone, this behaviour is no longer conflicting with that use of `return` in closures, and this allows shortcircuiting in a closure.
2013-12-18rustc: Allow `return` to return from a closure.Huon Wilson-15/+0
With the old `for` gone, this behaviour is no longer conflicting with that use of `return` in closures, and this allows shortcircuiting in a closure.
2013-12-17auto merge of #11019 : alexcrichton/rust/issue-10545, r=pcwaltonbors-0/+20
This code in resolve accidentally forced all types with an impl to become public. This fixes it by default inheriting the privacy of what was previously there and then becoming `true` if nothing else exits. Closes #10545
2013-12-17auto merge of #11009 : ktt3ja/rust/issue-11006, r=alexcrichtonbors-0/+4
Fix #11006.
2013-12-17Don't allow impls to force public typesAlex Crichton-0/+20
This code in resolve accidentally forced all types with an impl to become public. This fixes it by default inheriting the privacy of what was previously there and then becoming `true` if nothing else exits. Closes #10545
2013-12-17auto merge of #10990 : ktt3ja/rust/method-stability, r=huonwbors-28/+72
If it's a trait method, this checks the stability attribute of the method inside the trait definition. Otherwise, it checks the method implementation itself. Close #8961.
2013-12-17auto merge of #10830 : alexcrichton/rust/spsc-queue, r=brsonbors-10/+4
This pull request completely rewrites std::comm and all associated users. Some major bullet points * Everything now works natively * oneshots have been removed * shared ports have been removed * try_recv no longer blocks (recv_opt blocks) * constructors are now Chan::new and SharedChan::new * failure is propagated on send * stream channels are 3x faster I have acquired the following measurements on this patch. I compared against Go, but remember that Go's channels are fundamentally different than ours in that sends are by-default blocking. This means that it's not really a totally fair comparison, but it's good to see ballpark numbers for anyway ``` oneshot stream shared1 std 2.111 3.073 1.730 my 6.639 1.037 1.238 native 5.748 1.017 1.250 go8 1.774 3.575 2.948 go8-inf slow 0.837 1.376 go8-128 4.832 1.430 1.504 go1 1.528 1.439 1.251 go2 1.753 3.845 3.166 ``` I had three benchmarks: * oneshot - N times, create a "oneshot channel", send on it, then receive on it (no task spawning) * stream - N times, send from one task to another task, wait for both to complete * shared1 - create N threads, each of which sends M times, and a port receives N*M times. The rows are as follows: * `std` - the current libstd implementation (before this pull request) * `my` - this pull request's implementation (in M:N mode) * `native` - this pull request's implementation (in 1:1 mode) * `goN` - go's implementation with GOMAXPROCS=N. The only relevant value is 8 (I had 8 cores on this machine) * `goN-X` - go's implementation where the channels in question were created with buffers of size `X` to behave more similarly to rust's channels.
2013-12-16test: Add a test that POD types can be implicitly copied.Patrick Walton-1/+9
2013-12-16librustc: Implement a `Pod` kind for types that can be `memcpy`'d.Patrick Walton-0/+78
This will be used for the new `Cell`.
2013-12-16Fallout of rewriting std::commAlex Crichton-10/+4
2013-12-16Check even more live Path nodes in dead-code passKiet Tran-0/+4
2013-12-16Detect stability attributes on methods.Kiet Tran-28/+72
If it's a trait method, this checks the stability attribute of the method inside the trait definition. Otherwise, it checks the method implementation itself.