38467 Commits

Author SHA1 Message Date
Niko Matsakis
ab579883f2 Factor out the "region substs" creation to occur earlier, so that the
complete set of regions are available when converting types.
2015-02-16 10:55:37 -05:00
Niko Matsakis
80d1f14e7d Implement the basic rules of RFC 599, but do not yet support custom types. 2015-02-16 10:55:37 -05:00
Niko Matsakis
f5c6a23c9e Various simplifications and renamings based on the fact that old-school closures are gone and type parameters can now have multiple region bounds (and hence use a different path). Should have no effect on the external behavior of the compiler. 2015-02-16 10:55:37 -05:00
Niko Matsakis
931a3c4f9d Detect and store object-lifetime-defaults. 2015-02-16 10:55:36 -05:00
bors
c5db290bf6 Auto merge of #22367 - Manishearth:rollup, r=steveklabnik
(still testing locally)
2015-02-16 00:46:43 +00:00
Manish Goregaokar
cea2bbfe27 Fix grammar 2015-02-16 03:56:52 +05:30
Manish Goregaokar
f0f8be2a2e Fix rollup (remove slicing_syntax) 2015-02-15 19:26:39 +05:30
Manish Goregaokar
b1a46db649 Rollup merge of #22247 - Gankro:dlist_split, r=alexcrichton 2015-02-15 18:42:48 +05:30
Manish Goregaokar
97503e1c1e Rollup merge of #22256 - brson:installer-next, r=alexcrichton
Highlights:

* Adds an 'uninstall.sh' script to `/usr/local/lib/rustlib/uninstall.sh`, the path to which is printed during installation.
* Components can be deselected during install, like `install.sh --without=rust-docs`.
* Components can be listed with `install.sh --list-components`.
* Vastly reduces spew during install (but supporting a `--verbose` option).

Typicall install run looks like:

```
brian@brianX1:~/dev/multirust⟫ sudo ./install.sh
[sudo] password for brian:
install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh
install: installing component 'rustc'
install: installing component 'cargo'
install: installing component 'rust-docs'

    Rust is ready to roll.
```

Needs to be merged right before corresponding PRs to cargo and rust-packaging.

Fixes https://github.com/rust-lang/rust/issues/21117
Fixes https://github.com/rust-lang/rust/issues/20283
2015-02-15 18:42:48 +05:30
Manish Goregaokar
16b24f15bd Rollup merge of #22285 - kmcallister:pub-macro, r=nick29581
It's not clear what this means, because a macro in item position can expand to zero or more items.  For now we disallow it, which is technically a

    [breaking-change]

but is landing without an RFC.  The `pub` keyword previously had no effect, which seems quite unintended.

Fixes #18317.
Fixes #14660.
2015-02-15 18:42:48 +05:30
Manish Goregaokar
ed728ec145 Rollup merge of #22292 - brson:alpha2, r=alexcrichton 2015-02-15 18:42:47 +05:30
Manish Goregaokar
8111d65afc Rollup merge of #22293 - steveklabnik:gh12891, r=brson
Fixes #12891.
2015-02-15 18:42:47 +05:30
Manish Goregaokar
ed58399449 Rollup merge of #22297 - nagisa:spring-cleanup, r=alexcrichton
This PR replaces uses of `os::getenv` with newly introduced `env::var{,_os}`.

Mostly did this as a background activity to procrastinate from procrastinating.

Tests appear to build and run fine. This includes benchmarks from test/bench directory.
2015-02-15 18:42:47 +05:30
Manish Goregaokar
bc1900f0d0 Rollup merge of #22300 - kmcallister:pub-method-macro, r=sfackler
Fixes #17436.
2015-02-15 18:42:47 +05:30
Manish Goregaokar
f7870b6faa Rollup merge of #22339 - petrochenkov:int, r=huonw
Some function signatures have changed, so this is a [breaking-change].
In particular, radixes and numerical values of digits are represented by `u32` now.

Part of #22240
2015-02-15 18:42:47 +05:30
Manish Goregaokar
8acaaa9e0e Rollup merge of #22351 - blaenk:path-hash, r=huonw
`PathBuf` does implement `Hash`, but `Path` doesn't. This makes it
annoying if you have a `HashMap` with `PathBuf`s as keys, because
it means you have to convert a `Path` into a `PathBuf` and get a
reference to it simply to perform operations on the `HashMap`!
2015-02-15 18:42:46 +05:30
Manish Goregaokar
c59f62b75f Rollup merge of #22350 - brson:usize, r=Gankro
cc https://github.com/rust-lang/rust/issues/22240
2015-02-15 18:42:46 +05:30
Manish Goregaokar
e5659eaa06 Rollup merge of #22347 - iKevinY:std-lib-panicking, r=brson
Rename `libstd/failure.rs` to `libstd/panicking.rs` and `on_fail` to `on_panic`. Closes #22306.
2015-02-15 18:42:46 +05:30
Manish Goregaokar
a5bdb087d0 Rollup merge of #22329 - thiagooak:book, r=steveklabnik
on crates and modules - replace \")\"
on more strings - improve readability of grapheme
2015-02-15 18:42:46 +05:30
Manish Goregaokar
c6ced0fb36 Rollup merge of #22328 - shepmaster:os_str_typo, r=steveklabnik 2015-02-15 18:42:46 +05:30
Manish Goregaokar
a0019989fe Rollup merge of #22324 - Manishearth:patch-1, r=steveklabnik
(fixes #22317)

rollupable
2015-02-15 18:42:45 +05:30
Manish Goregaokar
6ce265ede7 Rollup merge of #22308 - steveklabnik:gh19278, r=brson
Fixes #19278
2015-02-15 18:42:45 +05:30
Manish Goregaokar
cb0900193b Rollup merge of #22307 - steveklabnik:gh14849, r=huonw
Fixes #14849
2015-02-15 18:42:45 +05:30
Manish Goregaokar
70647ec7c5 Rollup merge of #22305 - steveklabnik:gh20948, r=alexcrichton
Fixes #20948
2015-02-15 18:42:45 +05:30
Manish Goregaokar
1da4e53330 Rollup merge of #22302 - japaric:gh21909, r=brson
closes #21909
2015-02-15 18:42:45 +05:30
Manish Goregaokar
1b86ebe257 Rollup merge of #22299 - bluss:range-64-is-not-exact-size, r=alexcrichton
Fixes #22047

`Range<u64>` and `Range<i64>` may be longer than usize::MAX on 32-bit
platforms, and thus they cannot fulfill the protocol for
ExactSizeIterator. We don't want a nonobvious platform dependency in
basic iterator traits, so the trait impl is removed.

The logic of this change assumes that usize is at least 32-bit.

This is technically a breaking change; note that `Range<usize>` and
`Range<isize>` are always ExactSizeIterators.

[breaking-change]
2015-02-15 18:42:44 +05:30
Manish Goregaokar
0f66e314db Rollup merge of #22295 - steveklabnik:gh9980, r=alexcrichton
Fixes #9980
2015-02-15 18:42:44 +05:30
Manish Goregaokar
db4a1678d7 Rollup merge of #22288 - steveklabnik:add_option_link, r=nikomatsakis 2015-02-15 18:42:44 +05:30
Manish Goregaokar
1718e6b19e Rollup merge of #22284 - steveklabnik:fix_another_lie, r=nikomatsakis
This isn't something we want to guarantee.

r? @nikomatsakis
2015-02-15 18:42:44 +05:30
Manish Goregaokar
1ee09f918d Rollup merge of #22280 - Unode:patch-1, r=steveklabnik 2015-02-15 18:42:44 +05:30
Manish Goregaokar
a2840f3560 Rollup merge of #22278 - nikomatsakis:rustc-error, r=nikomatsakis
Add `#[rustc_error]` annotation, which causes trans to signal an error
if found on the `main()` function. This lets you write tests that live
in `compile-fail` but are expected to compile successfully. This is
handy when you have many small variations on a theme that you want to
keep together, and you are just testing the type checker, not the
runtime semantics.

r? @pnkfelix
2015-02-15 18:42:43 +05:30
Manish Goregaokar
2935d67e08 Rollup merge of #22277 - pnkfelix:reference-update-feature-gate-list, r=steveklabnik
Added all active features to the list in reference.md.

Added a second note about keeping the reference.md list up-to-date to the bottom of the list, since not everyone (including me) reads the big comment at the top of it.  :)

Ensured that the feature gate list in reference.md is kept in alphabetical order.
2015-02-15 18:42:43 +05:30
Manish Goregaokar
f96fb8ecb8 Rollup merge of #22275 - steveklabnik:gh7538, r=huonw
We use them in some places, but never actually talk about the syntax.
2015-02-15 18:28:36 +05:30
Manish Goregaokar
33371bfc41 Rollup merge of #22274 - pnkfelix:retag-slicing-syntax-as-accepted, r=nikomatsakis
Re-tag `slicing_syntax` as `Accepted`.

Rollup merge (373cbab5b08d6630da58f28d2166c19afc327fa6) of PR #20723
accidentally reverted a portion of commit
8327bcc167661c26ca5c6b967309ff745d302329 which shifted
`slicing_syntax` from Active to Accepted.
2015-02-15 18:28:14 +05:30
Manish Goregaokar
828a8644c7 Rollup merge of #22272 - steveklabnik:gh22064, r=alexcrichton
Fixes #22064.
2015-02-15 18:27:47 +05:30
Manish Goregaokar
ed9ffced22 Rollup merge of #22271 - steveklabnik:gh22035, r=nikomatsakis
Fixes #22035. (mostly by making it irrelevant)
2015-02-15 18:27:33 +05:30
Manish Goregaokar
3fe2715053 Rollup merge of #22269 - steveklabnik:gh22136, r=alexcrichton
Fixes #22136
2015-02-15 18:27:14 +05:30
Manish Goregaokar
a2bc3a252c Rollup merge of #22268 - steveklabnik:improve_wait, r=nikomatsakis
Remove incorrect claim, add example, reformat and re-word.

Fixes #22266
2015-02-15 18:26:58 +05:30
Manish Goregaokar
cff0b78ce7 Rollup merge of #22264 - fhahn:tiny-doc-fix2, r=Gankro
While having a look at the Rust book I found this tiny error. In my opinion this if should be all lowercase, because it follows a colon, but I am no native speaker, so I am probably wrong. Also it is a very tiny change, so feel free to include it in any bigger documentation patch.
2015-02-15 18:26:47 +05:30
Manish Goregaokar
f6fa27acd6 Rollup merge of #22263 - iKevinY:no-mailing-list, r=nikomatsakis
Removes the link to the rust-dev mailing list in the bug report submission page and also adds the address of the IRC server (`irc.mozilla.org`). Addresses #22249.
2015-02-15 18:26:29 +05:30
Manish Goregaokar
8ebbf584a0 Rollup merge of #22262 - lfairy:unsafe-cell-lang-item, r=alexcrichton
`Unsafe` was renamed to `UnsafeCell` a while ago, but the corresponding lang item kept the old name. This patch fixes the inconsistency.

r? @eddyb
2015-02-15 18:26:05 +05:30
Manish Goregaokar
da1a1f515f Rollup merge of #22254 - huonw:float-value--, r=aturon
In `std::f32` and `std::f64`:

- `MIN_VALUE` → `MIN`
- `MAX_VALUE` → `MAX`
- `MIN_POS_VALUE` → `MIN_POSITIVE`

This matches the corresponding integer constants.

[breaking-change]
2015-02-15 18:25:40 +05:30
Manish Goregaokar
d014548d5a Rollup merge of #22248 - duaneedwards:patch-1, r=Gankro 2015-02-15 18:22:32 +05:30
Manish Goregaokar
e6ad3848c6 Rollup merge of #22238 - dotdash:llvmup_20150212, r=alexcrichton
Fixes #22233 

r? @alexcrichton
2015-02-15 18:22:32 +05:30
Manish Goregaokar
8623fe70eb Rollup merge of #22229 - vhbit:ios-default-cpus, r=alexcrichton
According to @dotdash it enables more aggressive optimizations from LLVM
2015-02-15 18:22:32 +05:30
Manish Goregaokar
132b56cefc Rollup merge of #22224 - sanxiyn:must-use, r=cmr
Fix #20109.
2015-02-15 18:22:31 +05:30
Manish Goregaokar
8cc3fbd41d Rollup merge of #22218 - huonw:raw-docs, r=steveklabnik,huonw
This overhauls the very meager docs that currently exist to clarify
various understandable confusions that I've noticed, e.g. people look in
`std::raw` for the "real" types of slices like `&[T]`, or think that
`Slice<T>` refers to `[T]` (fixes #22214).

This patch takes the liberty of offering some "style" guidance around
`raw::Slice`, since there's more restricted ways to duplicate all
functionality connected to it: `std::slice::from_raw_parts{,_mut}` for
construction and `.as_{,mut_}ptr` & `.len` for deconstruction.

It also deprecates the `std::raw::Closure` type which is now useless for
non-type-erased closures, and replaced by `TraitObject` for `&Fn`, `&mut
FnMut` etc, so I guess it should be called a:

[breaking-change]
2015-02-15 18:22:31 +05:30
Manish Goregaokar
63091efa3b Rollup merge of #22201 - brson:version, r=nick29581
rustc --version says

```
rustc 1.0.0-dev (d0e82a68a 2015-02-05 14:38:56 -0800) (built 2015-02-11)
```
2015-02-15 18:22:31 +05:30
Manish Goregaokar
b13fddda20 Rollup merge of #22132 - steveklabnik:gh16645, r=alexcrichton
Fixes #16645

Fixing this in any deeper way will require an RFC, so let's just document the current behavior.
2015-02-15 18:22:31 +05:30
bors
342ab53bf8 Auto merge of #22242 - Gankro:collect-ints, r=alexcrichton 2015-02-15 12:20:31 +00:00