Commit graph

44065 commits

Author SHA1 Message Date
bors 1fc0f68548 Auto merge of #26698 - alexcrichton:char-fmt, r=huonw
This recently regressed in #24689, and this updates the `Display` implementation
to take formatting flags into account.

Closes #26625
2015-07-01 03:35:46 +00:00
Alex Crichton 98566ea951 std: Fix formatting flags for chars
This recently regressed in #24689, and this updates the `Display` implementation
to take formatting flags into account.

Closes #26625
2015-06-30 19:26:03 -07:00
bors bf3c979ec3 Auto merge of #26696 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #26373, #26506, #26580, #26622, #26627, #26651, #26678, #26692
- Failed merges:
2015-06-30 23:46:57 +00:00
bors dc309d79e9 Auto merge of #26686 - arielb1:associated-type-defaults-actually-work, r=eddyb
Fixes #26636.

r? @eddyb
2015-06-30 21:39:46 +00:00
bors fdf219dd42 Auto merge of #26663 - Eljay:fix-repr-attribute, r=sanxiyn
Fixes #26646.

Loops over all `#[repr(..)]` attributes instead of stopping at the first one to make sure they are all marked as used. Previously it stopped after the first `#[repr(C)]` was found causing all other attributes to be skipped by the linter.
2015-06-30 20:07:18 +00:00
Steve Klabnik 08f9b98e57 Rollup merge of #26692 - steveklabnik:gh26620, r=alexcrichton
Fixes #26620
2015-06-30 15:37:45 -04:00
Steve Klabnik 8b81f76593 Make note of Ord's derive ordering
Fixes #26620
2015-06-30 19:37:34 -04:00
Steve Klabnik 26ff4714dd Rollup merge of #26678 - bluss:doc-fmt, r=steveklabnik
fmt: Update docs and mention :#? pretty-printing

Expose `:#?` well in the docs for fmt and Debug itself. Also update some out of date information and fix formatting in `std::fmt` docs.
2015-06-30 15:37:45 -04:00
Steve Klabnik 65b5c15384 Rollup merge of #26651 - GuillaumeGomez:patch-2, r=Manishearth
Part of #24407.
cc @michaelsproul
r? @Manishearth
2015-06-30 15:37:45 -04:00
Steve Klabnik 825e48fadf Rollup merge of #26627 - tshepang:stdin-example, r=steveklabnik 2015-06-30 15:37:45 -04:00
Steve Klabnik cf1c5b22d8 Rollup merge of #26622 - tshepang:indents, r=sanxiyn 2015-06-30 15:37:44 -04:00
Steve Klabnik bac361558e Rollup merge of #26580 - adamheins:master, r=steveklabnik
I found a sentence that felt a bit awkward to read in its current form, so I added a comma to break it up.
2015-06-30 15:37:44 -04:00
Steve Klabnik 96dd82ff9c Rollup merge of #26506 - tshepang:doc-fix, r=steveklabnik 2015-06-30 15:37:44 -04:00
Steve Klabnik 9d641316f1 Rollup merge of #26373 - tshepang:patch-2, r=steveklabnik 2015-06-30 15:37:44 -04:00
Ariel Ben-Yehuda cebb118bff Actually encode default associated types
Fixes #26636
2015-06-30 22:03:25 +03:00
bors 7fc0675f35 Auto merge of #26327 - bluss:two-way, r=aturon
Update substring search to use the Two Way algorithm

To improve our substring search performance, revive the two way searcher
and adapt it to the Pattern API.

Fixes #25483, a performance bug: that particular case now completes faster
in optimized rust than in ruby (but they share the same order of magnitude).

Many thanks to @gereeter who helped me understand the reverse case
better and wrote the comment explaining `next_back` in the code.

I had quickcheck to fuzz test forward and reverse searching thoroughly.

The two way searcher implements both forward and reverse search,
but not double ended search. The forward and reverse parts of the two
way searcher are completely independent.

The two way searcher algorithm has very small, constant space overhead,
requiring no dynamic allocation. Our implementation is relatively fast,
especially due to the `byteset` addition to the algorithm, which speeds
up many no-match cases.

A bad case for the two way algorithm is:

```
let haystack = (0..10_000).map(|_| "dac").collect::<String>();
let needle = (0..100).map(|_| "bac").collect::<String>());
```

For this particular case, two way is not much faster than the naive
implementation it replaces.
2015-06-30 18:09:51 +00:00
Tshepang Lekhonkhobe bc1b43cd0b doc: add example for Stdin::read_line 2015-06-30 19:53:05 +02:00
Alexis Beingessner 8b25086f3d Deprecate BitSet and BitVec in favour of bit-vec and bit-set crates in cargo 2015-06-30 10:37:11 -07:00
Guillaume Gomez be38926b69 Add E0119 error explanation
Add more explanations
2015-06-30 19:21:45 +02:00
Guillaume Gomez 2881e83c96 Add E0207 error explanation 2015-06-30 19:21:45 +02:00
Guillaume Gomez a481c4ecdc Add E0117 error explanation 2015-06-30 19:21:39 +02:00
Guillaume Gomez edf6132be8 Add E0101 error explanation 2015-06-30 19:21:23 +02:00
Guillaume Gomez 758ea34146 Add E0092 error explanation 2015-06-30 19:21:23 +02:00
Guillaume Gomez 0ba2db5fde Add E0211 error explanation 2015-06-30 19:21:23 +02:00
Guillaume Gomez ed6940fd38 Add E0094 error explanation 2015-06-30 19:21:22 +02:00
Guillaume Gomez 20f22b7f0e Add E0093 error explanation 2015-06-30 19:21:22 +02:00
Guillaume Gomez c158be082f Add E0195 error explanation 2015-06-30 19:21:17 +02:00
bors 85361528bc Auto merge of #26669 - frewsxcv:diagnostics-https, r=huonw
None
2015-06-30 15:13:05 +00:00
bors 0b703787ab Auto merge of #26664 - steveklabnik:gh26571, r=alexcrichton
This was pretty misleading, so let's improve.

Fixes #26571
2015-06-30 12:54:16 +00:00
Ulrik Sverdrup 516941b74f fmt: Update docs and mention :#? pretty-printing 2015-06-30 14:37:06 +02:00
bors f39df49bcd Auto merge of #26662 - steveklabnik:gh26661, r=alexcrichton
This is his own mirror, so it shouldn't go down, unlike the previous one.

Fixes #26661
2015-06-30 10:26:09 +00:00
Jared Roesch 7a8f83a6e5 Clean up patch 2015-06-30 02:41:40 -07:00
Jared Roesch 9faae6a5ca Remove Typer and ClosureTyper
This commit finalizes the work of the past commits by fully moving the fulfillment context into
the InferCtxt, cleaning up related context interfaces, removing the Typer and ClosureTyper
traits and cleaning up related intefaces
2015-06-30 02:41:40 -07:00
Jared Roesch 05c57e0e6a Remove Typer + ClosureTyper impls for BlockS 2015-06-30 02:41:02 -07:00
Jared Roesch e2d7e904ca Remove Typer + ClosureTyper impls for ParameterEnv 2015-06-30 02:40:17 -07:00
Jared Roesch fb295a60b3 Remove NormalizingClosureTyper 2015-06-30 02:40:17 -07:00
Jared Roesch 0f13a3f361 Use fresh FulfillmentContexts in select locations 2015-06-30 02:40:17 -07:00
Jared Roesch 64f1a59daf Update all uses of FulfillmentContext
Update all uses of FulfillmentContext to be ones obtained via
an InferCtxt. This is another step of flattening the type
checking context into a single piece of state.
2015-06-30 02:40:16 -07:00
Jared Roesch 6947948b4d Move FufillmentContext into InferContext 2015-06-30 02:40:16 -07:00
bors 080d5b74dd Auto merge of #26670 - frewsxcv:regression-test-13902, r=alexcrichton
Closes #13902
2015-06-30 08:04:11 +00:00
Nick Cameron 15dcb5bfc5 Alternate method 2015-06-30 17:21:26 +12:00
Nick Cameron b23ddc60e9 Implement get_enclosing_scope and use it in save-analysis 2015-06-30 17:21:26 +12:00
Nick Cameron bbf0daa192 Add parent_node to ast_map 2015-06-30 17:21:26 +12:00
bors e6596d0052 Auto merge of #26668 - frewsxcv:regression-test-17756, r=alexcrichton
Closes #17756
2015-06-30 03:18:45 +00:00
bors 27975c49a6 Auto merge of #26667 - arielb1:audit-walk, r=eddyb
This was originally motivated by checking for HRTB hygiene, but I found several other bugs on the way.

This does not fix the biggest user of ty_walk, which is dtorck - I would prefer to coordinate that with @pnkfelix.

r? @eddyb
2015-06-30 01:45:46 +00:00
Corey Farwell 6419acee34 Add regression test for #13902
Closes #13902
2015-06-29 17:28:21 -07:00
Corey Farwell e834c0348f Link to docs from error explanations via HTTPS 2015-06-29 17:23:02 -07:00
bors faa04a8b9c Auto merge of #26666 - huonw:unc-rec, r=alexcrichton
This fixes two false positives for the unconditional recursion lint, when functions use themselves (or almost-themselves) internally, without actually being recursive.

````rust
fn main() { let _ = main; }
```
```rust
trait Bar {
    fn method<T: Bar>(&self, x: &T) {
        x.method(x)
    }
}
```
2015-06-30 00:14:32 +00:00
Corey Farwell d8680f6534 Add regression test for #17756
Closes #17756
2015-06-29 17:10:53 -07:00
Ariel Ben-Yehuda fb5dd398f6 Remove now-useless code 2015-06-30 02:31:07 +03:00