Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stabilise ?, attributes on stmts, deprecate Reflect #36995

Merged
merged 4 commits into from Oct 13, 2016
Merged

Conversation

@nrc
Copy link
Member

nrc commented Oct 6, 2016

r? @nikomatsakis

Copy link
Member

Manishearth left a comment

lgtm, not sure if libs/lang team folks need to sign off. r=me otherwise

found enum `core::result::Result`) [E0308]
```
`try!` returns a `Result<T, E>`, and so the function must. But `main()` has

This comment has been minimized.

Copy link
@Manishearth

Manishearth Oct 6, 2016

Member

doesn't this text apply to ? as well?

This comment has been minimized.

Copy link
@est31

est31 Oct 6, 2016

Contributor

Maybe he removed it because its not accurate anymore: #36988

This comment has been minimized.

Copy link
@nrc

nrc Oct 6, 2016

Author Member

No, annoyingly you get an error message about the Carrier trait

@@ -255,6 +255,9 @@ macro_rules! debug_assert_ne {
/// Helper macro for reducing boilerplate code for matching `Result` together
/// with converting downstream errors.
///
/// Prefer using `?` syntax to `try!`. `?` is built in to the language and is
/// more succinct than `try!`, it is the standard method for error propogation.

This comment has been minimized.

Copy link
@petrochenkov

petrochenkov Oct 6, 2016

Contributor

propogation -> propagation

This comment has been minimized.

Copy link
@frewsxcv

frewsxcv Oct 6, 2016

Member

? is built in to the language and is more succinct than try!, it is the standard method for error propogation.

These are two separate sentences and probably shouldn't be separated by a comma.

@msjyoo
msjyoo approved these changes Oct 6, 2016
@frewsxcv
Copy link
Member

frewsxcv commented Oct 6, 2016

For the sake of cross-linking, here's the link to the tracking issue: #31436

@nrc
Copy link
Member Author

nrc commented Oct 6, 2016

Also cc #15701, #27749

@bors
Copy link
Contributor

bors commented Oct 7, 2016

The latest upstream changes (presumably #36945) made this pull request unmergeable. Please resolve the merge conflicts.

@nrc nrc force-pushed the nrc:stable branch from 5a2a15b to adb4e2f Oct 9, 2016
@nikomatsakis
Copy link
Contributor

nikomatsakis commented Oct 11, 2016

This looks good to me, though I do think we ought to try and address #36988.

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Oct 11, 2016

@bors r+

@bors
Copy link
Contributor

bors commented Oct 11, 2016

📌 Commit adb4e2f has been approved by nikomatsakis

@bluss
Copy link
Member

bluss commented Oct 11, 2016

What's the type inference situation? It used to be that replacing try!(x) with x? would not infer as often.

Has this been cratered to look for such issues?

@nrc
Copy link
Member Author

nrc commented Oct 11, 2016

@bluss good point, I had mis-remembered this issue. We have indeed done a bunch of Crater runs, but to test whether ? is forwards compatible with the Carrier trait, which requires some backwards incompatibility between try! and ?. I don't think we can ever replace the implementation of try! in a backwards compatible way and that shouldn't be in this PR.

@bors: r-

nrc added 4 commits Oct 5, 2016
cc [`?` tracking issue](#31436)
Note that attributes on expressions are still unstable and are behind the `stmt_expr_attributes` flag.

cc [Tracking issue](#15701)
[tracking issue](#27749)
@nrc nrc force-pushed the nrc:stable branch from adb4e2f to 79b5177 Oct 11, 2016
@nrc
Copy link
Member Author

nrc commented Oct 11, 2016

@bors
Copy link
Contributor

bors commented Oct 11, 2016

📌 Commit 79b5177 has been approved by @nikomatsakis

alexcrichton added a commit to alexcrichton/rust that referenced this pull request Oct 12, 2016
stabilise ?, attributes on stmts, deprecate Reflect

r? @nikomatsakis
bors added a commit that referenced this pull request Oct 12, 2016
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Oct 12, 2016
stabilise ?, attributes on stmts, deprecate Reflect

r? @nikomatsakis
bors added a commit that referenced this pull request Oct 12, 2016
@nikomatsakis
Copy link
Contributor

nikomatsakis commented Oct 12, 2016

@nrc

I don't think we can ever replace the implementation of try! in a backwards compatible way and that shouldn't be in this PR.

argh, I missed that this change was even in the PR! good catch @bluss

@bors bors merged commit 79b5177 into rust-lang:master Oct 13, 2016
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@nrc nrc mentioned this pull request Oct 18, 2016
@brson brson mentioned this pull request Oct 19, 2016
@brson brson mentioned this pull request Nov 7, 2016
dtolnay added a commit to dtolnay/erased-serde that referenced this pull request Dec 24, 2016
Reflect is no longer required as of rust-lang/rust#36995.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

10 participants
You can’t perform that action at this time.