diff options
| author | Philip Munksgaard <pmunksgaard@gmail.com> | 2018-09-18 11:44:28 +0200 |
|---|---|---|
| committer | Philip Munksgaard <pmunksgaard@gmail.com> | 2018-09-20 08:36:07 +0200 |
| commit | ac8d8d71fac1225a35d4895f1f97dd14bc6a4ea2 (patch) | |
| tree | d513af1192d63dfcf696c6b4b15940eb5cc5311b /src | |
| parent | c996c4d316ce9023c3ef296a583e0c8bf7ce5880 (diff) | |
| download | rust-ac8d8d71fac1225a35d4895f1f97dd14bc6a4ea2.tar.gz rust-ac8d8d71fac1225a35d4895f1f97dd14bc6a4ea2.zip | |
Add test for doctest edition support
Diffstat (limited to 'src')
| -rw-r--r-- | src/doc/unstable-book/src/language-features/try-blocks.md | 4 | ||||
| -rw-r--r-- | src/test/rustdoc/edition-doctest.rs | 54 |
2 files changed, 55 insertions, 3 deletions
diff --git a/src/doc/unstable-book/src/language-features/try-blocks.md b/src/doc/unstable-book/src/language-features/try-blocks.md index 866b37a39a7..e342c260a73 100644 --- a/src/doc/unstable-book/src/language-features/try-blocks.md +++ b/src/doc/unstable-book/src/language-features/try-blocks.md @@ -9,9 +9,7 @@ The tracking issue for this feature is: [#31436] The `try_blocks` feature adds support for `try` blocks. A `try` block creates a new scope one can use the `?` operator in. -```rust,ignore -// This code needs the 2018 edition - +```rust,edition2018 #![feature(try_blocks)] use std::num::ParseIntError; diff --git a/src/test/rustdoc/edition-doctest.rs b/src/test/rustdoc/edition-doctest.rs new file mode 100644 index 00000000000..322d461f854 --- /dev/null +++ b/src/test/rustdoc/edition-doctest.rs @@ -0,0 +1,54 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// compile-flags:--test + +/// ```rust,edition2018 +/// #![feature(try_blocks)] +/// +/// use std::num::ParseIntError; +/// +/// let result: Result<i32, ParseIntError> = try { +/// "1".parse::<i32>()? +/// + "2".parse::<i32>()? +/// + "3".parse::<i32>()? +/// }; +/// assert_eq!(result, Ok(6)); +/// +/// let result: Result<i32, ParseIntError> = try { +/// "1".parse::<i32>()? +/// + "foo".parse::<i32>()? +/// + "3".parse::<i32>()? +/// }; +/// assert!(result.is_err()); +/// ``` + + +/// ```rust,edition2015,compile_fail,E0574 +/// #![feature(try_blocks)] +/// +/// use std::num::ParseIntError; +/// +/// let result: Result<i32, ParseIntError> = try { +/// "1".parse::<i32>()? +/// + "2".parse::<i32>()? +/// + "3".parse::<i32>()? +/// }; +/// assert_eq!(result, Ok(6)); +/// +/// let result: Result<i32, ParseIntError> = try { +/// "1".parse::<i32>()? +/// + "foo".parse::<i32>()? +/// + "3".parse::<i32>()? +/// }; +/// assert!(result.is_err()); +/// ``` + +pub fn foo() {} |
