Commit Graph

37788 Commits

Author SHA1 Message Date
bors
e5c1f166a8 Auto merge of #21458 - alexcrichton:remove-some-code, r=brson
The base64 support can be trivially removed (there are no in-tree users) and the regex support is a whopping 4k lines of code to maintain for a few non-critical uses in-tree. This commit migrates all current users in-tree away from regexes to custom matching code.

The most critical application affected by this migration is that the testing framework no longer considers filter arguments as regexes, but rather just a substring matching. It is expected that more featureful testing frameworks can evolve outside of the in-tree libtest version over time which can properly depend on libregex from crates.io.

[breaking-change]
2015-01-24 05:12:15 +00:00
Alex Crichton
6c29708bf9 regex: Remove in-tree version
The regex library was largely used for non-critical aspects of the compiler and
various external tooling. The library at this point is duplicated with its
out-of-tree counterpart and as such imposes a bit of a maintenance overhead as
well as compile time hit for the compiler itself.

The last major user of the regex library is the libtest library, using regexes
for filters when running tests. This removal means that the filtering has gone
back to substring matching rather than using regexes.
2015-01-23 21:04:10 -08:00
Alex Crichton
494896f2dd serialize: Remove base64 support
This is not used in-tree and is available out-of-tree
2015-01-23 21:03:54 -08:00
Vadim Chugunov
f09c680b4c Fix tidy. 2015-01-23 18:32:00 -08:00
Huon Wilson
000dc07f71 Store a method-from-trait's impl in some cases when it is known.
This allows one to look at an `ExprMethodCall` `foo.bar()` where `bar`
is a method in some trait and (sometimes) extract the `impl` that `bar`
is defined in, e.g.

    trait Foo {
        fn bar(&self);
    }

    impl Foo for uint { // <A>
        fn bar(&self) {}
    }

    fn main() {
        1u.bar(); // impl_def_id == Some(<A>)
    }

This definitely doesn't handle all cases, but is correct when it is
known, meaning it should only be used for certain linting/heuristic
purposes; no safety analysis.
2015-01-24 13:01:21 +11:00
Jorge Aparicio
12d7be9a28 make walk_ty walk over a trait projections
closes #21363
2015-01-23 20:13:32 -05:00
Jorge Aparicio
6f7c0b16d3 add test for issue 19660
closes #19660
2015-01-23 19:35:10 -05:00
Brian Anderson
9758c488a9 Deprecated attributes don't take 'feature' names and are paired with stable/unstable
Conflicts:
	src/libcore/atomic.rs
	src/libcore/finally.rs
	src/test/auxiliary/inherited_stability.rs
	src/test/auxiliary/lint_stability.rs
2015-01-23 15:50:03 -08:00
Alex Crichton
08246520c0 std: Relax Result::unwrap() to Debug
This commit relaxes the bound on `Result::unwrap` and `Result::unwrap_err` from
the `Display` trait to the `Debug` trait for generating an error message about
the unwrapping operation.

This commit is a breaking change and any breakage should be mitigated by
ensuring that `Debug` is implemented on the relevant type.

[breaking-change]
2015-01-23 14:11:34 -08:00
Brian Anderson
cd6d9eab5d Set unstable feature names appropriately
* `core` - for the core crate
* `hash` - hashing
* `io` - io
* `path` - path
* `alloc` - alloc crate
* `rand` - rand crate
* `collections` - collections crate
* `std_misc` - other parts of std
* `test` - test crate
* `rustc_private` - everything else
2015-01-23 13:28:40 -08:00
Steve Klabnik
edc67817a3 Improve libcore/cell.rs docs 2015-01-23 15:31:55 -05:00
Edward Wang
296777e50a Resolve type vars when inferring borrow kinds for upvars
As part of #20432, upvar checking is now moved out of regionck to its
own pass and before regionck. But regionck has some type resolution of
its own. Without them, now separated upvar checking may be tripped over
by residue `ty_infer`.

Closes #21306
2015-01-24 03:13:26 +08:00
Steve Klabnik
91037a417e remove discuss link from the book 2015-01-23 13:53:19 -05:00
Steve Klabnik
dc2b3ac889 Remove lang items from the reference.
Fixes #19759
2015-01-23 12:15:34 -05:00
bors
4be79d6acd Auto merge of #21503 - ahmedcharles:remove-test-features, r=alexcrichton
I think this is all of the remaining code to be removed. Let me know if I've missed anything.

Closes #19145
2015-01-23 16:08:14 +00:00
Steve Klabnik
aca793966a Soup up 'method syntax' chapter of the Book
Fixes #16969
2015-01-23 11:04:55 -05:00
Alexander Korolkov
8a22454731 Rephrase error message on invalid fragment specifiers in macros.
Also, print help on valid fragment specifiers.
2015-01-23 18:51:12 +03:00
Flavio Percoco
06714c2bce Fix compile test for stage0 2015-01-23 15:22:34 +01:00
bors
86fbdbfbcd Auto merge of #21453 - Stebalien:exactsize, r=alexcrichton
Specifically:
 * Peekable
 * ByRef
 * Skip
 * Take
 * Fuse

Fixes  #20547
2015-01-23 12:02:27 +00:00
Tobias Bucher
d909dad066 Clean up isize, usize. Don't bench allocation but formatting. 2015-01-23 12:35:52 +01:00
bors
aedcbb9d82 Auto merge of #21382 - tshepang:improve-iter-docs, r=alexcrichton 2015-01-23 09:26:34 +00:00
Vadim Chugunov
5c344d3ea8 Added test. 2015-01-22 23:05:02 -08:00
Kevin Yap
76c279a4cf Use a regex to perform license check 2015-01-22 23:04:14 -08:00
Kevin Yap
fc5bbdf70f Make make tidy Python scripts more idiomatic
Also makes errorck.py and tidy.py compatible with Python 3.
2015-01-22 23:04:07 -08:00
bors
e9285f9e81 Auto merge of #21374 - dgrunwald:range-notation-fixes, r=nikomatsakis
This PR is intended as alternative to #20958. It fixes the same grammar inconsistencies, but does not increase the operator precedence of `..`, leaving it at the same level as the assignment operator.
For previous discussion, see #20811 and #20958.

Grammar changes:
* allow `for _ in 1..i {}` (fixes #20241)
* allow `for _ in 1.. {}` as infinite loop
* prevent use of range notation in contexts where only operators of high precedence are expected (fixes #20811)

Parser code cleanup:
* remove `RESTRICTION_NO_DOTS`
* make `AS_PREC` const and follow naming convention
* make `min_prec` inclusive

r? nikomatsakis
2015-01-23 06:53:09 +00:00
jatinn
e371d23486 add next/prev section links in the book -- using js 2015-01-22 23:11:14 -05:00
Steve Klabnik
7aa3ed1ee8 Check for make in configure
Fixes #13179
2015-01-22 22:44:43 -05:00
Steve Klabnik
a80807028a Language tweak in configure
Fixes #13082
2015-01-22 22:35:28 -05:00
bors
d8d5e4d217 Auto merge of #20221 - liigo:rustdoc-sidebar-tooltips-v3, r=alexcrichton
This pull request add tooltips to most links of sidebar.
The tooltips display "summary line" of items' document.

Some lengthy/annoying raw markdown code are eliminated, such as links and headers.
- `[Rust](http://rust-lang.org)` displays as `Rust` (no URLs)
- `# header` displays as `header` (no `#`s)

Some inline spans, e.g. ``` `code` ``` and ```*emphasis*```, are kept as they are, for better readable.

I've make sure `&` `'` `"` `<` and `>` are properly displayed in tooltips, for example, `&'a Option<T>`.

Online preview: http://liigo.com/tmp/tooltips/std/index.html

@alexcrichton @steveklabnik since you have reviewed my previous ([v1](https://github.com/rust-lang/rust/pull/13014),[v2](https://github.com/rust-lang/rust/pull/16448)) PRs of this serise, which have been closed for technical reasons. Thank you.
2015-01-23 02:53:50 +00:00
Vadim Chugunov
27a261be3e Suppress space after idents with "ModName" style in serialization of exported macros.
Fixes issue #20701
2015-01-22 17:45:43 -08:00
Sean Patrick Santos
7f45dc9e68 Add a random number string to the end of the issue-15149 test's child directory's name, and remove the directory after a successful test. 2015-01-22 18:34:58 -07:00
Brian Anderson
f86bcc1543 Add some tests for stability stuff 2015-01-22 17:28:26 -08:00
Brian Anderson
761efa5e8c Remove section on stability levels from reference
Obsolete, no replacement. The mechanics here are mostly implementation details at this point.
2015-01-22 16:38:58 -08:00
Brian Anderson
47905f98ee Add a missing stable attribute 2015-01-22 16:23:07 -08:00
bors
4874ca36f6 Auto merge of #21530 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #21056, #21091, #21217, #21325, #21373, #21450, #21471, #21472, #21477, #21479, #21484, #21496, #21500, #21516, #21517
- Failed merges:
2015-01-23 00:18:57 +00:00
Steve Klabnik
ea6dc180fe remove weird sentence
Fixes #21531
2015-01-22 18:59:33 -05:00
Tshepang Lekhonkhobe
9091e047e3 iter: miscellaneous improvements
There are doc improvements as well as these conversions:

- int/uint -> isize/usize
- u/i -> us/is
2015-01-23 01:40:18 +02:00
Steve Klabnik
9fb672b094 Rollup merge of #21517 - SeanTAllen:master, r=steveklabnik
Lifetime elision documentation was reference a previously existing function
that doesn't exist. After talking with Steve Klabnik, I confirmed the correct
function to be referenced and updated documentation accordingly.
2015-01-22 18:10:01 -05:00
Steve Klabnik
b994a3ecfe Rollup merge of #21516 - steveklabnik:document_box, r=alexcrichton 2015-01-22 18:10:00 -05:00
Steve Klabnik
bb80310070 Rollup merge of #21500 - richo:power-fixups, r=alexcrichton
When I wrote this code, my janky shim to verify the constants didn't
work as intended.

This fixes everything I've run into since merge, which is hopefully
everything.
2015-01-22 18:10:00 -05:00
Steve Klabnik
dc27d29297 Rollup merge of #21496 - ColonelJ:paatch, r=alexcrichton
Make compiletest set an environment variable so that on Windows 32-bit test executables containing certain substrings (e.g. 'install', 'setup', 'update', 'patch') are not blocked by UAC's Installer Detection Technology.
2015-01-22 18:10:00 -05:00
Steve Klabnik
acd044c255 Rollup merge of #21484 - steveklabnik:connect_docs, r=alexcrichton 2015-01-22 18:10:00 -05:00
Steve Klabnik
aa874abc0d Rollup merge of #21479 - steveklabnik:rustdoc_to_book, r=alexcrichton
Fixes #21430
2015-01-22 18:09:59 -05:00
Steve Klabnik
22ed381ada Rollup merge of #21477 - steveklabnik:gh21440, r=alexcrichton
Fixes #21440"
2015-01-22 18:09:59 -05:00
Steve Klabnik
0b793ea619 Rollup merge of #21472 - steveklabnik:gh21469, r=huonw
Fixes #21469.
2015-01-22 18:09:59 -05:00
Steve Klabnik
07fb31a099 Rollup merge of #21471 - michaelwoerister:associated-types, r=alexcrichton
This should fix issue #20797 (but I don't want to close it automatically).
As the actual fix is very small this would be a perfect candidate for a rollup.
2015-01-22 18:09:59 -05:00
Steve Klabnik
1644978616 Rollup merge of #21450 - alfie:book2, r=steveklabnik
Compiling won't produce an executable just yet because (as stated in the next
paragraph) there are errors. By removing this sentance, the reader won't get
confused when they expect a successful compile i.e. if they don't read ahead one
paragraph, they are going to be checking their code and wondering why it's not
compiling.
2015-01-22 18:09:58 -05:00
Steve Klabnik
5f71c22d87 Rollup merge of #21373 - angst7:pointer_doc_1, r=steveklabnik
Updated incorrect error messages, and removed explicit return statements from example code.
2015-01-22 18:09:58 -05:00
Steve Klabnik
3364d41282 Rollup merge of #21325 - nagisa:thread-panicking, r=steveklabnik
Previous wording wasn’t clear about its actual behaviour. It could be
interpreted as answering either:

* Can current thread panic?
* Is current thread unwinding because of panic?

r? @steveklabnik
2015-01-22 18:09:58 -05:00
Steve Klabnik
4db64bd824 Rollup merge of #21217 - Gankro:docadoca, r=steveklabnik
Not sure on what *exactly* should be said here, but I think this is the most important bit. This PR also establishes conventions for describing performance minimally.

I suggest to describe preformance for individual methods we use a `# Performance` heading. Not sure if we should have 

```
# Performance: O(1)
details details
```
or

```
# Performance:
O(1)
details details
```

Since I think most methods don't need discussion, the former seems more resonable. But it's kind of weird to have info "in" the heading.

r? @steveklabnik
2015-01-22 18:09:58 -05:00