about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2014-02-27Refactored list::head() to be based on List<T>Bruno de Oliveira Abinader-21/+19
2014-02-27Replaced list::has() with list::contains()Bruno de Oliveira Abinader-14/+13
2014-02-27Removed deprecated list::{iter,each}() functionsBruno de Oliveira Abinader-28/+0
2014-02-27Implemented list::is_empty() based on Container traitBruno de Oliveira Abinader-17/+12
2014-02-27Implemented list::len() based on Container traitBruno de Oliveira Abinader-11/+12
2014-02-27Removed list::any() in favor of iter().any()Bruno de Oliveira Abinader-25/+7
2014-02-27Removed list::find() in favor of iter().find()Bruno de Oliveira Abinader-30/+11
2014-02-27Removed list::foldl() in favor of iter().fold()Bruno de Oliveira Abinader-33/+10
2014-02-27Replaced list::each with iter() in get_regionBruno de Oliveira Abinader-15/+9
2014-02-27Replaced list::each with iter() in Arenas's Drop implBruno de Oliveira Abinader-6/+3
2014-02-27Implemented Items<'a, T> for List<T>Bruno de Oliveira Abinader-0/+46
2014-02-27Modified list::from_vec() to return List<T>Bruno de Oliveira Abinader-24/+29
2014-02-27Implement Eq for Cell<T>Bruno de Oliveira Abinader-0/+9
2014-02-27Renamed variablesBruno de Oliveira Abinader-67/+65
2014-02-27Replaced @List with ~List in Rust's recursive exampleBruno de Oliveira Abinader-2/+2
2014-02-26auto merge of #12581 : alexcrichton/rust/older-llvm, r=brsonbors-26/+87
In doing so, revert travis to not using a 3.5 build because it seems to be changing enough that it's breaking our C++ glue frequently enough.
2014-02-26auto merge of #12486 : MicahChalmer/rust/emacs-fixes-round-3, r=brsonbors-47/+239
I've added details in the description of each comment as to what it does, which I won't redundantly repeat here in the PR. They all relate to indentation in the emacs rust-mode. What I will note here is that this closes #8787. It addresses the last remaining case (not in the original issue description but in a comment), of indenting `match` statements. With the changes here, I believe every problem described in the issue description or comments of #8787 is addressed.
2014-02-26auto merge of #12586 : ↵bors-1/+15
chris-morgan/rust/fix-pretty-print-slash-star-star-star-crash, r=alexcrichton The pretty printer was treating block comments with more than two asterisks after the first slash (e.g. `/***`) as doc comments (which are attributes), whereas in actual fact they are just regular comments.
2014-02-27Fix a pretty printer crash on `/***`.Chris Morgan-1/+15
The pretty printer was treating block comments with more than two asterisks after the first slash (e.g. `/***`) as doc comments (which are attributes), whereas in actual fact they are just regular comments.
2014-02-26travis: Use LLVM 3.3 from the official reposAlex Crichton-18/+9
We can be certain that this version of LLVM will not be changing, so we don't have to worry about API drift over time.
2014-02-26rustc: Get rustc compiling with LLVM 3.{3,4} againAlex Crichton-8/+78
The travis builds have been breaking recently because LLVM 3.5 upstream is changing. This looks like it's likely to continue, so it would be more useful for us if we could lock ourselves to a system LLVM version that is not changing. This commit has the support to bring our C++ glue to LLVM back in line with what was possible back in LLVM 3.{3,4}. I don't think we're going to be able to reasonably protect against regressions in the future, but this kind of code is a good sign that we can continue to use the system LLVM for simple-ish things. Codegen for ARM won't work and it won't have some of the perf improvements we have, but using the system LLVM should work well enough for development.
2014-02-26auto merge of #12572 : lifthrasiir/rust/owned-ptr-static-bound, r=alexcrichtonbors-6/+36
This is inspired by the [question](http://www.reddit.com/r/rust/comments/1yy57k/unsolved_question_from_irc/) (re-)posted to /r/rust. The error message in this question correctly states that one should add `'static` to the trait bounds, but does not state which trait bounds. This PR makes that explicit by appending two words. This also renames `check_durable` to `check_static` and removes the outdated comment as a cleanup.
2014-02-26auto merge of #12490 : zslayton/rust/doc-fix-12386, r=alexcrichtonbors-19/+9
Attn: @huonw Addresses #12386.
2014-02-27rustc: Explicitly mention type params with missing `'static` boundsKang Seonghoon-6/+36
Also renames `check_durable` to `check_static` and removes the outdated comment.
2014-02-26auto merge of #12570 : kyrias/rust/master, r=cmrbors-2/+2
Adds a missing tilde to the end and the start of two .notrust blocks.
2014-02-26auto merge of #12571 : eddyb/rust/kill-callee-id, r=nikomatsakisbors-669/+593
Every method call and overloaded operator had a `callee_id` that was be used to store the method type and type substitutions, that information is now stored in the `method_map`, alongside the method's origin.
2014-02-26Replace callee_id with information stored in method_map.Eduard Burtescu-550/+478
2014-02-26Rename a few typeck method-related structures to UpperCamelCase.Eduard Burtescu-119/+115
2014-02-26tutorial: Missing tildes around .notrust blockJohannes Löthberg-2/+2
Adds a missing tilde to the end and the start of two .notrust blocks.
2014-02-25auto merge of #12547 : jagtalon/rust/jag/rust/tutorial-freezing, r=pnkfelixbors-4/+4
- "Lending an immutable pointer" might be confusing. It was not discussed why borrowed pointers are immutable in the first place. - Make it clear that the borrowed pointers are immutable even if the variable was declared with `mut`. - Make it clear that we cannot even assign anything to the variable while its value is being borrowed. tutorial: change "--" to an em-dash. tutorial: change instances of "--" to em-dash.
2014-02-25auto merge of #12505 : alexcrichton/rust/fix-stack-overflow, r=brsonbors-5/+60
The printing of the error message on stack overflow had two sometimes false assumptions previously. The first is that a local task was always available (it called Local::take) and the second is that it used `println!` instead of manually writing. The first assumption isn't necessarily true because while stack overflow will likely only be detected in situations that a local task is available, it's not guaranteed to always be in TLS. For example, during a `println!` call a task may be blocking, causing it to be unavailable. By using Local::try_take(), we can be resilient against these occurrences. The second assumption could lead to odd behavior because the stdout logger can be overwritten to run arbitrary code. Currently this should be possible, but the utility is much diminished because a stack overflow translates to an abort() instead of a failure.
2014-02-25auto merge of #12548 : alexcrichton/rust/up-llvm, r=huonw,brsonbors-3/+3
Upstream LLVM has changed slightly such that our PassWrapper.cpp no longer comiles (travis errors). This updates the bundled LLVM to the latest nightly which will hopefully fix the travis errors we're seeing.
2014-02-25std: Tweak stack overflow printing for robustnessAlex Crichton-5/+60
The printing of the error message on stack overflow had two sometimes false assumptions previously. The first is that a local task was always available (it called Local::take) and the second is that it used println! instead of manually writing. The first assumption isn't necessarily true because while stack overflow will likely only be detected in situations that a local task is available, it's not guaranteed to always be in TLS. For example, during a println! call a task may be blocking, causing it to be unavailable. By using Local::try_take(), we can be resilient against these occurrences. The second assumption could lead to odd behavior because the stdout logger can be overwritten to run arbitrary code. Currently this should be possible, but the utility is much diminished because a stack overflow translates to an abort() instead of a failure.
2014-02-25auto merge of #12539 : gmjosack/rust/master, r=alexcrichtonbors-2/+0
std::condition was removed in 454882dcb7fdb03867d695a88335e2d2c8f7561a but there are still links to the guide. Removing them.
2014-02-25auto merge of #12493 : eddyb/rust/saner-overloads, r=nikomatsakisbors-277/+193
Fixes #12402.
2014-02-25auto merge of #12457 : alexcrichton/rust/fix-some-tests, r=brsonbors-1317/+304
This updates a number of ignore-test tests, and removes a few completely outdated tests due to the feature being tested no longer being supported. This brings a number of bench/shootout tests up to date so they're compiling again. I make no claims to the performance of these benchmarks, it's just nice to not have bitrotted code. Closes #2604 Closes #9407
2014-02-25auto merge of #12408 : alexcrichton/rust/manual-crate-map, r=brsonbors-8/+100
Apparently weak linkage and dlopen aren't quite working out for applications like servo on android. There appears to be a bug or two in how android loads dynamic libraries and for some reason libservo.so isn't being found. As a temporary solution, add an extern "C" function to libstd which can be called if you have a handle to the crate map manually. When crawling the crate map, we then check this manual symbol before falling back to the old solutions. cc #11731
2014-02-25Update LLVMAlex Crichton-3/+3
Upstream LLVM has changed slightly such that our PassWrapper.cpp no longer comiles (travis errors). This updates the bundled LLVM to the latest nightly which will hopefully fix the travis errors we're seeing.
2014-02-25tutorial: clearer explanation of freezing.Jag Talon-4/+4
- "Lending an immutable pointer" might be confusing. It was not discussed why borrowed pointers are immutable in the first place. - Make it clear that the borrowed pointers are immutable even if the variable was declared with `mut`. - Make it clear that we cannot even assign anything to the variable while its value is being borrowed. tutorial: change "--" to an em-dash. tutorial: change instances of "--" to em-dash.
2014-02-25Add a method of manually specifying the crate mapAlex Crichton-8/+100
Apparently weak linkage and dlopen aren't quite working out for applications like servo on android. There appears to be a bug or two in how android loads dynamic libraries and for some reason libservo.so isn't being found. As a temporary solution, add an extern "C" function to libstd which can be called if you have a handle to the crate map manually. When crawling the crate map, we then check this manual symbol before falling back to the old solutions. cc #11731
2014-02-25test: Clean out the test suite a bitAlex Crichton-1317/+304
This updates a number of ignore-test tests, and removes a few completely outdated tests due to the feature being tested no longer being supported. This brings a number of bench/shootout tests up to date so they're compiling again. I make no claims to the performance of these benchmarks, it's just nice to not have bitrotted code. Closes #2604 Closes #9407
2014-02-25auto merge of #12537 : kballard/rust/add-test-to-doc-index, r=alexcrichtonbors-0/+1
2014-02-25resolve: Don't use @RefCell in trait_map, nothing modifies its entries.Eduard Burtescu-26/+7
2014-02-25resolve: Remove all the operator overloads from trait_map.Eduard Burtescu-72/+0
2014-02-25Use only the appropriate trait when looking up operator overloads.Eduard Burtescu-160/+198
2014-02-25typeck: Remove old diagnostic that refers to `do`.Eduard Burtescu-31/+0
2014-02-25auto merge of #12530 : alexcrichton/rust/make-check-no-rpath, r=brsonbors-14/+35
This involves passing through LD_LIBRARY_PATH through more places, specifically in the compiletest, run-make, and doctest runners.
2014-02-25auto merge of #12522 : erickt/rust/hash, r=alexcrichtonbors-83/+68
This patch series does a couple things: * replaces manual `Hash` implementations with `#[deriving(Hash)]` * adds `Hash` back to `std::prelude` * minor cleanup of whitespace and variable names.
2014-02-25auto merge of #12525 : eddyb/rust/gate-default-type-param-usage, r=alexcrichtonbors-47/+47
Also reverted `#[deriving(Hash)]` to implement `Hash` only for `SipState`, until we decide what to do about default type params.
2014-02-25auto merge of #12473 : bjz/rust/remove-bool, r=alexcrichtonbors-162/+43
These were never used outside of the tests.