summary refs log tree commit diff
path: root/src/librustc/middle
AgeCommit message (Collapse)AuthorLines
2014-10-07Rename slicing methodsNick Cameron-6/+6
2014-10-07Use slice syntax instead of slice_to, etc.Nick Cameron-10/+10
2014-10-06auto merge of #17803 : bkoropoff/rust/issue-17021, r=alexcrichtonbors-54/+76
This closes issue #17021.
2014-10-06auto merge of #17781 : P1start/rust/bitflags-lints, r=alexcrichtonbors-1/+1
Closes #17773.
2014-10-06Rename the file permission statics in std::io to be uppercaseP1start-1/+1
For example, this renames `GroupRWX` to `GROUP_RWX`, and deprecates the old name. Code using these statics should be updated accordingly.
2014-10-06auto merge of #17414 : jakub-/rust/issue-17405, r=alexcrichtonbors-8/+25
Fixes #17405. Fixes #17518. Fixes #17800.
2014-10-05Fix handling of struct variants in a couple of placesJakub Wieczorek-8/+25
Fixes #17405. Fixes #17518. Fixes #17800.
2014-10-05Handle emitting debug info for unboxed closuresBrian Koropoff-54/+76
This fixes an ICE. Closes issue #17021
2014-10-05auto merge of #17762 : bkoropoff/rust/issue-17734, r=alexcrichtonbors-1/+1
Closes issue #17734 r? @nick29581
2014-10-05auto merge of #17785 : P1start/rust/diagnostics, r=alexcrichtonbors-8/+13
Closes #17765. Closes #15524. Closes #14772.
2014-10-05auto merge of #16970 : kmcallister/rust/llvm-unreachable, r=thestingerbors-0/+5
I'm not sure how to add an automated test for this.
2014-10-05auto merge of #17776 : luqmana/rust/ul, r=alexcrichtonbors-4/+2
Update our LLVM snapshot to master (as of ~ Wed Oct 1 18:49:58 2014 +0000). Since my patches have landed upstream this fixes #13429 and #7298.
2014-10-04Add intrinsics::unreachableKeegan McAllister-0/+5
2014-10-05Tweak ‘discriminant value already exists’ error messageP1start-3/+8
Closes #15524.
2014-10-05Rename vector patterns to array patternsP1start-5/+5
Closes #17765.
2014-10-04auto merge of #17761 : bkoropoff/rust/issue-17758, r=alexcrichtonbors-0/+13
This fixes an ICE and closes issue #17758
2014-10-04auto merge of #17760 : bkoropoff/rust/issue-17737, r=eddybbors-18/+36
This is a quick fix. In the long term, the `TyVisitor` interface should be expanded to better represent closure types. Closes issue #17737
2014-10-04Update LLVM.Luqman Aden-4/+2
2014-10-04Register new snapshotsBjörn Steinbrink-5/+2
2014-10-03Correctly generate drop glue for `Box<str>`Brian Koropoff-1/+1
This fixes an ICE. Closes issue #17734
2014-10-03Handle provided trait methods when giving inference error suggestionsBrian Koropoff-0/+13
This fixes an ICE. Closes issue #17758
2014-10-03Fix type visitor glue for unboxed closuresBrian Koropoff-18/+36
This is a quick fix that prevents an ICE by mimicing the visitor glue for boxed closures and bare functions. Ideally, the `TyVisitor` interface will be improved in the future to allow representing more information about unboxed closures such as Fn/FnMut/FnOnce status, capture mode, and captured free variable types and offsets. Closes issue #17737
2014-10-04auto merge of #17731 : bkoropoff/rust/unboxed-by-ref, r=pcwaltonbors-31/+70
This began as an attempt to fix an ICE in borrowck (issue #17655), but the rabbit hole went pretty deep. I ended up plumbing support for capture-by-reference unboxed closures all the way into trans. Closes issue #17655.
2014-10-03Report trait/impl sig inconsistency before method/body inconsistencyP1start-10/+11
Closes #15657.
2014-10-03Set the `non_uppercase_statics` lint to warn by defaultP1start-3/+24
2014-10-02Correctly trans capture-by-ref unboxed closuresBrian Koropoff-3/+16
Store references to the freevars instead of copies when constructing the environment and insert an additional load when reading them from the environment.
2014-10-02Return correct types for capture-by-ref unboxed closure upvarsBrian Koropoff-1/+13
Treat upvars of capture-by-reference unboxed closures as references with appropriate regions and mutability.
2014-10-02Fix categorization of upvars of capture-by-reference unboxed closuresBrian Koropoff-11/+15
In particular, this causes mutation of an upvar to correctly mark it as mutable during adjustment. This makes borrowck correctly flag conflicting borrows, etc. We still seem to generate incorrect code in trans which copies the upvar by value into the closure. This remains to be fixed.
2014-10-02Fix missing entries in upvar borrows map for capture-by-ref unboxed closuresBrian Koropoff-16/+26
This prevents a later ICE in borrowck. Closes issue #17655
2014-10-02rollup merge of #17666 : eddyb/take-garbage-outAlex Crichton-664/+75
Conflicts: src/libcollections/lib.rs src/libcore/lib.rs src/librustdoc/lib.rs src/librustrt/lib.rs src/libserialize/lib.rs src/libstd/lib.rs src/test/run-pass/issue-8898.rs
2014-10-02rollup merge of #17722 : jakub-/issue-17169Alex Crichton-14/+7
2014-10-02rollup merge of #17646 : bkoropoff/cast-iceAlex Crichton-1/+4
2014-10-02Fix cross-crate tuple structs in staticsJakub Wieczorek-14/+7
Fixes #17169. Fixes #17649.
2014-10-02Revert "Use slice syntax instead of slice_to, etc."Aaron Turon-10/+10
This reverts commit 40b9f5ded50ac4ce8c9323921ec556ad611af6b7.
2014-10-02Revert "Remove the `_` suffix from slice methods."Aaron Turon-8/+8
This reverts commit df2f1fa7680a86ba228f004e7de731e91a1df1fe.
2014-10-02docs: remove mentions of Gc.Eduard Burtescu-92/+18
2014-10-02rustc: remove support for Gc.Eduard Burtescu-542/+53
2014-10-02syntax: ast: remove TyBox and UnBox.Eduard Burtescu-30/+4
2014-10-02auto merge of #17663 : eddyb/rust/method-origin-subst, r=nikomatsakisbors-1/+28
Fixes #17662.
2014-10-02auto merge of #17434 : P1start/rust/borrowck-messages, r=nikomatsakisbors-59/+257
This was originally part of #17215. Closes #15506. Closes #15630. Closes #17263. This also partially implements #15838.
2014-10-02Change the `use of moved value` error to be more accurateP1start-11/+48
Previously it output `partially moved` to eagerly. This updates it to be more accurate and output `collaterally moved` for use of values that were invalidated by moves out of different fields in the same struct. Closes #15630.
2014-10-02Remove the `_` suffix from slice methods.Nick Cameron-8/+8
Deprecates slicing methods from ImmutableSlice/MutableSlice in favour of slicing syntax or the methods in Slice/SliceMut. Closes #17273.
2014-10-02Use slice syntax instead of slice_to, etc.Nick Cameron-10/+10
2014-10-02Clarify some borrowck errorsP1start-27/+102
Closes #17263.
2014-10-02Add an explanatory note when calling a closure via `&`P1start-1/+9
Closes #15506.
2014-10-02Output a note when lifetimes cannot be elided from functionsP1start-20/+98
2014-10-01auto merge of #17654 : gereeter/rust/no-unnecessary-cell, r=alexcrichtonbors-95/+69
There is more that could be done, but this was the low hanging fruit.
2014-10-01auto merge of #17653 : kaini/rust/master, r=alexcrichtonbors-23/+31
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-01auto merge of #17630 : sfackler/rust/cfg-warnings, r=brsonbors-5/+4
Closes #17490
2014-10-01auto merge of #17501 : pcwalton/rust/improve-method-lookup-autoderef, ↵bors-7/+95
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