Commit Graph

41118 Commits

Author SHA1 Message Date
bors
b49a5ef003 Auto merge of #23857 - phildawes:libsyntax_nopanic, r=nikomatsakis
Hello! 

I've been working towards a libsyntax without panics. See:
http://internals.rust-lang.org/t/changing-libsyntax-to-use-result-instead-of-panic/1670

This patch changes the internals of parser.rs to use Result<> rather than panicing. It keeps the following old-style panicing functions as a facade:
parse_expr, parse_item, parse_pat, parse_arm, parse_ty, parse_stmt

I left these functions because I wasn't sure what to do about the quote_* macros or how many syntax-extensions would break if these and quoting macros returned Result.

The gyst of the rest of the patch is:

 - Functions in parse/parser.rs return PResult<> rather than panicing
 - Other functions in libsyntax call panic! explicitly if they rely on panicing behaviour.
 - I added a macro 'panictry!()' to act as scaffolding for callers while converting panicing functions. (This does the same as 'unwrap()' but is easier to grep for and turn into try!()).

Am I on the right track?  I'd quite like to get something merged soon as keeping this rebased in the face of libsyntax changes is a lot of work. Please let me know what changes you'd like to see to make this happen.

Thanks!, Phil
2015-04-06 22:08:01 +00:00
bors
aab8669dda Auto merge of #23655 - gereeter:rustc-remove-ident, r=sanxiyn
...of #6993.

cc @pcwalton
2015-04-06 19:20:39 +00:00
Michael Macias
46cc6e5fc3 rustdoc: Use iterators to collapse whitespace
Thanks, @alexcrichton!
2015-04-06 14:07:02 -05:00
Michael Macias
b6c2e82b71 rustdoc: Add a custom callback for codespan to collapse whitespace
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.

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/
2015-04-06 13:02:41 -05:00
bors
3c07835e10 Auto merge of #24056 - nikomatsakis:issue-23853-crates-io, r=aturon
If we find a blanket impl for `Trait` but we're matching on an object `Trait`, prefer the object (I think we could perhaps go either way, but this seems safer). Also give a nice error for attempts to manually `impl Trait for Trait`, since they will be ineffectual.

This fixes the problems around ambiguity ICEs relating to `Any` and `MarkerTrait` that were cropping up all over the place. There may still be similar ICEs reported in #21756 that this PR does not address.

Fixes #24015.

Fixes #24051.
Fixes #24037.
Fixes #23853.
Fixes #21942.
cc #21756.

cc @alexcrichton (this fixes crates.io)
r? @aturon
2015-04-06 16:07:18 +00:00
Matt Brubeck
6e86c636e5 Remove outdated notice from BufRead::lines docs.
There is no `read_string` function, and `lines` never returns an error.
2015-04-06 08:40:11 -07:00
Matt Brubeck
8fcc5bd6a7 Fix broken link and markup in trait Any docs. 2015-04-06 08:36:37 -07:00
Josh Triplett
59d889805e traits.md: Fix example of using traits to match description
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-06 08:14:11 -07:00
Tobias Bucher
3b9847e886 Fix code formatting in core::ops::Add example 2015-04-06 16:01:01 +02:00
Niko Matsakis
d16677282a Try to improve PhantomData docs with more examples 2015-04-06 09:39:05 -04:00
Niko Matsakis
49f2a56666 Fix tests 2015-04-06 09:35:12 -04:00
Tobias Bucher
88427605bb Make AdditiveIterator and MultiplicativeIterator extensible
Previously it could not be implemented for types outside `libcore/iter.rs` due
to coherence issues.
2015-04-06 15:26:10 +02:00
Seo Sanghyeon
e78f6319dd Fix diverging closures 2015-04-06 22:17:35 +09:00
bors
9f37ba64e8 Auto merge of #24104 - frewsxcv:patch-12, r=sanxiyn 2015-04-06 12:23:21 +00:00
Niko Matsakis
0d56699d41 If we find a blanket impl for Trait but we're matching on an object
`Trait`, prefer the object. Also give a nice error for attempts to
manually `impl Trait for Trait`, since they will be ineffectual.

Fixes #24015.

Fixes #24051.
Fixes #24037.
Fixes #23853.
Fixes #21942.
cc #21756.
2015-04-06 06:12:51 -04:00
Guillaume Gomez
92d00262c3 Replace alpha state by pre-1.0 2015-04-06 11:14:21 +02:00
Corey Farwell
19d8b67b7e Remove unnecessary returns in API examples 2015-04-06 00:06:24 -07:00
Remi Rampin
e13f0e9a25 Changes rustdoc --passes help message
The current help string ("space separated list") suggests that
`--passes "pass1 pass2"` is expected; the correct usage is
`--passes pass1 --passes pass2`.
2015-04-05 22:39:21 -04:00
bors
cf51e55274 Auto merge of #24087 - mossberg:docs-comma, r=steveklabnik
Correct mistyped comma, and slightly improve sentence.

r? @steveklabnik
2015-04-06 02:00:21 +00:00
bors
be9bd7c93a Auto merge of #24093 - GuillaumeGomez:typo, r=steveklabnik
Fixes #24080.
2015-04-05 22:18:29 +00:00
Guillaume Gomez
24f06e6664 Remove external iterator in CharIndices comment and the reference to the std::iter module 2015-04-05 18:54:07 +02:00
Marvin Löbel
fbba28e246 Added smoke tests for new methods.
Fixed bug in existing StrSearcher impl
2015-04-05 18:52:58 +02:00
Marvin Löbel
c29559d28a Moved coretest::str tests into collectiontest::str 2015-04-05 18:52:58 +02:00
Marvin Löbel
c04f22a667 Refactored core::str::pattern to become a user-facing module and hide away
CharEq.
2015-04-05 18:52:57 +02:00
Marvin Löbel
91d1aa71f6 Format all str docs to 80 char line breaks 2015-04-05 18:52:57 +02:00
Marvin Löbel
c2bff14da1 Re-added Clone impls to all str iterators 2015-04-05 18:52:57 +02:00
Marvin Löbel
1b4cddcbfd Implemented remaining string pattern iterators.
- Added missing reverse versions of methods
- Added [r]matches()
- Generated the string pattern iterators with a macro
- Added where bounds to the methods returning reverse iterators
  for better error messages.
2015-04-05 18:52:57 +02:00
bors
de6742bb1c Auto merge of #24053 - kvark:get_mut, r=alexcrichton
As requested by @kballard in #23844
2015-04-05 16:14:11 +00:00
bors
529de5f45b Auto merge of #24084 - mdinger:align_nit, r=steveklabnik
Really minor nitpick but if you're gonna align them, they should be aligned properly.

r? @steveklabnik
2015-04-05 13:29:48 +00:00
bors
b3c5507f3a Auto merge of #24071 - github-monoculture:patch-1, r=steveklabnik
doc copy error
r? @steveklabnik
2015-04-05 10:46:38 +00:00
Phil Dawes
e3427c3c34 Add comments suggested by Niko 2015-04-05 09:52:56 +01:00
Phil Dawes
b2bcb7229a Work towards a non-panicing parser (libsyntax)
- Functions in parser.rs return PResult<> rather than panicing
- Other functions in libsyntax call panic! explicitly for now if they rely on panicing behaviour.
- 'panictry!' macro added as scaffolding while converting panicing functions.
  (This does the same as 'unwrap()' but is easier to grep for and turn into try!())
- Leaves panicing wrappers for the following functions so that the
  quote_* macros behave the same:
  - parse_expr, parse_item, parse_pat, parse_arm, parse_ty, parse_stmt
2015-04-05 09:52:50 +01:00
Mark Mossberg
52aa5d0039 Documentation fix
Correct mistyped comma, and slightly improve sentence.
2015-04-05 02:56:16 -04:00
bors
7155c8d1c0 Auto merge of #23976 - dhuseby:bitrig_fixing_tests, r=alexcrichton
This fixes up the "make check" part of the rust build os that the Bitrig buildbot will succeed.
2015-04-05 06:28:08 +00:00
bors
f73f3233f1 Auto merge of #24067 - apasel422:patch-1, r=Gankro
Per [RFC #0505](https://github.com/rust-lang/rfcs/blob/master/text/0505-api-comment-conventions.md#formatting).
2015-04-05 02:47:13 +00:00
mdinger
85f6c9ff84 Alignment nitpick 2015-04-04 20:34:59 -04:00
bors
083b8a4041 Auto merge of #24055 - estsauver:24044, r=alexcrichton
If a result is highlighted, when the search changes that state should no
longer be highlighted. Fixes #24044

cc @steveklabnik
2015-04-05 00:03:21 +00:00
Dzmitry Malyshau
bc1aef3e7b Removed explicit lifetimes for get_mut. Fixed the doc test. 2015-04-04 19:01:48 -04:00
Dzmitry Malyshau
c1d716ed4b Renamed Arc::try_unique to get_mut 2015-04-04 18:55:29 -04:00
Sean Bowe
3308c06e33 Added test for #24036, using spans to display note/help for this message now 2015-04-04 16:29:29 -06:00
bors
1169693f03 Auto merge of #24016 - aquach:master, r=Manishearth
Ran across this one while learning from the Book.
2015-04-04 21:19:31 +00:00
Michael Sproul
19e9828fb8 Fix printing of extended errors. 2015-04-04 12:37:25 -07:00
Dave Huseby
5387189d5b fixing some tests and temporarily disabling others to get Bitrig build working 100% 2015-04-04 12:33:44 -07:00
bors
b8a02736be Auto merge of #24045 - frewsxcv:cleanup, r=alexcrichton 2015-04-04 18:35:39 +00:00
Sean Bowe
5f4858e101 Tidier 2015-04-04 12:03:15 -06:00
github-monoculture
9b455f1799 Update method-syntax.md
doc copy error
r? @steveklabnik
2015-04-04 17:49:16 +00:00
Sean Bowe
9567c1c620 Fixed bug calling .note() instead of .help(). Added small note when two
different closures fail typechecking.

See #24036
2015-04-04 11:14:49 -06:00
bors
b3315881f5 Auto merge of #23987 - liammonahan:master, r=Manishearth
I ran across a comma splice.

I didn't set the "note:" off inside parenthesis.  I looked around in other places and saw it both ways, but without surrounding parenthesis seemed to be the more common convention followed elsewhere in the docs.  Let me know if you have an overriding preference about that and I'll change it.

r? @steveklabnik
2015-04-04 15:51:03 +00:00
Andrew Paseltiner
2d198955d3 s/Perform/Performs/
Per [RFC #0505](https://github.com/rust-lang/rfcs/blob/master/text/0505-api-comment-conventions.md#formatting).
2015-04-04 10:26:14 -04:00
bors
04e0125a58 Auto merge of #23981 - chastell:book_crates-and-modules_io_sync, r=Manishearth
This syncs the _Crates and Modules_ chapter of the book with current output:

* the runs are supposed to be in the project’s directory,
* `rustc` has slightly different error messages (and things like macro line:col numbers),
* Cargo now compiles things into `target/debug`.
2015-04-04 13:07:34 +00:00