Skip to content
This repository was archived by the owner on Aug 16, 2021. It is now read-only.

Commit ddd094e

Browse files
AndyGaugeYamakaky
authored andcommitted
Rename and hide quick_error! macro
Fixes #186.
1 parent f5e2f71 commit ddd094e

File tree

4 files changed

+56
-55
lines changed

4 files changed

+56
-55
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
- Change last rust version supported to 1.14
44
- [Cache whether RUST_BACKTRACE is enabled in a relaxed atomic static.](https://github.com/rust-lang-nursery/error-chain/pull/210)
5+
- [Mask the `quick_error` macro from the doc](https://github.com/rust-lang-nursery/error-chain/pull/210)
56

67
# 0.11.0-rc.2
78

src/error_chain.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ macro_rules! impl_error_chain_processed {
251251
// The ErrorKind type
252252
// --------------
253253

254-
quick_error! {
254+
impl_error_chain_kind! {
255255
/// The kind of an error.
256256
#[derive(Debug)]
257257
pub enum $error_kind_name {

src/quick_error.rs renamed to src/impl_error_chain_kind.rs

Lines changed: 51 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,19 @@
44
// - $imeta
55

66
#[macro_export]
7-
macro_rules! quick_error {
7+
#[doc(hidden)]
8+
macro_rules! impl_error_chain_kind {
89
( $(#[$meta:meta])*
910
pub enum $name:ident { $($chunks:tt)* }
1011
) => {
11-
quick_error!(SORT [pub enum $name $(#[$meta])* ]
12+
impl_error_chain_kind!(SORT [pub enum $name $(#[$meta])* ]
1213
items [] buf []
1314
queue [ $($chunks)* ]);
1415
};
1516
( $(#[$meta:meta])*
1617
enum $name:ident { $($chunks:tt)* }
1718
) => {
18-
quick_error!(SORT [enum $name $(#[$meta])* ]
19+
impl_error_chain_kind!(SORT [enum $name $(#[$meta])* ]
1920
items [] buf []
2021
queue [ $($chunks)* ]);
2122
};
@@ -27,16 +28,16 @@ macro_rules! quick_error {
2728
buf [ ]
2829
queue [ ]
2930
) => {
30-
quick_error!(ENUM_DEFINITION [enum $name $( #[$meta] )*]
31+
impl_error_chain_kind!(ENUM_DEFINITION [enum $name $( #[$meta] )*]
3132
body []
3233
queue [$($( #[$imeta] )*
3334
=> $iitem: $imode [$( $ivar: $ityp ),*] )*]
3435
);
35-
quick_error!(IMPLEMENTATIONS $name {$(
36+
impl_error_chain_kind!(IMPLEMENTATIONS $name {$(
3637
$iitem: $imode [$(#[$imeta])*] [$( $ivar: $ityp ),*] {$( $ifuncs )*}
3738
)*});
3839
$(
39-
quick_error!(ERROR_CHECK $imode $($ifuncs)*);
40+
impl_error_chain_kind!(ERROR_CHECK $imode $($ifuncs)*);
4041
)*
4142
};
4243
(SORT [pub enum $name:ident $( #[$meta:meta] )*]
@@ -46,16 +47,16 @@ macro_rules! quick_error {
4647
buf [ ]
4748
queue [ ]
4849
) => {
49-
quick_error!(ENUM_DEFINITION [pub enum $name $( #[$meta] )*]
50+
impl_error_chain_kind!(ENUM_DEFINITION [pub enum $name $( #[$meta] )*]
5051
body []
5152
queue [$($( #[$imeta] )*
5253
=> $iitem: $imode [$( $ivar: $ityp ),*] )*]
5354
);
54-
quick_error!(IMPLEMENTATIONS $name {$(
55+
impl_error_chain_kind!(IMPLEMENTATIONS $name {$(
5556
$iitem: $imode [$(#[$imeta])*] [$( $ivar: $ityp ),*] {$( $ifuncs )*}
5657
)*});
5758
$(
58-
quick_error!(ERROR_CHECK $imode $($ifuncs)*);
59+
impl_error_chain_kind!(ERROR_CHECK $imode $($ifuncs)*);
5960
)*
6061
};
6162
// Add meta to buffer
@@ -66,7 +67,7 @@ macro_rules! quick_error {
6667
buf [$( #[$bmeta:meta] )*]
6768
queue [ #[$qmeta:meta] $( $tail:tt )*]
6869
) => {
69-
quick_error!(SORT [$( $def )*]
70+
impl_error_chain_kind!(SORT [$( $def )*]
7071
items [$( $(#[$imeta])* => $iitem: $imode [$( $ivar:$ityp ),*] {$( $ifuncs )*} )*]
7172
buf [$( #[$bmeta] )* #[$qmeta] ]
7273
queue [$( $tail )*]);
@@ -79,7 +80,7 @@ macro_rules! quick_error {
7980
buf [$( #[$bmeta:meta] )*]
8081
queue [ $qitem:ident $( $tail:tt )*]
8182
) => {
82-
quick_error!(SORT [$( $def )*]
83+
impl_error_chain_kind!(SORT [$( $def )*]
8384
items [$( $(#[$imeta])*
8485
=> $iitem: $imode [$( $ivar:$ityp ),*] {$( $ifuncs )*} )*]
8586
buf [$(#[$bmeta])* => $qitem : UNIT [ ] ]
@@ -94,7 +95,7 @@ macro_rules! quick_error {
9495
=> $bitem:ident: $bmode:tt [$( $bvar:ident: $btyp:ty ),*] ]
9596
queue [ #[$qmeta:meta] $( $tail:tt )*]
9697
) => {
97-
quick_error!(SORT [$( $def )*]
98+
impl_error_chain_kind!(SORT [$( $def )*]
9899
enum [$( $(#[$emeta])* => $eitem $(( $($etyp),* ))* )*
99100
$(#[$bmeta])* => $bitem: $bmode $(( $($btyp),* ))*]
100101
items [$($( #[$imeta:meta] )*
@@ -111,7 +112,7 @@ macro_rules! quick_error {
111112
buf [$( #[$bmeta:meta] )* => $bitem:ident: UNIT [ ] ]
112113
queue [($( $qvar:ident: $qtyp:ty ),+) $( $tail:tt )*]
113114
) => {
114-
quick_error!(SORT [$( $def )*]
115+
impl_error_chain_kind!(SORT [$( $def )*]
115116
items [$( $(#[$imeta])* => $iitem: $imode [$( $ivar:$ityp ),*] {$( $ifuncs )*} )*]
116117
buf [$( #[$bmeta] )* => $bitem: TUPLE [$( $qvar:$qtyp ),*] ]
117118
queue [$( $tail )*]
@@ -125,7 +126,7 @@ macro_rules! quick_error {
125126
buf [$( #[$bmeta:meta] )* => $bitem:ident: UNIT [ ] ]
126127
queue [{ $( $qvar:ident: $qtyp:ty ),+} $( $tail:tt )*]
127128
) => {
128-
quick_error!(SORT [$( $def )*]
129+
impl_error_chain_kind!(SORT [$( $def )*]
129130
items [$( $(#[$imeta])* => $iitem: $imode [$( $ivar:$ityp ),*] {$( $ifuncs )*} )*]
130131
buf [$( #[$bmeta] )* => $bitem: STRUCT [$( $qvar:$qtyp ),*] ]
131132
queue [$( $tail )*]);
@@ -138,7 +139,7 @@ macro_rules! quick_error {
138139
buf [$( #[$bmeta:meta] )* => $bitem:ident: UNIT [ ] ]
139140
queue [{$( $qvar:ident: $qtyp:ty ),+ ,} $( $tail:tt )*]
140141
) => {
141-
quick_error!(SORT [$( $def )*]
142+
impl_error_chain_kind!(SORT [$( $def )*]
142143
items [$( $(#[$imeta])* => $iitem: $imode [$( $ivar:$ityp ),*] {$( $ifuncs )*} )*]
143144
buf [$( #[$bmeta] )* => $bitem: STRUCT [$( $qvar:$qtyp ),*] ]
144145
queue [$( $tail )*]);
@@ -152,7 +153,7 @@ macro_rules! quick_error {
152153
=> $bitem:ident: $bmode:tt [$( $bvar:ident: $btyp:ty ),*] ]
153154
queue [ {$( $qfuncs:tt )*} $( $tail:tt )*]
154155
) => {
155-
quick_error!(SORT [$( $def )*]
156+
impl_error_chain_kind!(SORT [$( $def )*]
156157
items [$( $(#[$imeta])* => $iitem: $imode [$( $ivar:$ityp ),*] {$( $ifuncs )*} )*
157158
$(#[$bmeta])* => $bitem: $bmode [$( $bvar:$btyp ),*] {$( $qfuncs )*} ]
158159
buf [ ]
@@ -167,7 +168,7 @@ macro_rules! quick_error {
167168
=> $bitem:ident: $bmode:tt [$( $bvar:ident: $btyp:ty ),*] ]
168169
queue [ $qitem:ident $( $tail:tt )*]
169170
) => {
170-
quick_error!(SORT [$( $def )*]
171+
impl_error_chain_kind!(SORT [$( $def )*]
171172
items [$( $(#[$imeta])* => $iitem: $imode [$( $ivar:$ityp ),*] {$( $ifuncs )*} )*
172173
$(#[$bmeta])* => $bitem: $bmode [$( $bvar:$btyp ),*] {} ]
173174
buf [ => $qitem : UNIT [ ] ]
@@ -182,7 +183,7 @@ macro_rules! quick_error {
182183
=> $bitem:ident: $bmode:tt [$( $bvar:ident: $btyp:ty ),*] ]
183184
queue [ ]
184185
) => {
185-
quick_error!(SORT [$( $def )*]
186+
impl_error_chain_kind!(SORT [$( $def )*]
186187
items [$( $(#[$imeta])* => $iitem: $imode [$( $ivar:$ityp ),*] {$( $ifuncs )*} )*
187188
$(#[$bmeta])* => $bitem: $bmode [$( $bvar:$btyp ),*] {} ]
188189
buf [ ]
@@ -223,7 +224,7 @@ macro_rules! quick_error {
223224
queue [$( #[$qmeta:meta] )*
224225
=> $qitem:ident: UNIT [ ] $( $queue:tt )*]
225226
) => {
226-
quick_error!(ENUM_DEFINITION [ $($def)* ]
227+
impl_error_chain_kind!(ENUM_DEFINITION [ $($def)* ]
227228
body [$($( #[$imeta] )* => $iitem ($(($( $ttyp ),+))*) {$({$( $svar: $styp ),*})*} )*
228229
$( #[$qmeta] )* => $qitem () {} ]
229230
queue [ $($queue)* ]
@@ -236,7 +237,7 @@ macro_rules! quick_error {
236237
queue [$( #[$qmeta:meta] )*
237238
=> $qitem:ident: TUPLE [$( $qvar:ident: $qtyp:ty ),+] $( $queue:tt )*]
238239
) => {
239-
quick_error!(ENUM_DEFINITION [ $($def)* ]
240+
impl_error_chain_kind!(ENUM_DEFINITION [ $($def)* ]
240241
body [$($( #[$imeta] )* => $iitem ($(($( $ttyp ),+))*) {$({$( $svar: $styp ),*})*} )*
241242
$( #[$qmeta] )* => $qitem (($( $qtyp ),*)) {} ]
242243
queue [ $($queue)* ]
@@ -249,7 +250,7 @@ macro_rules! quick_error {
249250
queue [$( #[$qmeta:meta] )*
250251
=> $qitem:ident: STRUCT [$( $qvar:ident: $qtyp:ty ),*] $( $queue:tt )*]
251252
) => {
252-
quick_error!(ENUM_DEFINITION [ $($def)* ]
253+
impl_error_chain_kind!(ENUM_DEFINITION [ $($def)* ]
253254
body [$($( #[$imeta] )* => $iitem ($(($( $ttyp ),+))*) {$({$( $svar: $styp ),*})*} )*
254255
$( #[$qmeta] )* => $qitem () {{$( $qvar: $qtyp ),*}} ]
255256
queue [ $($queue)* ]
@@ -268,10 +269,10 @@ macro_rules! quick_error {
268269
match *self {
269270
$(
270271
$(#[$imeta])*
271-
quick_error!(ITEM_PATTERN
272+
impl_error_chain_kind!(ITEM_PATTERN
272273
$name $item: $imode [$( ref $var ),*]
273274
) => {
274-
let display_fn = quick_error!(FIND_DISPLAY_IMPL
275+
let display_fn = impl_error_chain_kind!(FIND_DISPLAY_IMPL
275276
$name $item: $imode
276277
{$( $funcs )*});
277278

@@ -286,10 +287,10 @@ macro_rules! quick_error {
286287
fn description(&self) -> &str {
287288
match *self {
288289
$(
289-
quick_error!(ITEM_PATTERN
290+
impl_error_chain_kind!(ITEM_PATTERN
290291
$name $item: $imode [$( ref $var ),*]
291292
) => {
292-
quick_error!(FIND_DESCRIPTION_IMPL
293+
impl_error_chain_kind!(FIND_DESCRIPTION_IMPL
293294
$item: $imode self fmt [$( $var ),*]
294295
{$( $funcs )*})
295296
}
@@ -299,10 +300,10 @@ macro_rules! quick_error {
299300
fn cause(&self) -> Option<&::std::error::Error> {
300301
match *self {
301302
$(
302-
quick_error!(ITEM_PATTERN
303+
impl_error_chain_kind!(ITEM_PATTERN
303304
$name $item: $imode [$( ref $var ),*]
304305
) => {
305-
quick_error!(FIND_CAUSE_IMPL
306+
impl_error_chain_kind!(FIND_CAUSE_IMPL
306307
$item: $imode [$( $var ),*]
307308
{$( $funcs )*})
308309
}
@@ -317,10 +318,10 @@ macro_rules! quick_error {
317318
match *self {
318319
$(
319320
$(#[$imeta])*
320-
quick_error!(ITEM_PATTERN
321+
impl_error_chain_kind!(ITEM_PATTERN
321322
$name $item: $imode [$( ref $var ),*]
322323
) => {
323-
quick_error!(FIND_DESCRIPTION_IMPL
324+
impl_error_chain_kind!(FIND_DESCRIPTION_IMPL
324325
$item: $imode self fmt [$( $var ),*]
325326
{$( $funcs )*})
326327
}
@@ -329,15 +330,15 @@ macro_rules! quick_error {
329330
}
330331
}
331332
$(
332-
quick_error!(FIND_FROM_IMPL
333+
impl_error_chain_kind!(FIND_FROM_IMPL
333334
$name $item: $imode [$( $var:$typ ),*]
334335
{$( $funcs )*});
335336
)*
336337
};
337338
(FIND_DISPLAY_IMPL $name:ident $item:ident: $imode:tt
338339
{ display($self_:tt) -> ($( $exprs:tt )*) $( $tail:tt )*}
339340
) => {
340-
|quick_error!(IDENT $self_): &$name, f: &mut ::std::fmt::Formatter| {
341+
|impl_error_chain_kind!(IDENT $self_): &$name, f: &mut ::std::fmt::Formatter| {
341342
write!(f, $( $exprs )*)
342343
}
343344
};
@@ -354,7 +355,7 @@ macro_rules! quick_error {
354355
(FIND_DISPLAY_IMPL $name:ident $item:ident: $imode:tt
355356
{ $t:tt $( $tail:tt )*}
356357
) => {
357-
quick_error!(FIND_DISPLAY_IMPL
358+
impl_error_chain_kind!(FIND_DISPLAY_IMPL
358359
$name $item: $imode
359360
{$( $tail )*})
360361
};
@@ -375,7 +376,7 @@ macro_rules! quick_error {
375376
[$( $var:ident ),*]
376377
{ $t:tt $( $tail:tt )*}
377378
) => {
378-
quick_error!(FIND_DESCRIPTION_IMPL
379+
impl_error_chain_kind!(FIND_DESCRIPTION_IMPL
379380
$item: $imode $me $fmt [$( $var ),*]
380381
{$( $tail )*})
381382
};
@@ -395,7 +396,7 @@ macro_rules! quick_error {
395396
[$( $var:ident ),*]
396397
{ $t:tt $( $tail:tt )*}
397398
) => {
398-
quick_error!(FIND_CAUSE_IMPL
399+
impl_error_chain_kind!(FIND_CAUSE_IMPL
399400
$item: $imode [$( $var ),*]
400401
{ $($tail)* })
401402
};
@@ -416,7 +417,7 @@ macro_rules! quick_error {
416417
}
417418
}
418419
)*
419-
quick_error!(FIND_FROM_IMPL
420+
impl_error_chain_kind!(FIND_FROM_IMPL
420421
$name $item: $imode [$( $var:$typ ),*]
421422
{$( $tail )*});
422423
};
@@ -429,7 +430,7 @@ macro_rules! quick_error {
429430
$name::$item
430431
}
431432
}
432-
quick_error!(FIND_FROM_IMPL
433+
impl_error_chain_kind!(FIND_FROM_IMPL
433434
$name $item: UNIT [ ]
434435
{$( $tail )*});
435436
};
@@ -442,7 +443,7 @@ macro_rules! quick_error {
442443
$name::$item($( $texpr ),*)
443444
}
444445
}
445-
quick_error!(FIND_FROM_IMPL
446+
impl_error_chain_kind!(FIND_FROM_IMPL
446447
$name $item: TUPLE [$( $var:$typ ),*]
447448
{ $($tail)* });
448449
};
@@ -457,15 +458,15 @@ macro_rules! quick_error {
457458
}
458459
}
459460
}
460-
quick_error!(FIND_FROM_IMPL
461+
impl_error_chain_kind!(FIND_FROM_IMPL
461462
$name $item: STRUCT [$( $var:$typ ),*]
462463
{ $($tail)* });
463464
};
464465
(FIND_FROM_IMPL $name:ident $item:ident: $imode:tt
465466
[$( $var:ident: $typ:ty ),*]
466467
{ $t:tt $( $tail:tt )*}
467468
) => {
468-
quick_error!(FIND_FROM_IMPL
469+
impl_error_chain_kind!(FIND_FROM_IMPL
469470
$name $item: $imode [$( $var:$typ ),*]
470471
{$( $tail )*}
471472
);
@@ -506,28 +507,28 @@ macro_rules! quick_error {
506507
// This is to contrast FIND_* clauses which just find stuff they need and
507508
// skip everything else completely
508509
(ERROR_CHECK $imode:tt display($self_:tt) -> ($( $exprs:tt )*) $( $tail:tt )*)
509-
=> { quick_error!(ERROR_CHECK_COMMA $imode $($tail)*); };
510+
=> { impl_error_chain_kind!(ERROR_CHECK_COMMA $imode $($tail)*); };
510511
(ERROR_CHECK $imode:tt display($pattern: expr) $( $tail:tt )*)
511-
=> { quick_error!(ERROR_CHECK_COMMA $imode $($tail)*); };
512+
=> { impl_error_chain_kind!(ERROR_CHECK_COMMA $imode $($tail)*); };
512513
(ERROR_CHECK $imode:tt display($pattern: expr, $( $exprs:tt )*) $( $tail:tt )*)
513-
=> { quick_error!(ERROR_CHECK_COMMA $imode $($tail)*); };
514+
=> { impl_error_chain_kind!(ERROR_CHECK_COMMA $imode $($tail)*); };
514515
(ERROR_CHECK $imode:tt description($expr:expr) $( $tail:tt )*)
515-
=> { quick_error!(ERROR_CHECK_COMMA $imode $($tail)*); };
516+
=> { impl_error_chain_kind!(ERROR_CHECK_COMMA $imode $($tail)*); };
516517
(ERROR_CHECK $imode:tt cause($expr:expr) $($tail:tt)*)
517-
=> { quick_error!(ERROR_CHECK_COMMA $imode $($tail)*); };
518+
=> { impl_error_chain_kind!(ERROR_CHECK_COMMA $imode $($tail)*); };
518519
(ERROR_CHECK $imode:tt from() $($tail:tt)*)
519-
=> { quick_error!(ERROR_CHECK_COMMA $imode $($tail)*); };
520+
=> { impl_error_chain_kind!(ERROR_CHECK_COMMA $imode $($tail)*); };
520521
(ERROR_CHECK $imode:tt from($ftyp:ty) $($tail:tt)*)
521-
=> { quick_error!(ERROR_CHECK_COMMA $imode $($tail)*); };
522+
=> { impl_error_chain_kind!(ERROR_CHECK_COMMA $imode $($tail)*); };
522523
(ERROR_CHECK TUPLE from($fvar:ident: $ftyp:ty) -> ($( $e:expr ),*) $( $tail:tt )*)
523-
=> { quick_error!(ERROR_CHECK_COMMA TUPLE $($tail)*); };
524+
=> { impl_error_chain_kind!(ERROR_CHECK_COMMA TUPLE $($tail)*); };
524525
(ERROR_CHECK STRUCT from($fvar:ident: $ftyp:ty) -> {$( $v:ident: $e:expr ),*} $( $tail:tt )*)
525-
=> { quick_error!(ERROR_CHECK_COMMA STRUCT $($tail)*); };
526+
=> { impl_error_chain_kind!(ERROR_CHECK_COMMA STRUCT $($tail)*); };
526527
(ERROR_CHECK $imode:tt ) => {};
527528
(ERROR_CHECK_COMMA $imode:tt , $( $tail:tt )*)
528-
=> { quick_error!(ERROR_CHECK $imode $($tail)*); };
529+
=> { impl_error_chain_kind!(ERROR_CHECK $imode $($tail)*); };
529530
(ERROR_CHECK_COMMA $imode:tt $( $tail:tt )*)
530-
=> { quick_error!(ERROR_CHECK $imode $($tail)*); };
531+
=> { impl_error_chain_kind!(ERROR_CHECK $imode $($tail)*); };
531532
// Utility functions
532533
(IDENT $ident:ident) => { $ident }
533534
}

src/lib.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,8 @@
149149
//! Io(::std::io::Error) #[cfg(unix)];
150150
//! }
151151
//!
152-
//! // Define additional `ErrorKind` variants. The syntax here is
153-
//! // the same as `quick_error!`, but the `from()` and `cause()`
154-
//! // syntax is not supported.
152+
//! // Define additional `ErrorKind` variants. Define custom responses with the
153+
//! // `description` and `display` calls.
155154
//! errors {
156155
//! InvalidToolchainName(t: String) {
157156
//! description("invalid toolchain name")
@@ -553,7 +552,7 @@ pub use backtrace::Backtrace;
553552
pub type Backtrace = ();
554553

555554
#[macro_use]
556-
mod quick_error;
555+
mod impl_error_chain_kind;
557556
#[macro_use]
558557
mod error_chain;
559558
#[macro_use]

0 commit comments

Comments
 (0)