Commit Graph

40845 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
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
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
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
github-monoculture 9b455f1799 Update method-syntax.md
doc copy error
r? @steveklabnik
2015-04-04 17:49:16 +00: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
Niko Matsakis 48a023c2e9 Convert lifetime shadowing into a hard error, as promised. 2015-04-04 05:55:24 -04:00
Earl St Sauver 1b1d910cd7 Make changing doc search unhighlight current result
If a result is highlighted, when the search changes that state should no
longer be highlighted. Fixes #24044

cc @steveklabnik
2015-04-04 15:21:18 +07:00
Felix S. Klock II c4216a50bd Test cases for Issue 23338.
We ignore pretty for the params-outlive-temps-of-body test because the
way its comments are formatted exercises a known bug in the pretty
printer.
2015-04-04 09:24:29 +02:00
Felix S. Klock II 05b8a106e4 Encode more precise scoping rules for function params.
Function params which 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).

This allows us to address issue 23338 in a clean way.

As a drive-by, fix a mistake in the tyencode for
`CodeExtent::BlockRemainder`.
2015-04-04 09:23:40 +02:00
bors 6971727d45 Auto merge of #24009 - Manishearth:rollup, r=Manishearth 2015-04-04 07:20:04 +00:00