Commit Graph

38319 Commits

Author SHA1 Message Date
Alex Crichton
c62906d19c rollup merge of #21943: hugwijst/extctxt_ufcs
Add `QPath` construction support to `ExtCtxt`. Allows compiler plugins to generate calls with UFCS.
2015-02-10 08:41:36 -08:00
Alex Crichton
c41655b076 rollup merge of #21920: vojtechkral/main-thread-name
Fixes #21911
2015-02-10 08:41:34 -08:00
Alex Crichton
6cf75ca05a rollup merge of #21918: ranma42/replace-be
Conflicts:
	src/test/compile-fail/reserved-be.rs
	src/test/compile-fail/reserved-become.rs
	src/test/parse-fail/reserved-be.rs
2015-02-10 08:41:30 -08:00
Alex Crichton
dff8182ed2 rollup merge of #21862: iKevinY/libstd-ascii-tests 2015-02-10 08:40:58 -08:00
Alex Crichton
8ee86860bc rollup merge of #21353: sanxiyn/upvar
Fix #20558.
2015-02-10 08:39:51 -08:00
Felix S. Klock II
3f5af9f34d add //~ ERROR line to test for privacy respecting FRU (RFC 736). 2015-02-10 17:32:39 +01:00
Björn Steinbrink
6e8b8733c9 Add a flag to skip the LLVM version check in configure
When trying to build against a newer, local LLVM version it might be
preferable to have a flag to disable the LLVM version check instead of
having to modify the configure script.

Fixes #21998
2015-02-10 16:31:46 +01:00
Andrew Paseltiner
ad3be9f23f parse cfgspecs passed to rustdoc
fixes #22131
2015-02-10 10:31:14 -05:00
Felix S. Klock II
0a0aa11bb1 Add comment noting that this naive approach is not too naive. 2015-02-10 15:45:36 +01:00
Felix S. Klock II
0b1d5f0182 Make FRU respect privacy of all struct fields, mentioned or unmentioned.
This is RFC 736.

Fix #21407.
2015-02-10 15:29:29 +01:00
Vojtech Kral
7d2404cb42 Move native thread name setting from thread_info to Thread, fixes #21911 2015-02-10 15:06:45 +01:00
Felix S. Klock II
3513c97302 Add error message (i.e. do not ICE) when moving out of unsafe pointers.
Fix #20801.
2015-02-10 15:01:31 +01:00
Marvin Löbel
792dc8d067 Made the ptr::Unique type accept unsized types, to allow for use cases
like sending a raw pointer slice across thread boundaries.
2015-02-10 14:37:44 +01:00
bors
88d8ba5ab3 Auto merge of #22028 - nikomatsakis:issue-22019-caching, r=aturon
Simplify cache selection by just using the local cache whenever there
are any where-clauses at all. This seems to be the simplest possible
rule and will (hopefully!) put an end to these annoying "cache leak"
bugs. Fixes #22019.

r? @aturon
2015-02-10 13:23:29 +00:00
bors
94c06a1be0 Auto merge of #22026 - kmcallister:plugin, r=sfackler
```rust
#[plugin] #[no_link] extern crate bleh;
```

becomes a crate attribute

```rust
#![plugin(bleh)]
```

The feature gate is still required.

It's almost never correct to link a plugin into the resulting library / executable, because it will bring all of libsyntax and librustc with it. However if you really want this behavior, you can get it with a separate `extern crate` item in addition to the `plugin` attribute.

Fixes #21043.
Fixes #20769.

[breaking-change]
2015-02-10 11:15:52 +00:00
bors
de8bc44753 Auto merge of #21961 - nick29581:hrl-syntax, r=nmatsakis
Closes # 20022

r? @nikomatsakis
2015-02-10 09:10:37 +00:00
bors
29ff00cc97 Auto merge of #21937 - alexcrichton:issue-21929, r=aturon
These were forgotten reexports from #21718

Closes #21929
2015-02-10 06:39:31 +00:00
bors
0bfe358e0f Auto merge of #21936 - alexcrichton:fsv2, r=aturon
This commit is an implementation of [RFC 739][rfc] which adds a new `std::fs`
module to the standard library. This module provides much of the same
functionality as `std::old_io::fs` but it has many tweaked APIs as well as uses
the new `std::path` module.

[rfc]: https://github.com/rust-lang/rfcs/pull/739
2015-02-10 04:07:03 +00:00
Nick Cameron
f9c577e514 Tests 2015-02-10 16:54:23 +13:00
Steve Klabnik
17abb43248 Set up docs for missing core types
Fixes #22085
2015-02-09 22:26:33 -05:00
Steve Klabnik
b42c559e9f Remove bottom from the reference
Fixes #20172
2015-02-09 21:57:14 -05:00
Steve Klabnik
e40d05800b Remove incorrect docs from mem::transmute
Fixes #22032
2015-02-09 21:51:30 -05:00
Alex Crichton
6bfbad937b std: Add a new fs module
This commit is an implementation of [RFC 739][rfc] which adds a new `std::fs`
module to the standard library. This module provides much of the same
functionality as `std::old_io::fs` but it has many tweaked APIs as well as uses
the new `std::path` module.

[rfc]: https://github.com/rust-lang/rfcs/pull/739
2015-02-09 18:43:12 -08:00
Steve Klabnik
dbccd70a57 Add documentation on trait objects.
Largely taken from @huonw's
http://huonw.github.io/blog/2015/01/peeking-inside-trait-objects/

Fixes #21707
2015-02-09 21:38:49 -05:00
Alex Crichton
0ee95b917b std: Mark IntoIterator::into_iter as #[stable
Right now it is not possible to write a `for` loop without opting-in to the
`core` feature due to the way they're expanding (calling
`::std::iter::IntoIterator::into_iter`). There are some planned tweaks to the
`IntoIterator` trait (adding an `Item` associated type) which will cause
implementations of `IntoIterator` to break, but the *usage* of the trait is
currently stable.

This commit marks the method `into_iter` as stable as the name will not be
changing, nor the fact that it takes no arguments and returns one type (which is
determiend by the `Self` type). This means that usage of `for` loops is now
stable but manual implementations of the `IntoIterator` trait will continue to
be unstable.
2015-02-09 16:26:52 -08:00
Alex Crichton
605225a366 std: Rename IntoIterator::Iter to IntoIter
This is in preparation for stabilization of the `IntoIterator` trait. All
implementations and references to `Iter` need to be renamed to `IntoIter`.

[breaking-change]
2015-02-09 15:58:13 -08:00
Alex Crichton
64a4decec7 std: Remove typarms from IteratorExt::cloned
With associated types an where clauses none of the type parameters are
necessary.

[breaking-change]
2015-02-09 15:58:13 -08:00
Keegan McAllister
1aedc45f85 Add a help message for deprecated #[plugin] extern crate 2015-02-09 14:25:47 -08:00
Luke Steensen
1163cef1c4 remove obsolete closure syntax from the guide 2015-02-09 15:32:21 -06:00
Keegan McAllister
93b642d974 Use a crate attribute to load plugins
#[plugin] #[no_link] extern crate bleh;

becomes a crate attribute

    #![plugin(bleh)]

The feature gate is still required.

It's almost never correct to link a plugin into the resulting library /
executable, because it will bring all of libsyntax and librustc with it.
However if you really want this behavior, you can get it with a separate
`extern crate` item in addition to the `plugin` attribute.

Fixes #21043.
Fixes #20769.

[breaking-change]
2015-02-09 13:27:27 -08:00
Pierre Baillet
0479d90b77 Update deprecation notice.
- add namespace
- add function parens
2015-02-09 22:20:22 +01:00
Björn Steinbrink
8d8ae09858 Update llvm to rust-llvm-2015-02-09
Fixes #21996
2015-02-09 21:49:37 +01:00
Sean Collins
45f6672861 Make fallback font 'serif', rather than 'sans-serif' fonts 2015-02-09 15:07:47 -05:00
bors
134e00be77 Auto merge of #21876 - nick29581:driver-args, r=huonw
This allows people to write tools which are drop-in replacements for rustc by implementing `CompilerCalls` and three lines of code, rather than having to copy+paste a bunch of args parsing code.

r? @alexcrichton
2015-02-09 19:01:37 +00:00
Felix S. Klock II
a1b3189f48 add test illustrating the feature.
(with multiple impls to further exercise correct trait-matching.)
2015-02-09 19:58:40 +01:00
Felix S. Klock II
d9393c21d7 Given <expr> as Box<Trait>, infer that Box<_> is expected type for <expr>. 2015-02-09 19:55:59 +01:00
Keegan McAllister
5354317037 Process cfg_attr right before stripping cfg
Fixes #22070.
Fixes #19372.
2015-02-09 10:12:14 -08:00
Simonas Kazlauskas
a6e8496601 Deduplicate --crate-type arguments
Crate types from multiple sources appear to be deduplicated properly, but not
deduplicated if they come from the command line arguments. At worst, this used
to cause compiler failures when `--crate-type=lib,rlib` (the same as
`--crate-type=rlib,rlib`, at least at the time of this commit) is provided and
generate the output multiple times otherwise.
2015-02-09 19:51:21 +02:00
Keegan McAllister
0110f5e03c syntax::fold: Allow removing attributes 2015-02-09 09:01:50 -08:00
Michael Budde
97a9507232 Fix links to module-level documentation in std::cell
Replace links to `../index.html` with `index.html` as they are
linking to the `std` module and not `std::cell` as intended.
2015-02-09 13:24:01 +01:00
Richo Healey
b6f55efd5b lint: Document the why and how of the no_mangle const lint 2015-02-09 11:56:59 +01:00
we
6a2bad3257 int/uint => isize/usize in liblibc/liballoc/libarena 2015-02-09 10:00:46 +03:00
Nick Cameron
f0e1e09dd9 Review changes 2015-02-09 19:58:49 +13:00
Nick Cameron
cacd6b66f1 Refactor compilation to make it easier to use for tools 2015-02-09 18:00:56 +13:00
bors
0ba9e1fa52 Auto merge of #22059 - Gankro:vec-split, r=alexcrichton 2015-02-09 01:29:19 +00:00
bors
00df3251f6 Auto merge of #21992 - steveklabnik:gh17220, r=alexcrichton
None of the others work, so let's remove them.

Fixes #17220.

r? @brson
2015-02-08 23:24:33 +00:00
Piotr Czarnecki
89b2e9f6f3 syntax: Fix integer underflow in diagnostic
Fixes #22091
2015-02-08 23:26:12 +01:00
Nick Cameron
8122ce81d0 Accept quantification of lifetimes outside the self type in where clauses.
Closes #20022
2015-02-09 09:29:53 +13:00
Alexander Korolkov
34afe5e193 Rename Show to Debug, String to Display
Update reference.md:
 - derive() no longer supports Zero trait
 - derive() now supports Copy trait
2015-02-08 20:00:30 +03:00
Vojtech Kral
dca49e06b1 Move native thread name setting from thread_info to Thread, fixes #21911 2015-02-08 17:49:20 +01:00