Auto merge of #111835 - matthiaskrgr:rollup-qd4b2vu, r=matthiaskrgr

Rollup of 2 pull requests

Successful merges:

 - #111810 (Don't use inner macro in `marker_impls`)
 - #111826 (Render test messages from bootstrap)

r? `@ghost`
`@rustbot` modify labels: rollup
This commit is contained in:
bors 2023-05-22 06:38:20 +00:00
commit 2d66e5a729
2 changed files with 15 additions and 20 deletions

View File

@ -43,27 +43,17 @@
/// ```
#[unstable(feature = "internal_impls_macro", issue = "none")]
macro marker_impls {
( $(#[$($meta:tt)*])* $Trait:ident for $( $({$($bounds:tt)*})? $T:ty ),+ $(,)?) => {
// This inner macro is needed because... idk macros are weird.
// It allows repeating `meta` on all impls.
#[unstable(feature = "internal_impls_macro", issue = "none")]
macro _impl {
( $$({$$($$bounds_:tt)*})? $$T_:ty ) => {
$(#[$($meta)*])* impl<$$($$($$bounds_)*)?> $Trait for $$T_ {}
}
}
$( _impl! { $({$($bounds)*})? $T } )+
( $(#[$($meta:tt)*])* $Trait:ident for $({$($bounds:tt)*})? $T:ty $(, $($rest:tt)*)? ) => {
$(#[$($meta)*])* impl< $($($bounds)*)? > $Trait for $T {}
marker_impls! { $(#[$($meta)*])* $Trait for $($($rest)*)? }
},
( $(#[$($meta:tt)*])* unsafe $Trait:ident for $( $({$($bounds:tt)*})? $T:ty ),+ $(,)?) => {
#[unstable(feature = "internal_impls_macro", issue = "none")]
macro _impl {
( $$({$$($$bounds_:tt)*})? $$T_:ty ) => {
$(#[$($meta)*])* unsafe impl<$$($$($$bounds_)*)?> $Trait for $$T_ {}
}
}
( $(#[$($meta:tt)*])* $Trait:ident for ) => {},
$( _impl! { $({$($bounds)*})? $T } )+
( $(#[$($meta:tt)*])* unsafe $Trait:ident for $({$($bounds:tt)*})? $T:ty $(, $($rest:tt)*)? ) => {
$(#[$($meta)*])* unsafe impl< $($($bounds)*)? > $Trait for $T {}
marker_impls! { $(#[$($meta)*])* unsafe $Trait for $($($rest)*)? }
},
( $(#[$($meta:tt)*])* unsafe $Trait:ident for ) => {},
}
/// Types that can be transferred across thread boundaries.

View File

@ -168,9 +168,14 @@ fn render_suite_outcome(&self, outcome: Outcome<'_>, suite: &SuiteOutcome) {
if !self.failures.is_empty() {
println!("\nfailures:\n");
for failure in &self.failures {
if let Some(stdout) = &failure.stdout {
if failure.stdout.is_some() || failure.message.is_some() {
println!("---- {} stdout ----", failure.name);
println!("{stdout}");
if let Some(stdout) = &failure.stdout {
println!("{stdout}");
}
if let Some(message) = &failure.message {
println!("note: {message}");
}
}
}