Skip to content

Commit 77ffffa

Browse files
committed
Add pattern types to parser
1 parent 0eefa94 commit 77ffffa

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed

core/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,9 @@ pub mod net;
396396
pub mod option;
397397
pub mod panic;
398398
pub mod panicking;
399+
#[cfg(not(bootstrap))]
400+
#[unstable(feature = "core_pattern_types", issue = "none")]
401+
pub mod pat;
399402
pub mod pin;
400403
pub mod result;
401404
pub mod sync;

core/src/pat.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
//! Helper module for exporting the `pattern_type` macro
2+
3+
/// Creates a pattern type.
4+
/// ```ignore (cannot test this from within core yet)
5+
/// type Positive = std::pat::pattern_type!(i32 is 1..);
6+
/// ```
7+
#[macro_export]
8+
#[rustc_builtin_macro(pattern_type)]
9+
#[unstable(feature = "core_pattern_type", issue = "none")]
10+
macro_rules! pattern_type {
11+
($($arg:tt)*) => {
12+
/* compiler built-in */
13+
};
14+
}

std/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,9 @@ pub mod net;
576576
pub mod num;
577577
pub mod os;
578578
pub mod panic;
579+
#[cfg(not(bootstrap))]
580+
#[unstable(feature = "core_pattern_types", issue = "none")]
581+
pub mod pat;
579582
pub mod path;
580583
pub mod process;
581584
pub mod sync;

std/src/pat.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
//! Helper module for exporting the `pattern_type` macro
2+
3+
pub use core::pattern_type;

0 commit comments

Comments
 (0)