| Age | Commit message (Collapse) | Author | Lines |
|
This fixes #35849, a regression introduced by the typeck refactoring
around TyNever/!.
|
|
|
|
|
|
|
|
|
|
Split Ty::is_empty method into is_never and is_uninhabited
|
|
Adds the `bang_type` feature gate. `!` in a non-return-type position now
relies on that feature.
|
|
|
|
Change "attempted" to "attempt"
|
|
run rustfmt on test/run-fail folder
|
|
|
|
|
|
|
|
[MIR] non-zeroing drop
This enables non-zeroing drop through stack flags for MIR.
Fixes #30380.
Fixes #5016.
|
|
MSVC requires unwinding code to be split to a tree of *funclets*, where each funclet
can only branch to itself or to to its parent.
Luckily, the code we generates matches this pattern. Recover that structure in
an analyze pass and translate according to that.
|
|
Rename main thread from "<main>" to "main".
Fix issue #33789
We may need to discuss whether this counts as a breaking change since code may check the main thread name against "\<main\>". Discussion is in #33789
|
|
Fixes #30380
|
|
These should all have been deprecated for at least one cycle, so this commit
cleans them all out.
|
|
Fix issue #33789
|
|
|
|
This PR extends compiletest to support **test revisions** and with a preliminary **incremental testing harness**. run-pass, compile-fail, and run-fail tests may be tagged with
```
// revisions: a b c d
```
This will cause the test to be re-run four times with `--cfg {a,b,c,d}` in turn. This means you can write very closely related things using `cfg`. You can also configure the headers/expected-errors by writing `//[foo] header: value` or `//[foo]~ ERROR bar`, where `foo` is the name of your revision. See the changes to `coherence-cow.rs` as a proof of concept.
The main point of this work is to support the incremental testing harness. This PR contains an initial, unused version. The code that uses it will land later. The incremental testing harness compiles each revision in turn, and requires that the revisions have particular names (e.g., `rpass2`, `cfail3`), which tell it whether a particular revision is expected to compile or not.
Two questions:
- Is there compiletest documentation anywhere I can update?
- Should I hold off on landing the incremental testing harness until I have the code to exercise it? (That will come in a separate PR, still fixing a few details)
r? @alexcrichton
cc @rust-lang/compiler <-- new testing capabilities
|
|
|
|
|
|
|
|
|
|
The MSVC SEH is still not implemented, so we go ahead and ignore it.
|
|
With this commit we now finally execute all the leftover drops once some drop panics for some
reason!
|
|
|
|
|
|
|
|
runtime code
|
|
|
|
const eval errors outside of true constant enviroments are not reported anymore, but instead forwarded to a lint.
|
|
|
|
This would catch regressions of issue #28012.
|
|
|
|
This commit removes all unstable and deprecated functions in the standard
library. A release was recently cut (1.3) which makes this a good time for some
spring cleaning of the deprecated functions.
|
|
|
|
`assert_eq!` has better diagnostics than `assert!` and is more helpful when something actually breaks, but the diagnostics has it's price - `assert_eq!` generate some formatting code which is slower to compile and possibly run.
[My measurements](https://internals.rust-lang.org/t/assert-a-b-or-assert-eq-a-b/1367/12?u=petrochenkov) show that presence of this formatting code doesn't affect compilation + execution time of the test suite significantly, so `assert_eq!` can be used instead of `assert!` consistently.
(Some tests doesn't reside in src/test, they are not affected by these changes, I'll probably open a separate PR for them later)
|
|
This test has an interesting history, because of fail -> panic. It was
originally called extern-fail.rs:
https://github.com/rust-lang/rust/commits/master/src/test/run-fail/extern-fail.rs
It lived for a while, but was disabled in August 2013:
https://github.com/rust-lang/rust/commit/ce95b01014391f29a655d165d9e6d31449ceb835
As you can see, that failure was not specific to this test, however,
this code does stuff with the runtime, which was removed. Given that
it hasn't even been able to compile in a long time, we should just
remove it.
r? @brson
|
|
|
|
Two commits here: one which removes a bunch of tests, and re-enables a few that work.
Second updates the syntax of one of the failing tests. It still doesn't pass, but at least it compiles.
|
|
Most of these are old, but some specific messages for specific tests:
* trait-contravariant-self.rs: failed due to a soundess hole:
https://github.com/rust-lang/rust/commit/05e3248a7974f55b64f75a2483b37ff8c001a4ff
* process-detatch: https://github.com/rust-lang/rust/commit/15966c3c1f99810ac81053769651776a67181dae
says "this test is being ignored until signals are implemented" That's
not happening for a long time, and when it is, we'll write tests for
it.
* deep-vector{,2}.rs: "too big for our poor macro infrastructure", and has
been ignored over a year.
* borrowck-nested-calls.rs's FIXME #6268 was closed in favor of
rust-lang/rfcs#811
* issue-15167.rs works properly now
* issue-9737.rs works properly now
* match-var-hygiene.rs works properly now
Addresses a chunk of #3965
|
|
This test has an interesting history, because of fail -> panic. It was
originally called extern-fail.rs:
https://github.com/rust-lang/rust/commits/master/src/test/run-fail/extern-fail.rs
It lived for a while, but was disabled in August 2013:
https://github.com/rust-lang/rust/commit/ce95b01014391f29a655d165d9e6d31449ceb835
As you can see, that failure was not specific to this test, however,
this code does stuff with the runtime, which was removed. Given that
it hasn't even been able to compile in a long time, we should just
remove it.
|
|
This test was added on Nov 1, 2012:
https://github.com/rust-lang/rust/commit/0069bd2f4612b744ab3731b4c1db13c2f3202185#diff-b516ff69faf8886c48e6f5e833c2548c
and then ignored on the same day:
https://github.com/rust-lang/rust/commit/a90020fe8dd8be8615df82e6294408bfed82a767#diff-b516ff69faf8886c48e6f5e833c2548c
and never unignored again.
|
|
|
|
An automated script was run against the `.rs` and `.md` files,
subsituting every occurrence of `task` with `thread`. In the `.rs`
files, only the texts in the comment blocks were affected.
|
|
|
|
Instead create an ExtCtxt structure.
|
|
Re-enables the test.
|