Commit Graph

40845 Commits

Author SHA1 Message Date
Brian Anderson 0e0c841bd5 Nightly gets LLVM assertions 2015-04-09 11:51:46 -07:00
Brian Anderson a725426ec8 Don't deoptimize llvm when --enable-debug
libLTO fails to link here.
2015-04-08 18:01:46 -07:00
Brian Anderson 6d17c35cd5 configure: Add --enable-debug-jemalloc 2015-04-08 15:12:08 -07:00
Brian Anderson 1002155c75 Add --enable-debug to control multiple perf options 2015-04-08 14:21:36 -07:00
Brian Anderson 7cbf823353 configure: Add --enable-debuginfo 2015-04-08 13:57:37 -07:00
Brian Anderson 1b34f0aef0 configure: Clarify --enable-debug-assertions status message 2015-04-08 13:31:26 -07:00
Brian Anderson 8545d2ce53 configure: Disable LLVM asserts by default 2015-04-08 13:27:12 -07:00
Brian Anderson 2cdfd372e2 configure: Clarify help message for --enable-debug-assertions 2015-04-08 13:25:20 -07:00
Brian Anderson 59e332bd2f configure: Disable debug assertions by default 2015-04-08 13:23:44 -07:00
Brian Anderson ed8eebd99b configure: Rename --enable-debug to --enable-debug-assertions 2015-04-08 13:22:56 -07:00
Brian Anderson bc9f16c599 configure: Remove obsolete --disable-verify option
rust-installer never verifies.
2015-04-08 12:16:47 -07:00
Brian Anderson 45eb54c870 configure: Remove obsolete --nightly flag 2015-04-08 12:07:35 -07:00
bors 9266d599f4 Auto merge of #24021 - pnkfelix:fn-params-outlive-body, r=nikomatsakis
Encode more precise scoping rules for function params

Function params outlive everything in the body (incl temporaries).  Thus if we assign them their own `CodeExtent`, the region inference can properly show that it is sound to have temporaries with destructors that reference the parameters (because such temporaries will be dropped before the parameters are dropped).

Fix #23338
2015-04-08 12:57:58 +00:00
Felix S. Klock II 86c5faf42b Address review nit by making `map_id` take an `FnMut`. 2015-04-08 13:55:01 +02:00
bors 926f38e588 Auto merge of #23998 - nrc:impl-self, r=nikomatsakis
Closes #23909

r? @nikomatsakis (or anyone else, really)
2015-04-08 09:58:05 +00:00
bors 3a66c7f626 Auto merge of #24120 - aturon:range-perf, r=alexcrichton
A recent change to the implementation of range iterators meant that,
even when stepping by 1, the iterators *always* involved checked
arithmetic.

This commit reverts to the earlier behavior (while retaining the
refactoring into traits).

Fixes #24095
Closes #24119
cc #24014 

r? @alexcrichton
2015-04-08 07:02:06 +00:00
bors ce97c197c2 Auto merge of #24078 - whipsch:extra-token-msg, r=huonw
Addresses issue #22425.  See `src/test/compile-fail/macro-incomplete-parse.rs` for a relevant test:

    macro-incomplete-parse.rs:15:9: 15:10 error: macro expansion ignores token `,` and any following
    macro-incomplete-parse.rs:15         , //~ ERROR macro expansion ignores token `,`
                                         ^
    macro-incomplete-parse.rs:27:1: 27:17 note: caused by the macro expansion here; the usage of `ignored_item` is likely invalid in this context
    macro-incomplete-parse.rs:27 ignored_item!();
                                 ^~~~~~~~~~~~~~~~
    macro-incomplete-parse.rs:20:14: 20:15 error: macro expansion ignores token `,` and any following
    macro-incomplete-parse.rs:20     () => ( 1, 2 ) //~ ERROR macro expansion ignores token `,`
                                              ^
    macro-incomplete-parse.rs:30:5: 30:21 note: caused by the macro expansion here; the usage of `ignored_expr` is likely invalid in this context
    macro-incomplete-parse.rs:30     ignored_expr!();
                                     ^~~~~~~~~~~~~~~~
    macro-incomplete-parse.rs:24:14: 24:15 error: macro expansion ignores token `,` and any following
    macro-incomplete-parse.rs:24     () => ( 1, 2 ) //~ ERROR macro expansion ignores token `,`
                                              ^
    macro-incomplete-parse.rs:32:9: 32:23 note: caused by the macro expansion here; the usage of `ignored_pat` is likely invalid in this context
    macro-incomplete-parse.rs:32         ignored_pat!() => (),
                                         ^~~~~~~~~~~~~~

This does not address the case of improper expansion inside of an impl { } as seen in issue #21607.


I'm not sure if the note text is ideal, but it can be refined if needed.
2015-04-08 04:10:12 +00:00
bors dd6c4a8f15 Auto merge of #23293 - tbu-:pr_additive_multiplicative, r=alexcrichton
Previously it could not be implemented for types outside `libcore/iter.rs` due
to coherence issues.
2015-04-08 00:42:10 +00:00
Aaron Turon dddcbcfeac Fix range performance regression
A recent change to the implementation of range iterators meant that,
even when stepping by 1, the iterators *always* involved checked
arithmetic.

This commit reverts to the earlier behavior (while retaining the
refactoring into traits).

Fixes #24095
cc #24014
2015-04-07 16:20:55 -07:00
Tobias Bucher 97f24a8596 Make `sum` and `product` inherent methods on `Iterator`
In addition to being nicer, this also allows you to use `sum` and `product` for
iterators yielding custom types aside from the standard integers.

Due to removing the `AdditiveIterator` and `MultiplicativeIterator` trait, this
is a breaking change.

[breaking-change]
2015-04-08 00:26:35 +02:00
bors d9146bf8ba Auto merge of #24169 - Manishearth:rollup, r=Manishearth
- Successful merges: #24132, #24139, #24147, #24148, #24150, #24166
- Failed merges:
2015-04-07 19:49:59 +00:00
Manish Goregaokar 4e067f5273 Rollup merge of #24166 - lgvz:email, r=steveklabnik 2015-04-08 01:19:38 +05:30
Manish Goregaokar c4bd1c2bb2 Rollup merge of #24150 - wg:master, r=alexcrichton
This fix allows the gdb debuginfo tests to pass on FreeBSD when using the newer 7.8 package.
2015-04-08 01:19:38 +05:30
Manish Goregaokar fe2cff74f4 Rollup merge of #24148 - xfq:patch-2, r=steveklabnik
People use programming language *implementations* like Ruby MRI, CPython, and SpiderMonkey for executing programs.
2015-04-08 01:19:38 +05:30
Manish Goregaokar 2b34643638 Rollup merge of #24147 - lstat:needstest-22560, r=alexcrichton
Closes #22560
2015-04-08 01:19:38 +05:30
Manish Goregaokar 6295406d9f Rollup merge of #24139 - xfq:patch-1, r=steveklabnik
Use HTTPS where possible to avoid plaintext HTTP connections.
2015-04-08 01:19:37 +05:30
Manish Goregaokar 7b2e11844a Rollup merge of #24132 - kwantam:master, r=alexcrichton
@mahkoh points out in #15628 that unicode.py does not use
normative data for Grapheme classes. This pr fixes that issue,
and does some minor cleanup of the unicode.py script.

In addition, GC_RegionalIndicator is renamed GC_Regional_Indicator
in order to stay in line with the Unicode class name definitions.
I have updated refs in u_str.rs, and verified that there are no
refs elsewhere in the codebase. However, in principle someone
using the unicode tables for their own purposes might see breakage
from this.
2015-04-08 01:19:37 +05:30
Tero Hänninen f728e39572 Change my email 2015-04-07 21:21:46 +03:00
bors 1fd89b625b Auto merge of #24156 - Manishearth:rollup, r=Manishearth 2015-04-07 16:44:11 +00:00
Manish Goregaokar ae64d8e415 doc ignore (fixup #24059) 2015-04-07 22:10:55 +05:30
Manish Goregaokar b3bcbb1a22 Rollup merge of #24113 - mbrubeck:doc-edit, r=steveklabnik
* Fix broken \"module-level documentation\" link on the [`trait Any` docs](http://doc.rust-lang.org/std/any/trait.Any.html) and related broken markup on the [`std::any` docs](http://doc.rust-lang.org/std/any/index.html).

* Remove an outdated or incorrect notice in the `BufRead::lines` docs. There is no such `read_string` function, and `lines` never returns an error.

r? @steveklabnik
2015-04-07 18:13:24 +05:30
Manish Goregaokar 322e4a18e3 Rollup merge of #24112 - joshtriplett:patch-1, r=steveklabnik
traits.md said:

If we add a `use` line right above `main` and make the right things public,
everything is fine:

However, the use line was actually placed at the top of the file instead.  Move
the use line to right above main.  That also makes the example more evocative
of cases where the module is defined in a separate file.
2015-04-07 18:13:12 +05:30
Manish Goregaokar 6efb8352e8 Rollup merge of #24110 - tbu-:pr_doc_fix_add, r=alexcrichton 2015-04-07 18:13:04 +05:30
Manish Goregaokar 50cb31f0e7 Rollup merge of #24088 - GuillaumeGomez:patch-1, r=alexcrichton
Fixes #24060.
2015-04-07 18:12:55 +05:30
Manish Goregaokar 6f852f5620 Rollup merge of #24059 - nikomatsakis:issue-22914-phantomdata-docs, r=huon
This probably needs a bit more work, but I wanted to try and capture some common use cases and be a bit more helpful.

r? @huonw
cc @steveklabnik
2015-04-07 18:12:47 +05:30
Manish Goregaokar daf2e365cf Rollup merge of #24057 - nikomatsakis:lifetime-shadowing-hard-error, r=huon 2015-04-07 18:12:40 +05:30
Manish Goregaokar 4faf0befaa Rollup merge of #24042 - callahad:bug_24030, r=steveklabnik
Fixes #24030

Of the four code samples with modules in TRPL:

    - 2 use `mod test`
    - 2 use `mod tests`

We should be consistent here, but which is right? The stdlib is split:

    $ grep -r 'mod tests {' src/lib* | wc -l
          63
    $ grep -r 'mod test {'  src/lib* | wc -l
          58

Subjectively, I like the plural, but both the language reference and the
style guide recommend the singular. So we'll go with that here, for now.

r? @steveklabnik
2015-04-07 18:12:32 +05:30
Manish Goregaokar 4dd6edda9c Rollup merge of #23277 - aochagavia:intro, r=steveklabnik
cc @steveklabnik
2015-04-07 18:12:22 +05:30
Luke Gallagher 6f9ec0615c Add `ignore-tidy-linelength` and fix formatting 2015-04-07 21:43:12 +10:00
Will fc2494b80c Fix charset of debuginfo test on FreeBSD 2015-04-07 20:41:34 +09:00
bors b41f2df4ca Auto merge of #23277 - aochagavia:intro, r=steveklabnik
cc @steveklabnik
2015-04-07 11:34:38 +00:00
Xue Fuqiao 6eea4266ec Update hello-world.md
People use programming language *implementations* like Ruby MRI, CPython, and SpiderMonkey for executing programs.
2015-04-07 18:07:10 +08:00
Luke Gallagher 7eb723d794 Add test for #22560
Closes #22560
2015-04-07 18:00:39 +10:00
bors de51bbec15 Auto merge of #24116 - zaeleus:rustdoc-codespan, r=alexcrichton
Because the current style for `code` in rustdoc is to prewrap whitespace, code spans that are hard wrapped in the source documentation are prematurely wrapped when rendered in HTML. [For example][2],

```
/// ...
/// type can be borrowed as multiple different types. In particular, `Vec<T>:
/// Borrow<Vec<T>>` and `Vec<T>: Borrow<[T]>`.
```

renders as

![screen shot 2015-04-06 at 12 11 21](https://cloud.githubusercontent.com/assets/191331/7008216/2706b3b0-dc56-11e4-941e-1b0154fcbc5c.png)

because "`Vec<T>: Borrow<Vec<T>>`" wraps to the next line in the source.

CommonMark 0.18 [[1]] specifies "interior spaces and line endings are collapsed into single spaces" for code spans, which would actually prevent this issue, but hoedown does not currently conform to the
CommonMark spec.

The added span-level callback attempts to adhere to how whitespace is handled as described by CommonMark, fixing the issue of early, unintentional wrapping of code spans in rendered HTML.

[1]: http://spec.commonmark.org/0.18/
[2]: https://doc.rust-lang.org/std/borrow/trait.Borrow.html
2015-04-07 07:41:32 +00:00
Nick Cameron 63b36ea7c2 Work with assoc types in a super trait.
And fix a bug with type param visibility though the Self rib.
2015-04-07 18:03:07 +12:00
Xue Fuqiao 600101bdfd Update intro.md
Use HTTPS where possible to avoid plaintext HTTP connections.
2015-04-07 13:35:26 +08:00
bors c52d46e778 Auto merge of #24101 - remram44:fix-rustdoc-passes-help, r=nikomatsakis
The current help string ("space separated list") suggests that `--passes "pass1 pass2"` is expected; the orrect usage is `--passes pass1 --passes pass2`.
2015-04-07 04:52:03 +00:00
Will Hipschman ab3215406d Provide context for macro expansions which result in unparsed tokens.
Issue #22425
2015-04-06 17:59:58 -07:00
bors b2e65ee6e4 Auto merge of #23952 - Kimundi:more_string_pattern, r=alexcrichton
This adds the missing methods and turns `str::pattern` in a user facing module, as per RFC.

This also contains some big internal refactorings:
- string iterator pairs are implemented with a central macro to reduce redundancy 
- Moved all tests from `coretest::str` into `collectionstest::str` and left a note to prevent the two sets of tests drifting apart further.

See https://github.com/rust-lang/rust/issues/22477
2015-04-07 00:57:08 +00:00
kwantam bef00ab2b8 use normative source for Grapheme class data
@mahkoh points out in #15628 that unicode.py does not use
normative data for Grapheme classes. This pr fixes that issue.

In addition, GC_RegionalIndicator is renamed GC_Regional_Indicator
in order to stay in line with the Unicode class name definitions.
I have updated refs in u_str.rs, and verified that there are no
refs elsewhere in the codebase. However, in principle someone
using the unicode tables for their own purposes might see breakage
from this.
2015-04-06 19:46:48 -04:00