Commit Graph

33609 Commits

Author SHA1 Message Date
Alex Crichton
83e91fb489 rollup merge of #18221 : jkleint/guide-boxes 2014-10-27 12:53:00 -07:00
Steve Klabnik
13e4daee26 Fix some wording about errors
see https://github.com/rust-lang/rust/pull/18176#discussion_r19374679
2014-10-27 15:51:52 -04:00
bors
e05c3b7799 auto merge of #17978 : arielb1/rust/remaining-garbage, r=nikomatsakis
it seems to be some kind of leftover GC-related detritus
2014-10-27 16:57:46 +00:00
Ariel Ben-Yehuda
19faaf1a9e Remove cat_discr
it seems to be some kind of GC-related mess
2014-10-27 19:06:50 +02:00
Patrick Walton
aa242e721a libcore: Inline atomic constructors.
Servo really wants this.
2014-10-27 09:14:57 -07:00
Adolfo Ochagavía
2ce77b33b0 Add test for issue 18343 2014-10-27 16:28:24 +01:00
Adolfo Ochagavía
9dab88712f Show a note when closure field is called as method
Closes https://github.com/rust-lang/rust/issues/18343
2014-10-27 16:15:50 +01:00
Adolfo Ochagavía
b8c4eb3a4e Fix undefined behavior in std::ascii
Closes https://github.com/rust-lang/rust/issues/18314
2014-10-27 16:09:21 +01:00
Daniel Hofstetter
25650e0eeb Guide: Add missing "a" 2014-10-27 15:41:24 +01:00
bors
e2cd4597da auto merge of #17890 : pnkfelix/rust/fsk-fix-issue-17887, r=alexcrichton
Fixes `config.mk` so that it should not contain multiple inconsistent entries for the same option.

Used aforementioned variants to extract options that have explicit `putvar` calls associated with them in the subsequent code.  When the explicit `putvar` call was conditional on some potentially complex condition, moved the `putvar` call out to the main control flow of the script so that it always runs if necessary.

----

As a driveby fix, captured the error exit when doing the test run of `rustc --version` from `CFG_LOCAL_RUST_ROOT`, and signal explicit configure failure when it did not run successfully.  (If we cannot run `rustc`, we really shouldn't try to keep going.)

----

Fix #17887.
2014-10-27 12:02:42 +00:00
Felix S. Klock II
6f1e627388 config.mk: Added variants of valopt/opt that do not automatically putvar.
Used aforementioned variants to extract options that have explicit
`putvar` calls associated with them in the subsequent code.  When the
explicit `putvar` call was conditional on some potentially complex
condition, moved the `putvar` call out to the main control flow of the
script so that it always runs if necessary.

----

As a driveby fix, captured the error exit when doing the test run of
`rustc --version` from `CFG_LOCAL_RUST_ROOT`, and signal explicit
configure failure when it did not run successfully.  (If we cannot run
`rustc`, we really shouldn't try to keep going.)

----

Finally, in response to review feedback, went through and identified
cases where we had been calling `putvar` manually (and thus my naive
translation used `opt_nosave`/`valopt_nosave`), and then verified
whether a manual `putvar` was necessary (i.e., was each variable in
question manually computed somewhere in the `configure` script).
In cases that did not meet this criteria, I revised the code to use
the `opt`/`valopt` directly and removed the corresponding `putvar`,
cleaning things up a teeny bit.

----

Fix #17887.
2014-10-27 12:17:45 +01:00
bors
a0efafbd85 auto merge of #18348 : michaelwoerister/rust/lldb-test-versioning, r=alexcrichton
Let's try if not running LLDB tests in parallel solves the sporadic deadlocks we've seen since enabling the LLDB test suite. Running the tests in parallel has lead to unstable behaviour in the past (with LLDB versions below 310.x.x). Maybe our new minimum LLDB version isn't quite up to it either.

cc @alexcrichton
2014-10-27 07:52:39 +00:00
Kevin Mehall
e5f709079a Preserve struct field pattern shorthand in the prettyprinter.
Use the `is_shorthand` field introduced by #17813 (ead6c4b) to make the
prettyprinter output the shorthand form. Fixes a few places that set
`is_shorthand: true` when the pattern is not a PatIdent with the same
name as the field.
2014-10-27 00:35:35 -07:00
bors
a93e9c20f2 auto merge of #18130 : mahkoh/rust/udp, r=alexcrichton
Closes #18111

Note that the non-empty part doesn't matter right now because of #18129.
2014-10-27 03:57:37 +00:00
Colin Sherratt
8a4bd8427c Added Encodable and Decodable for Arc<T>. 2014-10-26 23:41:51 -04:00
John Kleint
d257b37608 Guide: motivate Box and Rc pointers with need, uses, benefits, and examples.
Explain that Rust has different pointer types because there is a
tradeoff between flexibility and efficiency. Motivate boxes as
fixed-size containers of variable-sized objects. Clarify that Box and Rc
are pointer types that you deref with * just like references. Stick to
explaining the semantics and avoid implementation details.  Scope isn't
the most accurate framework to think about deallocation (since you
return boxes and otherwise move values out of scopes); it's more "when
the value is done being used," i.e., lifetime. Provide a connection
between Rust's pointer types by locating them on a flexibiltiy /
performance scale. Explain the compiler can't statically analyze
lifetimes with multiple owners; hence the need for (runtime) reference
counting.
2014-10-26 23:41:51 -04:00
Guillaume Pinot
7c6a4cc98b simplify shootout-reverse-complement.rs
Simpler, safer and shorter, in the same spirit of the current version, and the
same performances.
2014-10-26 22:53:17 +01:00
Jakub Bukaj
f16744ce52 Fix a typecheck regression with constant borrowed pointers in patterns
Change the eqtype relationship to be a suptype relationship instead.

Fixes #18350.
Fixes #18352.
2014-10-26 22:35:26 +01:00
Piotr Szotkowski
16bae692be Guide: Closures fix suggested by @cakebaker 2014-10-26 18:15:08 +01:00
Michael Woerister
ca0446d107 debuginfo: Set RUST_TEST_TASKS to 1 again for LLDB tests 2014-10-26 18:09:06 +01:00
bors
f037452447 auto merge of #18143 : mahkoh/rust/reverse_complement, r=alexcrichton
Lots of unsafe code and lots of branches removed. Also multithreaded.

Rust old: 1.208 seconds
Rust new: 0.761 seconds
C: 0.632 seconds
2014-10-26 16:42:33 +00:00
Daniel Hofstetter
622ae41e90 Guide: Add link to FFI explanation 2014-10-26 16:58:17 +01:00
Adolfo Ochagavía
79e05e9995 Implement Show for Arc<T>
Fixes https://github.com/rust-lang/rust/issues/18299
2014-10-26 15:30:40 +01:00
Piotr Szotkowski
4eedd873ec Guide: Closures: minor wording fixes 2014-10-26 09:50:16 +01:00
Piotr Szotkowski
aa1cd6e707 Guide: Patterns: use non-x variables in match blocks 2014-10-26 09:41:50 +01:00
bors
cb943b7d2b auto merge of #18212 : kmcallister/rust/unsafecell, r=thestinger
Fixes #18131.
2014-10-26 06:37:23 +00:00
Brian Koropoff
5662bbad07 Add regression test for #18335 2014-10-25 21:51:14 -07:00
Brian Koropoff
6be48ea92e Add regression test for #18238 and #18336 2014-10-25 21:50:08 -07:00
Brian Koropoff
7129f172ae Improve diagnostics that result from the fix for #18335 2014-10-25 21:46:24 -07:00
Brian Koropoff
1062955b46 Tweak mem categorization of upvar mutability
- Correctly categorize env pointer deref for `FnMut` as declared
  rather than inherited.  This fixes an assert in borrowck.
  Closes #18238
- Categorize env pointer deref as mutable only if the closure is
  `FnMut` *and* the original variable is declared mutable.  This
  disallows capture-by-value `FnMut` closures from mutating captured
  variables that aren't declared mutable.  This is a difference
  from the equivalent desugared code which would permit it, but
  it is consistent with the behavior of procs.  Closes #18335
- Avoid computing info about the env pointer if there isn't one.
2014-10-25 21:40:25 -07:00
Brian Koropoff
2877e47ea7 Ensure unboxed closure upvars are marked as used mutably
Closes #18336
2014-10-25 21:39:34 -07:00
Joseph Crail
30403204d6 Fix spelling mistakes in comments. 2014-10-25 23:11:17 -04:00
Steven Fackler
bed5a7d92a Add MemWriter::from_vec 2014-10-25 19:23:39 -07:00
Cody P Schafer
f3fd79d6aa split platform definitions out of mk/platform.mk
The goal here is to make it easier to add new platform definitions,
especially when the additions are programmatic (ie: in build scripts).
2014-10-25 21:01:18 -04:00
Vadim Chugunov
f29535d235 Fix bug #17982. 2014-10-25 17:37:41 -07:00
Brendan Zabarauskas
6598d33bd0 Update parse::test::string_to_tts_1 test 2014-10-26 11:20:32 +11:00
Steven Fackler
9acce10fe7 Finish cfg syntax transition 2014-10-25 16:43:14 -07:00
Brendan Zabarauskas
94d6eee335 Add a KleeneOp enum for clarity 2014-10-26 09:53:30 +11:00
Brendan Zabarauskas
34dacb80ce Reduce the size of the TokenTree 2014-10-26 09:53:30 +11:00
Brendan Zabarauskas
dfb4163f83 Use standard capitalisation for TokenTree variants 2014-10-26 09:53:30 +11:00
Brendan Zabarauskas
6a50b4d018 Prevent some vector reallocations 2014-10-26 09:53:30 +11:00
Brendan Zabarauskas
ec3f0201e7 Rename TokenTree variants for clarity
This should be clearer, and fits in better with the `TTNonterminal` variant.

Renames:

- `TTTok` -> `TTToken`
- `TTDelim` -> `TTDelimited`
- `TTSeq` -> `TTSequence`
2014-10-26 09:53:29 +11:00
Brendan Zabarauskas
971d776aa5 Add Span and separate open/close delims to TTDelim
This came up when working [on the gl-rs generator extension](990383de80/src/gl_generator/lib.rs (L135-L146)).

The new definition of  `TTDelim` adds an associated `Span` that covers the whole token tree and enforces the invariant that a delimited sequence of token trees must have an opening and closing delimiter.

A `get_span` method has also been added to `TokenTree` type to make it easier to implement better error messages for syntax extensions.
2014-10-26 09:53:29 +11:00
Jakub Bukaj
2c744c7f32 Add test cases for E-needstest issues 2014-10-26 00:18:10 +02:00
Piotr Szotkowski
eb903b4843 Guide: update Testing output and fix contents to match 2014-10-25 23:10:27 +02:00
Piotr Szotkowski
6a22454145 Guide: Cargo now adds bang and drops the semicolon for ‘Hello, world’ 2014-10-25 23:10:10 +02:00
bors
f168c12c56 auto merge of #18293 : thestinger/rust/heap, r=cmr 2014-10-25 20:57:10 +00:00
Piotr Szotkowski
019a982f51 Guide: drop :d formatting where unnecessary 2014-10-25 22:50:38 +02:00
Daniel Micay
a9e85100cd fix sized deallocation documentation 2014-10-25 14:12:21 -04:00
Daniel Micay
a6426cb43d return the new usable size from reallocate_inplace
The real size is also more useful than just a boolean, and the caller
can easily determine if the operation failed from the real size. In most
cases, the caller is only going to be growing the allocation so a branch
can be avoided.

[breaking-change]
2014-10-25 14:12:21 -04:00