Commit Graph

38274 Commits

Author SHA1 Message Date
Alex Crichton 577c51cdc0 rollup merge of #22072: geofft/doc-byte-string-literal
This was correct in the EBNF, but not in the prose (which seems to have
been copied-and-pasted from regular string literals).
2015-02-10 08:41:52 -08:00
Alex Crichton cef623e5a6 rollup merge of #22067: Gankro/collections-tests
So many warnings
2015-02-10 08:41:50 -08:00
Alex Crichton 24c92134ea rollup merge of #22065: bluss/range-size-hint
When self.start > self.end, these iterators simply return None,
so we adjust the size_hint to just return zero in this case.

Certain optimizations can be implemented in and outside libstd if we
know we can trust the size_hint for all inputs to for example
Range<usize>.

This corrects the ExactSizeIterator implementations, which IMO were
unsound and incorrect previously, since they allowed a range like (2..1)
to return a size_hint of -1us in when debug assertions are turned off.
2015-02-10 08:41:48 -08:00
Alex Crichton 6e6bea6e07 rollup merge of #22052: octplane/patch-1
- add namespace
- add function parens
2015-02-10 08:41:46 -08:00
Alex Crichton 712874ef11 rollup merge of #22051: nagisa/main-emission
Fixes #21813
2015-02-10 08:41:44 -08:00
Alex Crichton 91fc9f3f0e rollup merge of #22049: caspark/fix-link-to-rustdoc
No point sending people to a page which just says "this is now part of
the Rust book" (that page being http://doc.rust-lang.org/rustdoc.html).
2015-02-10 08:41:43 -08:00
Alex Crichton c177da6675 rollup merge of #22012: pnkfelix/propagate-container-across-object-cast
Given `<expr> as Box<Trait>`, infer that `Box<_>` is expected type for `<expr>`.

This is useful for addressing fallout from newly proposed box protocol; see #22006 for examples of such fallout, much of which will be unnecessary with this fix.
2015-02-10 08:41:41 -08:00
Alex Crichton 7fcc330ea3 rollup merge of #22007: thiagooak/master
From #21829 clarify equivalency of tuples
2015-02-10 08:41:38 -08:00
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
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