Commit Graph

32979 Commits

Author SHA1 Message Date
Steve Klabnik e2357cf41b Don't compare () to null.
Fixes #17671.
2014-10-01 17:14:29 -04:00
Steve Klabnik ee1cbb9c71 use similar syntax in all arms
Fixes #17672
2014-10-01 17:12:29 -04:00
Steve Klabnik fc818ff33b 🔥 τ
Fixes #17674
2014-10-01 17:11:05 -04:00
Keegan McAllister eb1cbf3d1d Link plugins guide from elsewhere 2014-10-01 13:21:52 -07:00
Keegan McAllister 61bf75bb5e Add a guide to compiler plugins
Fixes #16983.
2014-10-01 13:21:52 -07:00
Keegan McAllister 58c428fbf2 Add a red-box warning to the macros guide 2014-10-01 13:21:52 -07:00
Keegan McAllister dfcfd008fa Update some old references to rust.md 2014-10-01 13:21:52 -07:00
Keegan McAllister e3828026d5 Use relative doc URLs in top-level guides 2014-10-01 13:21:52 -07:00
Keegan McAllister 4ced7a9637 Add some notes about macro scoping 2014-10-01 13:21:52 -07:00
Jiří Stránský ac956c013f Guide: clarify exporting
Mention that using `pub` is called exporting.

Remove that `use` is called re-exporting, because `pub use` should be
called re-exporting. The guide currently doesn't cover `pub use`.
2014-10-01 22:20:58 +02:00
Aaron Turon dad59bdcbc Remove std::io::signal
The `std::io::signal` API was only implemented under `librustuv`, which
is now being removed. Rather than keep around an unimplemented API, this
commit removes it altogether.

See the [runtime removal
RFC](https://github.com/rust-lang/rfcs/pull/230) for more context.

See [green-rs](https://github.com/alexcrichton/green-rs/) for a possible
migration path for signal handling code, although in the long run we
plan to add native signal handling to `std::io`.

[breaking-change]
2014-10-01 12:42:30 -07:00
Aaron Turon c5d2ed54a3 Remove libuv, gyp
This commit removes the libuv and gyp submodules, as well as all build
infrastructure related to them.

For more context, see the [runtime removal
RFC](https://github.com/rust-lang/rfcs/pull/230)

[breaking-change]
2014-10-01 12:42:30 -07:00
bors b224dfe1a6 auto merge of #17678 : fhahn/rust/issue-17628-infinite-recursion, r=alexcrichton
This is a patch for #17628, thanks to @kmcallister for your helpful hints!
2014-10-01 19:37:18 +00:00
Keegan McAllister c8bdba77fc rust.css: Make it more clear when code spans are links 2014-10-01 12:12:56 -07:00
NODA, Kai 1dfb23f4cf librustc/driver: expose build information of rustc.
CFG_RELEASE, CFG_VER_HASH and CFG_VER_DATE were only available as an output
to stdout from the driver::version() function that had an inconvenient
signature.
2014-10-02 02:02:43 +08:00
Aaron Turon 002643dcf0 Remove librustuv
This commit removes the `librustuv` crate.

See the [runtime removal
RFC](https://github.com/rust-lang/rfcs/pull/230) for more context.

See [green-rs](https://github.com/alexcrichton/green-rs/) for a possible
migration path if you wish to continue using green-threaded I/O. The
library provides its own I/O API surface.

[breaking-change]
2014-10-01 10:34:39 -07:00
Aaron Turon 15966c3c1f Remove iotest macro
This commit removes the `iotest!` macro from `std::io`. The macro was
primarily used to ensure that all io-related tests were run on both
libnative and libgreen/librustuv. However, now that the librustuv stack
is being removed, the macro is no longer needed.

See the [runtime removal
RFC](https://github.com/rust-lang/rfcs/pull/230) for more context.

[breaking-change]
2014-10-01 10:34:39 -07:00
Aaron Turon 60b859ab8a Remove all use of librustuv 2014-10-01 10:33:11 -07:00
John Gallagher 2883b7682a Make --dep-info escape spaces in filenames
Closes #17627
2014-10-01 11:40:00 -04:00
bors 49fcb27df6 auto merge of #17667 : wizeman/rust/fix-override-env, r=alexcrichton
In some build environments (such as chrooted Nix builds), `env` can only
be found in the explicitly-provided PATH, not in default places such as
/bin or /usr/bin. So we need to pass-through PATH when spawning the
`env` sub-process.

Fixes #17617
2014-10-01 15:32:30 +00:00
Kevin Walter 3dc32a1ded Fix async assertion in test_sendable_future 2014-10-01 16:09:38 +02:00
bors 00ebebb258 auto merge of #17654 : gereeter/rust/no-unnecessary-cell, r=alexcrichton
There is more that could be done, but this was the low hanging fruit.
2014-10-01 13:27:24 +00:00
John Gallagher 8dab56ea9d Make find->tidy resilient to filenames with spaces 2014-10-01 07:49:06 -04:00
bors 8ab6fce95e auto merge of #17653 : kaini/rust/master, r=alexcrichton
Fixes that unit-like structs cannot be used if they are re-exported and used in another crate. (ICE)
The relevant changes are in `rustc::metadata::{decoder, encoder}` and `rustc::middle::ty`.

A test case is included.

The problem is that the expressoin `UnitStruct` is an `ExprPath` to an `DefFn`, which is of expr kind `RvalueDatumExpr`, but for unit-struct ctors the expr kind should be `RvalueDpsExpr`. I fixed this (in a I guess clean way) by introducing `CtorFn` in the metadata and including a `is_ctor` flag in `DefFn`.
2014-10-01 11:27:23 +00:00
Florian Hahn 49e976d771 Limit recursion depth for macro expansions, closes #17628 2014-10-01 11:46:04 +02:00
bors ff2616e847 auto merge of #17630 : sfackler/rust/cfg-warnings, r=brson
Closes #17490
2014-10-01 09:22:15 +00:00
bors 60e7317345 auto merge of #17501 : pcwalton/rust/improve-method-lookup-autoderef, r=nikomatsakis
prefer `Deref` over `DerefMut` in all other circumstances.

Because the compiler now prefers `Deref`, this can break code that
looked like:

    let mut foo = bar.borrow_mut();
    (*foo).call_something_that_requires_mutable_self();

Replace this code with:

    let mut foo = bar.baz();
    (&mut *foo).call_something_that_requires_mutable_self();

Closes #12825.

[breaking-change]

r? @nikomatsakis
2014-10-01 07:22:18 +00:00
bors fe93a549a4 auto merge of #17132 : reem/rust/any-static-bound, r=alexcrichton
This bound is already implicit through the AnyPrivate trait,
but since it is not explicit, you still have to write Box<Any + 'static>,
even though Any can only be 'static.

Introducing the 'static bound here makes this bound explicit, making
Box<Any> legal.
2014-10-01 05:32:16 +00:00
bors 2f15dcd4d3 auto merge of #17584 : pcwalton/rust/range-patterns-dotdotdot, r=nick29581
This breaks code that looks like:

    match foo {
        1..3 => { ... }
    }

Instead, write:

    match foo {
        1...3 => { ... }
    }

Closes #17295.

r? @nick29581
2014-10-01 03:17:24 +00:00
Brian Koropoff 93408be788 Add regression test for issue #17444 2014-09-30 20:07:09 -07:00
Brian Koropoff eb8b36973d Add regression test for issue #17458 2014-09-30 20:07:09 -07:00
Brian Koropoff 7c9db32f82 Disallow casting directly between C-like enums and unsafe pointers
This closes issue #17444
2014-09-30 20:07:09 -07:00
Brian Koropoff 293b57701b Add missing case for pointer -> int when translating constant cast expressions
Closes issue #17458
2014-09-30 20:07:09 -07:00
Jonathan Reem 0cf60b6bb8 Bound Any with 'static
This bound is already implicit through the AnyPrivate trait,
but since it is not explicit, you still have to write Box<Any + 'static>,
even though Any can only be 'static.

Introducing the 'static bound here makes this bound explicit, making
Box<Any> legal.
2014-09-30 18:40:07 -07:00
Ricardo M. Correia 5f4c2800fc libstd: Pass-through PATH in test_override_env
In some build environments (such as chrooted Nix builds), `env` can only
be found in the explicitly-provided PATH, not in default places such as
/bin or /usr/bin. So we need to pass-through PATH when spawning the
`env` sub-process.

Fixes #17617
2014-10-01 03:35:35 +02:00
bors 57a05cf49b auto merge of #17634 : jakub-/rust/if_let, r=kballard
Continuation of https://github.com/rust-lang/rust/pull/16741.
2014-09-30 23:17:20 +00:00
Patrick Walton 496cc4c0d4 librustc: Fix up mutability in method autoderefs if incorrect, and
prefer `Deref` over `DerefMut` in all other circumstances.

Closes #12825.
2014-09-30 14:38:04 -07:00
Benjamin Adamson d96faf7e71 Remove unnecessary allocation, update API name for starting the rustc driver. 2014-09-30 13:54:45 -07:00
Eduard Burtescu 79d4540ea8 Fold `MethodOrigin`s to resolve inference variables they may contain.
Fixes #17662.
2014-09-30 23:53:15 +03:00
bors 88d1a22f76 auto merge of #17479 : gamazeps/rust/issue17478, r=alexcrichton
closes #17478
2014-09-30 20:27:16 +00:00
Steven Fackler b4909f6eb7 Fix rustdoc 2014-09-30 12:52:47 -07:00
Steven Fackler d9eac5d99c Fix librustuv 2014-09-30 12:52:47 -07:00
Steven Fackler d3444779e6 Fix libnative 2014-09-30 12:52:47 -07:00
Steven Fackler efbb15d59c Fix libgreen 2014-09-30 12:52:47 -07:00
Steven Fackler c4e0755245 Fix librustc_llvm 2014-09-30 12:52:47 -07:00
Steven Fackler 99e2bb79b6 Fix librustc 2014-09-30 12:52:47 -07:00
Steven Fackler d2caea2beb Fix librustc_back 2014-09-30 12:52:47 -07:00
Steven Fackler 448c8bf24e Fix libtime 2014-09-30 12:52:46 -07:00
Steven Fackler ad83352618 Fix librustrt 2014-09-30 12:52:46 -07:00
Steven Fackler d5647a8ea3 Fix libstd 2014-09-30 12:52:00 -07:00