]> git.lizzy.rs Git - rust.git/log
rust.git
7 years agoDisplay secondary span for E0053 for Sort TypeErrors
Keith Yeung [Wed, 10 Aug 2016 08:43:12 +0000 (01:43 -0700)]
Display secondary span for E0053 for Sort TypeErrors

7 years agoRebase. Fix mutable iteration nit.
Jonathan Turner [Wed, 17 Aug 2016 22:11:18 +0000 (15:11 -0700)]
Rebase. Fix mutable iteration nit.

7 years agoUpdated test for E0221
crypto-universe [Wed, 17 Aug 2016 22:07:24 +0000 (00:07 +0200)]
Updated test for E0221

As a part of issue #35233
?r @GuillaumeGomez

7 years agoAdd new error code tests
Guillaume Gomez [Wed, 17 Aug 2016 21:45:10 +0000 (23:45 +0200)]
Add new error code tests

7 years agoNice graphs
Simonas Kazlauskas [Wed, 17 Aug 2016 21:38:30 +0000 (00:38 +0300)]
Nice graphs

7 years agoReplace local backtrace with def-use, repair std macro spans
Jonathan Turner [Wed, 17 Aug 2016 14:20:04 +0000 (07:20 -0700)]
Replace local backtrace with def-use, repair std macro spans

7 years agoFix merge conflict
Jonathan Turner [Wed, 17 Aug 2016 21:26:05 +0000 (14:26 -0700)]
Fix merge conflict

7 years agoremove seemingly unnecessary call to encode_predicates
Niko Matsakis [Wed, 17 Aug 2016 19:14:08 +0000 (15:14 -0400)]
remove seemingly unnecessary call to encode_predicates

7 years agoremove `usize: DepGraphRead` and add `Untracked`
Niko Matsakis [Tue, 16 Aug 2016 15:42:30 +0000 (11:42 -0400)]
remove `usize: DepGraphRead` and add `Untracked`

The idea is that a `usize` is sort of ambiguous: in this case, it
represents indices that do not need tracking, but it could as easily be
some data read out from a tracked location, and hence represent tracked
data. Therefore, we add an `Untracked` type that lets user assert
that value is not tracked.

Also correct various typos.

7 years agoAdd a comment, remove Deref/DerefMut
Niko Matsakis [Mon, 15 Aug 2016 15:04:21 +0000 (11:04 -0400)]
Add a comment, remove Deref/DerefMut

The comment explains the `index-builder` pattern. We no longer need the
`Deref/DerefMut` relationship, and it seems nicer without it.

7 years agopacify the mercilous tidy
Niko Matsakis [Mon, 15 Aug 2016 14:19:58 +0000 (10:19 -0400)]
pacify the mercilous tidy

7 years agocreate a trait to ensure that data is tracked
Niko Matsakis [Mon, 15 Aug 2016 01:16:16 +0000 (21:16 -0400)]
create a trait to ensure that data is tracked

Also write a comment explaining the system.

7 years agochange callback for expr/type to a fn pointer
Niko Matsakis [Mon, 15 Aug 2016 00:25:00 +0000 (20:25 -0400)]
change callback for expr/type to a fn pointer

The idea is that, this way, we can cleanly isolate ALL state that is
being passed, since it goes as an argument to the fn pointer.

7 years agoextract two more record calls
Niko Matsakis [Sun, 14 Aug 2016 22:50:53 +0000 (18:50 -0400)]
extract two more record calls

7 years agoextract encode_info_for_trait_item into method
Niko Matsakis [Sun, 14 Aug 2016 22:38:42 +0000 (18:38 -0400)]
extract encode_info_for_trait_item into method

7 years agopull out call to `record` for impl items
Niko Matsakis [Sun, 14 Aug 2016 22:27:57 +0000 (18:27 -0400)]
pull out call to `record` for impl items

7 years agoProperly invalidate the early exit cache
Simonas Kazlauskas [Wed, 17 Aug 2016 01:13:43 +0000 (04:13 +0300)]
Properly invalidate the early exit cache

Fixes #35737

7 years agoNew output for E0407
crypto-universe [Tue, 16 Aug 2016 22:03:53 +0000 (00:03 +0200)]
New output for E0407

Issue #35697 as a part of #35233.
r? @jonathandturner

7 years agoMerge branch 'master' into E0403-update-error-format
Chris Stankus [Wed, 17 Aug 2016 17:31:20 +0000 (12:31 -0500)]
Merge branch 'master' into E0403-update-error-format

7 years agoRemove trailing white space
Jacob [Wed, 17 Aug 2016 17:21:15 +0000 (10:21 -0700)]
Remove trailing white space

7 years agoFixes issue #11004
Guillaume Gomez [Wed, 17 Aug 2016 13:59:27 +0000 (15:59 +0200)]
Fixes issue #11004

7 years agoAuto merge of #35747 - jonathandturner:rollup, r=jonathandturner
bors [Wed, 17 Aug 2016 16:49:34 +0000 (09:49 -0700)]
Auto merge of #35747 - jonathandturner:rollup, r=jonathandturner

Rollup of 23 pull requests

- Successful merges: #34370, #35415, #35595, #35610, #35613, #35614, #35621, #35660, #35663, #35670, #35671, #35672, #35681, #35686, #35690, #35695, #35707, #35708, #35713, #35722, #35725, #35726, #35731
- Failed merges: #35395

7 years agodon't pass extra state fo encode_struct_ctor
Niko Matsakis [Sun, 14 Aug 2016 22:10:13 +0000 (18:10 -0400)]
don't pass extra state fo encode_struct_ctor

7 years agopull out encode_field
Niko Matsakis [Fri, 12 Aug 2016 20:18:22 +0000 (16:18 -0400)]
pull out encode_field

7 years agopull out code for encoding enum variants
Niko Matsakis [Fri, 12 Aug 2016 19:59:53 +0000 (15:59 -0400)]
pull out code for encoding enum variants

7 years agopull out the record call for encode_info_for_item
Niko Matsakis [Fri, 12 Aug 2016 18:54:46 +0000 (14:54 -0400)]
pull out the record call for encode_info_for_item

7 years agoAdd a test to check that AtomicBool has the proper representation
Amanieu d'Antras [Wed, 17 Aug 2016 14:34:43 +0000 (15:34 +0100)]
Add a test to check that AtomicBool has the proper representation

7 years agoseparate main items from addl items in metadata
Niko Matsakis [Fri, 12 Aug 2016 18:18:59 +0000 (14:18 -0400)]
separate main items from addl items in metadata

7 years agomove rbml_w into the self struct
Niko Matsakis [Fri, 12 Aug 2016 01:55:22 +0000 (21:55 -0400)]
move rbml_w into the self struct

7 years agoAdd 'make help' for rustbuild
Simon Sapin [Wed, 17 Aug 2016 14:23:11 +0000 (16:23 +0200)]
Add 'make help' for rustbuild

It is still advertised by the configure script.

7 years agoAuto merge of #35733 - apasel422:issue-35721, r=alexcrichton
bors [Wed, 17 Aug 2016 13:25:56 +0000 (06:25 -0700)]
Auto merge of #35733 - apasel422:issue-35721, r=alexcrichton

Make `vec::IntoIter` covariant again

Closes #35721

r? @alexcrichton

7 years agoRollup merge of #35731 - pythoneer:fix-35192, r=jonathandturner
Jonathan Turner [Wed, 17 Aug 2016 13:25:28 +0000 (06:25 -0700)]
Rollup merge of #35731 - pythoneer:fix-35192, r=jonathandturner

Update E0005 to use a label

Fixes #35192 as Part of #35233

r? @jonathandturner

7 years agoRollup merge of #35726 - mikhail-m1:master2, r=jonathandturner
Jonathan Turner [Wed, 17 Aug 2016 13:25:28 +0000 (06:25 -0700)]
Rollup merge of #35726 - mikhail-m1:master2, r=jonathandturner

update E0409 to new error format

fixes #35699 as part of #35233.

r? @jonathandturner

7 years agoRollup merge of #35725 - brson:bump, r=alexcrichton
Jonathan Turner [Wed, 17 Aug 2016 13:25:27 +0000 (06:25 -0700)]
Rollup merge of #35725 - brson:bump, r=alexcrichton

Bump version to 1.13

7 years agoRollup merge of #35722 - knight42:update-error-msg, r=jonathandturner
Jonathan Turner [Wed, 17 Aug 2016 13:25:27 +0000 (06:25 -0700)]
Rollup merge of #35722 - knight42:update-error-msg, r=jonathandturner

Updated E0394 & E0422 to new format

Fixes #35692 and #35700, as part of #35233.

r? @jonathandturner

7 years agoRollup merge of #35713 - sanxiyn:ui-test, r=nikomatsakis
Jonathan Turner [Wed, 17 Aug 2016 13:25:27 +0000 (06:25 -0700)]
Rollup merge of #35713 - sanxiyn:ui-test, r=nikomatsakis

Use UI test to test spans, instead of forced line break

There must be lots more, but these are what I could easily find.

7 years agoRollup merge of #35708 - sanxiyn:new-error-format, r=nikomatsakis
Jonathan Turner [Wed, 17 Aug 2016 13:25:27 +0000 (06:25 -0700)]
Rollup merge of #35708 - sanxiyn:new-error-format, r=nikomatsakis

RUST_NEW_ERROR_FORMAT is no more

So stop setting the environment variable.

7 years agoRollup merge of #35707 - frewsxcv:vec-into-iter-debug, r=alexcrichton
Jonathan Turner [Wed, 17 Aug 2016 13:25:26 +0000 (06:25 -0700)]
Rollup merge of #35707 - frewsxcv:vec-into-iter-debug, r=alexcrichton

Implement `Debug` for `std::vec::IntoIter`.

Display all the remaining items of the iterator, similar to the `Debug`
implementation for `core::slice::Iter`:

https://github.com/rust-lang/rust/blob/f0bab98695f0a4877daabad9a5b0ba3e66121392/src/libcore/slice.rs#L930-L937

Using the `as_slice` method that was added in:

https://github.com/rust-lang/rust/pull/35447

7 years agoRollup merge of #35695 - matthew-piziak:vec-assert-over-println, r=GuillaumeGomez
Jonathan Turner [Wed, 17 Aug 2016 13:25:26 +0000 (06:25 -0700)]
Rollup merge of #35695 - matthew-piziak:vec-assert-over-println, r=GuillaumeGomez

accumulate into vector and assert, instead of printing

I'm only making this change in one place so that people can express
their preferences for this stylistic change. If/when this change is
approved I'll go ahead and translate the rest of the `std::ops`
examples.

7 years agoRollup merge of #35690 - matthew-piziak:op-overloading-limited, r=steveklabnik
Jonathan Turner [Wed, 17 Aug 2016 13:25:26 +0000 (06:25 -0700)]
Rollup merge of #35690 - matthew-piziak:op-overloading-limited, r=steveklabnik

expound on limitations of Rust's trait-based operator overloading

Part of #29330

7 years agoRollup merge of #35686 - mikhail-m1:master, r=jonathandturner
Jonathan Turner [Wed, 17 Aug 2016 13:25:26 +0000 (06:25 -0700)]
Rollup merge of #35686 - mikhail-m1:master, r=jonathandturner

update E0375 to new format

fixes #35635 as part of #35233.

r? @jonathandturner

7 years agoRollup merge of #35681 - Rufflewind:patch-1, r=apasel422
Jonathan Turner [Wed, 17 Aug 2016 13:25:26 +0000 (06:25 -0700)]
Rollup merge of #35681 - Rufflewind:patch-1, r=apasel422

Fix spacing in code of closures.md

The spacing seems inconsistent with existing style conventions.

7 years agoRollup merge of #35672 - yossi-k:issue/35323, r=GuillaumeGomez
Jonathan Turner [Wed, 17 Aug 2016 13:25:25 +0000 (06:25 -0700)]
Rollup merge of #35672 - yossi-k:issue/35323, r=GuillaumeGomez

Update E0322 to new format

Fixes #35323. Part of #35233.
r? @GuillaumeGomez

7 years agoRollup merge of #35671 - canaltinova:E0392, r=jonathandturner
Jonathan Turner [Wed, 17 Aug 2016 13:25:25 +0000 (06:25 -0700)]
Rollup merge of #35671 - canaltinova:E0392, r=jonathandturner

Update E0392 to new error format

Fixes #35631. Part of #35233
r? @jonathandturner or @GuillaumeGomez

7 years agoRollup merge of #35670 - RockyTV:e0365, r=jonathandturner
Jonathan Turner [Wed, 17 Aug 2016 13:25:25 +0000 (06:25 -0700)]
Rollup merge of #35670 - RockyTV:e0365, r=jonathandturner

Update error E0365 to new format

Fixes #35633 as part of #35233.

r? @jonathandturner

7 years agoRollup merge of #35663 - CryZe:no-stdlib, r=Manishearth
Jonathan Turner [Wed, 17 Aug 2016 13:25:25 +0000 (06:25 -0700)]
Rollup merge of #35663 - CryZe:no-stdlib, r=Manishearth

Improve `No stdlib` and related Documentation

This renames all lang item function names to the ones used in `libstd` and `libpanic_unwind`. It also explains the `eh_unwind_resume` lang item in the `libcore` documentation, where it was missing. A third function is also needed on certain compilation targets, so this was also added to the `No stdlib` documentation.

7 years agoRollup merge of #35660 - terrynsun:e0207, r=jonathandturner
Jonathan Turner [Wed, 17 Aug 2016 13:25:24 +0000 (06:25 -0700)]
Rollup merge of #35660 - terrynsun:e0207, r=jonathandturner

Update E0207 label to report parameter type

Fixes #35642.

r? @jonathandturner (Is this okay? I tagged you since it's a simple error fix similar to the other update ones.)

7 years agoRollup merge of #35621 - frewsxcv:cstring-from-vec-doc, r=peschkaj
Jonathan Turner [Wed, 17 Aug 2016 13:25:24 +0000 (06:25 -0700)]
Rollup merge of #35621 - frewsxcv:cstring-from-vec-doc, r=peschkaj

Add doc example for `std::ffi::CString::from_vec_unchecked`.

None

7 years agoRollup merge of #35614 - srinivasreddy:syntax_ext_rustfmt, r=nikomatsakis
Jonathan Turner [Wed, 17 Aug 2016 13:25:24 +0000 (06:25 -0700)]
Rollup merge of #35614 - srinivasreddy:syntax_ext_rustfmt, r=nikomatsakis

run rustfmt on libsyntax_ext folder

7 years agoRollup merge of #35613 - matthew-piziak:array-docs-trait-justification, r=steveklabnik
Jonathan Turner [Wed, 17 Aug 2016 13:25:24 +0000 (06:25 -0700)]
Rollup merge of #35613 - matthew-piziak:array-docs-trait-justification, r=steveklabnik

provide additional justification for array interface design

Explain why Rust does not implement traits for large arrays.

Explain why most methods are implemented on slices rather than arrays.

Note: I'm dipping my toes in the water with a tiny PR. Especially looking for feedback on wording and style. Points of concern: appropriate level of top-level explanation; foreshadowing (is it appropriate to imply that we expect Rust's type system to eventually support size-generic arrays?); using `Foo` and `Bar` as type variables instead of e.g. `T` and `S`.

@peschkaj

7 years agoRollup merge of #35610 - JessRudder:33637-doc-update-for-str-representaton, r=stevekl...
Jonathan Turner [Wed, 17 Aug 2016 13:25:24 +0000 (06:25 -0700)]
Rollup merge of #35610 - JessRudder:33637-doc-update-for-str-representaton, r=steveklabnik

Add note to docs for &str that example is to demo internals only

r? @steveklabnik

This adds a note below the &str representation example explaining that the example provided should not be used under normal circumstances..

Would it make sense to point people in the direction of the method(s) they should use instead?  I left it out in the interest of not complicating the documentation, but, there's definitely an argument to be made for adding a bit of guidance in there.

7 years agoRollup merge of #35595 - urschrei:associated_types_docfix, r=steveklabnik
Jonathan Turner [Wed, 17 Aug 2016 13:25:23 +0000 (06:25 -0700)]
Rollup merge of #35595 - urschrei:associated_types_docfix, r=steveklabnik

Clarify type declaration language in Associated Types docs

A small fix for the Associated Types docs

r? @steveklabnik

7 years agoRollup merge of #35415 - silenuss:e0030-formatting, r=jonathandturner
Jonathan Turner [Wed, 17 Aug 2016 13:25:23 +0000 (06:25 -0700)]
Rollup merge of #35415 - silenuss:e0030-formatting, r=jonathandturner

Update compiler error 0030 to use new error format.

Part of #35233,
Addresses #35204

r? @jonathandturner

7 years agoRollup merge of #34370 - steveklabnik:keyword-ref-mention, r=Manishearth
Jonathan Turner [Wed, 17 Aug 2016 13:25:22 +0000 (06:25 -0700)]
Rollup merge of #34370 - steveklabnik:keyword-ref-mention, r=Manishearth

A disclaimer about keywords.

Some people cite this list as "zomg Rust has so many keywords," so make
it clear that these aren't all used by the language today.

7 years agomake record take a closure
Niko Matsakis [Thu, 11 Aug 2016 01:37:53 +0000 (21:37 -0400)]
make record take a closure

7 years agointroduce Deref/DerefMut to model subtype rel
Niko Matsakis [Wed, 10 Aug 2016 21:29:24 +0000 (17:29 -0400)]
introduce Deref/DerefMut to model subtype rel

The idea is that ItemContentBuilder is a base-type of IndexBuilder.

7 years agomove free encode fns into methods of IndexBuilder
Niko Matsakis [Wed, 10 Aug 2016 19:33:36 +0000 (15:33 -0400)]
move free encode fns into methods of IndexBuilder

7 years agoput ecx into IndexBuilder so we don't have to pass
Niko Matsakis [Wed, 10 Aug 2016 18:49:22 +0000 (14:49 -0400)]
put ecx into IndexBuilder so we don't have to pass

7 years agostore ecx, not dep-graph
Niko Matsakis [Wed, 10 Aug 2016 18:35:45 +0000 (14:35 -0400)]
store ecx, not dep-graph

7 years agorename CrateIndex to IndexBuilder
Niko Matsakis [Wed, 10 Aug 2016 18:27:36 +0000 (14:27 -0400)]
rename CrateIndex to IndexBuilder

7 years agomove CrateIndex into its own module
Niko Matsakis [Wed, 10 Aug 2016 18:27:06 +0000 (14:27 -0400)]
move CrateIndex into its own module

7 years agoAuto merge of #35236 - nrc:rustdoc-redirects, r=@alexcrichton
bors [Wed, 17 Aug 2016 10:20:13 +0000 (03:20 -0700)]
Auto merge of #35236 - nrc:rustdoc-redirects, r=@alexcrichton

rustdoc: redirect URLs

cc #35020 which does this properly

r? @alexcrichton

7 years agoAuto merge of #35605 - eddyb:substs, r=nikomatsakis
bors [Wed, 17 Aug 2016 05:52:55 +0000 (22:52 -0700)]
Auto merge of #35605 - eddyb:substs, r=nikomatsakis

Remove the ParamSpace separation from formal and actual generics in rustc.

This is the first step towards enabling the typesystem implemented by `rustc` to be extended
(with generic modules, HKT associated types, generics over constants, etc.).

The current implementation splits all formal (`ty::Generics`) and actual (`Substs`) lifetime and type parameters (and even `where` clauses) into 3 "parameter spaces":
* `TypeSpace` for `enum`, `struct`, `trait` and `impl`
* `SelfSpace` for `Self` in a `trait`
* `FnSpace` for functions and methods

For example, in `<X as Trait<A, B>>::method::<T, U>`, the `Substs` are `[[A, B], [X], [T, U]]`.
The representation uses a single `Vec` with 2 indices where it's split into the 3 "parameter spaces".
Such a simplistic approach doesn't scale beyond the Rust 1.0 typesystem, and its existence was mainly motivated by keeping code manipulating generic parameters correct, across all possible situations.

Summary of changes:
* `ty::Generics` are uniformly stored and can be queried with `tcx.lookup_generics(def_id)`
 * the `typeck::collect` changes for this resulted in a function to lazily compute the `ty::Generics` for a local node, given only its `DefId` - this can be further generalized to other kinds of type information
* `ty::Generics` and `ty::GenericPredicates` now contain only their own parameters (or `where` clauses, respectively), and refer to their "parent", forming a linked list
 * right now most items have one level of nesting, only associated items and variants having two
 * in the future, if `<X as mod1<A>::mod2<B>::mod3::Trait<C>>::Assoc<Y>` is supported, it would be represented by item with the path `mod1::mod2::mod3::Trait::Assoc`, and 4 levels of generics: `mod1` with `[A]`, `mod2` with `[B]`, `Trait` with `[X, C]` and `Assoc` with `[Y]`
* `Substs` gets two new APIs for working with arbitrary items:
 * `Substs::for_item(def_id, mk_region, mk_type)` will construct `Substs` expected by the definition `def_id`, calling `mk_region` for lifetime parameters and `mk_type` for type parameters, and it's guaranteed to *always* return `Substs` compatible with `def_id`
 * `substs.rebase_onto(from_base_def_id, to_base_substs)` can be used if `substs` is for an item nested within `from_base_def_id` (e.g. an associated item), to replace the "outer parameters" with `to_base_substs` - for example, you can translate a method's `Substs` between a `trait` and an `impl` (in both directions) if you have the `DefId` of one and `Substs` for the other
* trait objects, without a `Self` in their `Substs`, use *solely* `ExistentialTraitRef` now, letting `TraitRef` assume it *always* has a `Self` present
* both `TraitRef` and `ExistentialTraitRef` get methods which do operations on their `Substs` which are valid only for traits (or trait objects, respectively)
* `Substs` loses its "parameter spaces" distinction, with effectively no code creating `Substs` in an ad-hoc manner, or inspecting them, without knowing what shape they have already

Future plans:
* combine both lifetimes and types in a single `Vec<Kind<'tcx>>` where `Kind` would be a tagged pointer that can be `Ty<'tcx>`, `&'tcx ty::Region` or, in the future, potentially-polymorphic constants
 * this would require some performance investigation, if it implies a lot of dynamic checks
* introduce an abstraction for `(T, Substs)`, where the `Substs` are even more hidden away from code
manipulating it; a precedent for this is `Instance` in trans, which has `T = DefId`; @nikomatsakis also referred to this, as "lazy substitution", when `T = Ty`
* rewrite type pretty-printing to fully take advantage of this to inject actual in the exact places of formal generic parameters in any paths
* extend the set of type-level information (e.g. beyond `ty::Generics`) that can be lazily queried during `typeck` and introduce a way to do those queries from code that can't refer to `typeck` directly
 * this is almost unrelated but is necessary for DAG-shaped recursion between constant evaluation and type-level information, i.e. for implementing generics over constants

r? @nikomatsakis
cc @rust-lang/compiler

cc @nrc Could get any perf numbers ahead of merging this?

7 years agoUpdate E0009 to new format
Jacob [Wed, 17 Aug 2016 05:21:31 +0000 (22:21 -0700)]
Update E0009 to new format

7 years agoUpdate minimum CMake version in README
Neil Williams [Wed, 17 Aug 2016 04:30:17 +0000 (21:30 -0700)]
Update minimum CMake version in README

The minimum got bumped in the LLVM upgrade of #34743.

7 years agoReview changes
Nick Cameron [Mon, 15 Aug 2016 22:27:07 +0000 (10:27 +1200)]
Review changes

7 years agorustc: remove ParamSpace from Substs.
Eduard Burtescu [Wed, 17 Aug 2016 03:32:00 +0000 (06:32 +0300)]
rustc: remove ParamSpace from Substs.

7 years agorustc: split GenericPredicates of a method from its parent predicates.
Eduard Burtescu [Thu, 11 Aug 2016 06:19:42 +0000 (09:19 +0300)]
rustc: split GenericPredicates of a method from its parent predicates.

7 years agorustc: split Generics of a method from its parent Generics.
Eduard Burtescu [Wed, 10 Aug 2016 17:39:09 +0000 (20:39 +0300)]
rustc: split Generics of a method from its parent Generics.

7 years agorustc: remove SelfSpace from ParamSpace.
Eduard Burtescu [Sun, 14 Aug 2016 22:07:09 +0000 (01:07 +0300)]
rustc: remove SelfSpace from ParamSpace.

7 years agorustc: reduce Substs and Generics to a simple immutable API.
Eduard Burtescu [Mon, 8 Aug 2016 20:39:49 +0000 (23:39 +0300)]
rustc: reduce Substs and Generics to a simple immutable API.

7 years agorustc_typeck: use Substs::from_generics instead of manually building them.
Eduard Burtescu [Wed, 17 Aug 2016 01:05:00 +0000 (04:05 +0300)]
rustc_typeck: use Substs::from_generics instead of manually building them.

7 years agorustc: move trait objects from TraitRef to ExistentialTraitRef.
Eduard Burtescu [Thu, 4 Aug 2016 12:52:57 +0000 (15:52 +0300)]
rustc: move trait objects from TraitRef to ExistentialTraitRef.

7 years agorustc: move defaulting's use of &mut Substs from InferCtxt to typeck.
Eduard Burtescu [Wed, 17 Aug 2016 00:56:18 +0000 (03:56 +0300)]
rustc: move defaulting's use of &mut Substs from InferCtxt to typeck.

7 years agorustc: avoid using subst::VecPerParamSpace::{empty,new} directly.
Eduard Burtescu [Tue, 14 Jun 2016 22:40:09 +0000 (01:40 +0300)]
rustc: avoid using subst::VecPerParamSpace::{empty,new} directly.

7 years agorustc: force all raw accesses to VecPerParamSpace through as_full_slice.
Eduard Burtescu [Mon, 13 Jun 2016 17:46:08 +0000 (20:46 +0300)]
rustc: force all raw accesses to VecPerParamSpace through as_full_slice.

7 years agorustc: move the SelfSpace before TypeSpace in Substs.
Eduard Burtescu [Mon, 13 Jun 2016 17:13:37 +0000 (20:13 +0300)]
rustc: move the SelfSpace before TypeSpace in Substs.

7 years agorustc: use Vec instead of VecPerParamSpace for ty::GenericPredicates.
Eduard Burtescu [Mon, 13 Jun 2016 17:10:32 +0000 (20:10 +0300)]
rustc: use Vec instead of VecPerParamSpace for ty::GenericPredicates.

7 years agoAuto merge of #35559 - frewsxcv:slice-iter-as-ref, r=alexcrichton
bors [Wed, 17 Aug 2016 02:44:10 +0000 (19:44 -0700)]
Auto merge of #35559 - frewsxcv:slice-iter-as-ref, r=alexcrichton

Implement `AsRef<[T]>` for `std::slice::Iter`.

`AsRef` is designed for conversions that are "cheap" (as per
the API docs). It is the case that retrieving the underlying
data of `std::slice::Iter` is cheap. In my opinion, there's no
ambiguity about what slice data will be returned, otherwise,
I would be more cautious about implementing `AsRef`.

7 years agoUpdate LLVM to include 4 backported commits by @majnemer.
Eduard Burtescu [Wed, 17 Aug 2016 02:37:48 +0000 (05:37 +0300)]
Update LLVM to include 4 backported commits by @majnemer.

7 years agoE0403 update error format
Chris Stankus [Wed, 17 Aug 2016 01:47:45 +0000 (20:47 -0500)]
E0403 update error format

7 years agoMake `vec::IntoIter` covariant again
Andrew Paseltiner [Wed, 17 Aug 2016 00:45:07 +0000 (20:45 -0400)]
Make `vec::IntoIter` covariant again

Closes #35721

7 years agoAuto merge of #35538 - cgswords:libproc_macro, r=nrc
bors [Tue, 16 Aug 2016 23:35:10 +0000 (16:35 -0700)]
Auto merge of #35538 - cgswords:libproc_macro, r=nrc

Kicking off libproc_macro

This PR introduces `libproc_macro`, which is currently quite bare-bones (just a few macro construction tools and an initial `quote!` macro).

This PR also introduces a few test cases for it, and an additional `shim` file (at `src/libsyntax/ext/proc_macro_shim.rs` to allow a facsimile usage of Macros 2.0 *today*!

7 years agoUpdate E0005 Unit-Test
Dustin Bensing [Tue, 16 Aug 2016 22:40:08 +0000 (00:40 +0200)]
Update E0005 Unit-Test

7 years agorustdoc: redirects from sane, namespaced URLs to Rustdoc's ridiculous ones
Nick Cameron [Wed, 3 Aug 2016 01:56:18 +0000 (13:56 +1200)]
rustdoc: redirects from sane, namespaced URLs to Rustdoc's ridiculous ones

cc #35020 which does this properly

7 years agorustdoc: add namespaces for items
Nick Cameron [Wed, 3 Aug 2016 01:19:06 +0000 (13:19 +1200)]
rustdoc: add namespaces for items

7 years agorustdoc: refactoring and tidying up
Nick Cameron [Wed, 3 Aug 2016 01:14:59 +0000 (13:14 +1200)]
rustdoc: refactoring and tidying up

pulled out of #35020

7 years agoadd mips-uclibc targets
Jorge Aparicio [Tue, 16 Aug 2016 22:07:55 +0000 (17:07 -0500)]
add mips-uclibc targets

These targets cover OpenWRT 15.05 devices, which use the soft float ABI
and the uclibc library. None of the other built-in mips targets covered
those devices (mips-gnu is hard float and glibc-based, mips-musl is
musl-based).

With this commit one can now build std for these devices using these
commands:

```
$ configure --enable-rustbuild --target=mips-unknown-linux-uclibc
$ make
```

cc #35673

7 years agoUpdate E0005 to use a label
Dustin Bensing [Tue, 16 Aug 2016 21:50:32 +0000 (23:50 +0200)]
Update E0005 to use a label

7 years agoImplement RFC 1649
Amanieu d'Antras [Tue, 16 Aug 2016 15:58:20 +0000 (16:58 +0100)]
Implement RFC 1649

7 years agoAuto merge of #35354 - tomgarcia:covariant-drain, r=alexcrichton
bors [Tue, 16 Aug 2016 20:26:15 +0000 (13:26 -0700)]
Auto merge of #35354 - tomgarcia:covariant-drain, r=alexcrichton

Made vec_deque::Drain, hash_map::Drain, and hash_set::Drain covariant

Fixed the rest of the Drain iterators.

7 years agoProc_macro is alive
cgswords [Thu, 4 Aug 2016 19:20:01 +0000 (12:20 -0700)]
Proc_macro is alive

7 years agoupdate to new error format E0409
Mikhail Modin [Tue, 16 Aug 2016 19:13:09 +0000 (22:13 +0300)]
update to new error format E0409

7 years agoUpdated E0394 to new error message
Knight [Tue, 16 Aug 2016 17:40:57 +0000 (01:40 +0800)]
Updated E0394 to new error message

7 years agoUpdated E0422 to new error message
Knight [Tue, 16 Aug 2016 16:57:44 +0000 (00:57 +0800)]
Updated E0422 to new error message

7 years agoBump version to 1.13
Brian Anderson [Tue, 16 Aug 2016 18:29:50 +0000 (11:29 -0700)]
Bump version to 1.13

7 years agoAuto merge of #35637 - japaric:no-builtins-lto, r=alexcrichton
bors [Tue, 16 Aug 2016 17:13:18 +0000 (10:13 -0700)]
Auto merge of #35637 - japaric:no-builtins-lto, r=alexcrichton

exclude `#![no_builtins]` crates from LTO

this prevents intrinsics like `memcpy` from being mis-optimized to
infinite recursive calls when LTO is used.

fixes #31544
closes #35540

---

r? @alexcrichton
cc @Amanieu

7 years agoAdd basic unit test for `std::slice::Iter::as_slice`.
Corey Farwell [Wed, 10 Aug 2016 00:51:47 +0000 (20:51 -0400)]
Add basic unit test for `std::slice::Iter::as_slice`.

7 years agoImplement `AsRef<[T]>` for `std::slice::Iter`.
Corey Farwell [Wed, 10 Aug 2016 00:49:41 +0000 (20:49 -0400)]
Implement `AsRef<[T]>` for `std::slice::Iter`.

`AsRef` is designed for conversions that are "cheap" (as per
the API docs). It is the case that retrieving the underlying
data of `std::slice::Iter` is cheap. In my opinion, there's no
ambiguity about what slice data will be returned, otherwise,
I would be more cautious about implementing `AsRef`.

7 years agoAuto merge of #35617 - jseyfried:fix_unused_cfg_attr_path, r=eddyb
bors [Tue, 16 Aug 2016 13:32:20 +0000 (06:32 -0700)]
Auto merge of #35617 - jseyfried:fix_unused_cfg_attr_path, r=eddyb

Fix incorrect unused import warnings on `cfg_attr`ed `path` attributes

Fixes #35584.
r? @eddyb