Skip to content

Commit a3209a5

Browse files
author
Ariel Ben-Yehuda
committed
cleanups
1 parent 60a9e56 commit a3209a5

File tree

3 files changed

+45
-43
lines changed

3 files changed

+45
-43
lines changed

library/core/src/error/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ mod provide;
88

99
#[unstable(feature = "error_generic_member_access", issue = "99301")]
1010
pub use provide::{
11-
ChainRefMultiRequestBuilder, ChainValMultiRequestBuilder, EmptyMultiRequestBuilder,
12-
IntoMultiRequest, MultiRequestBuilder, MultiResponse, MultiResponseChainRef,
13-
MultiResponseChainVal, Request, request_ref, request_value,
11+
ChainRefMultiRequestBuilder, ChainRefMultiResponse, ChainValMultiRequestBuilder,
12+
ChainValMultiResponse, EmptyMultiRequestBuilder, IntoMultiRequest, MultiRequestBuilder,
13+
MultiResponse, Request, request_ref, request_value,
1414
};
1515

1616
/// `Error` is a trait representing the basic expectations for error values,

library/core/src/error/provide.rs

Lines changed: 41 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -538,16 +538,18 @@ pub struct ChainRefMultiRequestBuilder<T: ?Sized, NEXT>(PhantomData<(*const T, N
538538
/// There is no need to use this trait directly, use [MultiRequestBuilder] instead.
539539
#[unstable(feature = "error_generic_member_access", issue = "99301")]
540540
#[allow(private_bounds)]
541-
pub trait IntoMultiRequest<'a>: private::IntoMultiRequestInner<'a> + 'static {}
541+
pub trait IntoMultiRequest: private::IntoMultiRequestInner + 'static {}
542542

543543
mod private {
544544
#[unstable(feature = "error_generic_member_access", issue = "99301")]
545545
#[allow(private_bounds)]
546-
pub trait IntoMultiRequestInner<'a> {
546+
pub trait IntoMultiRequestInner {
547547
#[unstable(feature = "error_generic_member_access", issue = "99301")]
548-
type Request: super::Erased<'a> + MultiResponseInner<'a>;
548+
type Request<'a>: super::Erased<'a> + MultiResponseInner<'a>
549+
where
550+
Self: 'a;
549551
#[unstable(feature = "error_generic_member_access", issue = "99301")]
550-
fn get_request() -> Self::Request;
552+
fn get_request<'a>() -> Self::Request<'a>;
551553
}
552554

553555
#[unstable(feature = "error_generic_member_access", issue = "99301")]
@@ -560,58 +562,58 @@ mod private {
560562
}
561563

562564
#[unstable(feature = "error_generic_member_access", issue = "99301")]
563-
impl<'a> IntoMultiRequest<'a> for EmptyMultiRequestBuilder {}
565+
impl IntoMultiRequest for EmptyMultiRequestBuilder {}
564566
#[unstable(feature = "error_generic_member_access", issue = "99301")]
565-
impl<'a> private::IntoMultiRequestInner<'a> for EmptyMultiRequestBuilder {
566-
type Request = EmptyMultiResponse;
567+
impl private::IntoMultiRequestInner for EmptyMultiRequestBuilder {
568+
type Request<'a> = EmptyMultiResponse;
567569

568-
fn get_request() -> Self::Request {
570+
fn get_request<'a>() -> Self::Request<'a> {
569571
EmptyMultiResponse
570572
}
571573
}
572574

573575
#[unstable(feature = "error_generic_member_access", issue = "99301")]
574-
impl<'a, T, NEXT> IntoMultiRequest<'a> for ChainValMultiRequestBuilder<T, NEXT>
576+
impl<T, NEXT> IntoMultiRequest for ChainValMultiRequestBuilder<T, NEXT>
575577
where
576578
T: 'static,
577-
NEXT: IntoMultiRequest<'a>,
579+
NEXT: IntoMultiRequest,
578580
{
579581
}
580582

581583
#[unstable(feature = "error_generic_member_access", issue = "99301")]
582-
impl<'a, T, NEXT> private::IntoMultiRequestInner<'a> for ChainValMultiRequestBuilder<T, NEXT>
584+
impl<T, NEXT> private::IntoMultiRequestInner for ChainValMultiRequestBuilder<T, NEXT>
583585
where
584586
T: 'static,
585-
NEXT: IntoMultiRequest<'a>,
587+
NEXT: IntoMultiRequest,
586588
{
587-
type Request = MultiResponseChainVal<'a, T, NEXT::Request>;
589+
type Request<'a> = ChainValMultiResponse<'a, T, NEXT::Request<'a>>;
588590

589-
fn get_request() -> Self::Request {
590-
MultiResponseChainVal {
591-
inner: MultiResponseChain { cur: None, next: NEXT::get_request(), marker: PhantomData },
591+
fn get_request<'a>() -> Self::Request<'a> {
592+
ChainValMultiResponse {
593+
inner: ChainMultiResponse { cur: None, next: NEXT::get_request(), marker: PhantomData },
592594
}
593595
}
594596
}
595597

596598
#[unstable(feature = "error_generic_member_access", issue = "99301")]
597-
impl<'a, T, NEXT> IntoMultiRequest<'a> for ChainRefMultiRequestBuilder<T, NEXT>
599+
impl<T, NEXT> IntoMultiRequest for ChainRefMultiRequestBuilder<T, NEXT>
598600
where
599601
T: ?Sized + 'static,
600-
NEXT: IntoMultiRequest<'a>,
602+
NEXT: IntoMultiRequest,
601603
{
602604
}
603605

604606
#[unstable(feature = "error_generic_member_access", issue = "99301")]
605-
impl<'a, T, NEXT> private::IntoMultiRequestInner<'a> for ChainRefMultiRequestBuilder<T, NEXT>
607+
impl<T, NEXT> private::IntoMultiRequestInner for ChainRefMultiRequestBuilder<T, NEXT>
606608
where
607609
T: ?Sized + 'static,
608-
NEXT: IntoMultiRequest<'a>,
610+
NEXT: IntoMultiRequest,
609611
{
610-
type Request = MultiResponseChainRef<'a, T, NEXT::Request>;
612+
type Request<'a> = ChainRefMultiResponse<'a, T, NEXT::Request<'a>>;
611613

612-
fn get_request() -> Self::Request {
613-
MultiResponseChainRef {
614-
inner: MultiResponseChain { cur: None, next: NEXT::get_request(), marker: PhantomData },
614+
fn get_request<'a>() -> Self::Request<'a> {
615+
ChainRefMultiResponse {
616+
inner: ChainMultiResponse { cur: None, next: NEXT::get_request(), marker: PhantomData },
615617
}
616618
}
617619
}
@@ -626,7 +628,7 @@ where
626628
pub struct EmptyMultiResponse;
627629

628630
#[derive(Debug)]
629-
struct MultiResponseChain<'a, I, NEXT>
631+
struct ChainMultiResponse<'a, I, NEXT>
630632
where
631633
I: tags::Type<'a>,
632634
{
@@ -643,11 +645,11 @@ where
643645
issue = "none"
644646
)]
645647
#[derive(Debug)]
646-
pub struct MultiResponseChainVal<'a, T, NEXT>
648+
pub struct ChainValMultiResponse<'a, T, NEXT>
647649
where
648650
T: 'static,
649651
{
650-
inner: MultiResponseChain<'a, tags::Value<T>, NEXT>,
652+
inner: ChainMultiResponse<'a, tags::Value<T>, NEXT>,
651653
}
652654

653655
/// A response from a [MultiRequestBuilder::request] after calling [MultiRequestBuilder::with_ref].
@@ -657,11 +659,11 @@ where
657659
issue = "none"
658660
)]
659661
#[derive(Debug)]
660-
pub struct MultiResponseChainRef<'a, T, NEXT>
662+
pub struct ChainRefMultiResponse<'a, T, NEXT>
661663
where
662664
T: 'static + ?Sized,
663665
{
664-
inner: MultiResponseChain<'a, tags::Ref<tags::MaybeSizedValue<T>>, NEXT>,
666+
inner: ChainMultiResponse<'a, tags::Ref<tags::MaybeSizedValue<T>>, NEXT>,
665667
}
666668

667669
/// A response from a [MultiRequestBuilder]. The types returned from
@@ -758,7 +760,7 @@ impl<'a> private::MultiResponseInner<'a> for EmptyMultiResponse {
758760
}
759761

760762
#[unstable(feature = "error_generic_member_access", issue = "99301")]
761-
impl<'a, J, NEXT> private::MultiResponseInner<'a> for MultiResponseChain<'a, J, NEXT>
763+
impl<'a, J, NEXT> private::MultiResponseInner<'a> for ChainMultiResponse<'a, J, NEXT>
762764
where
763765
J: tags::Type<'a>,
764766
NEXT: private::MultiResponseInner<'a>,
@@ -785,7 +787,7 @@ where
785787
}
786788
}
787789
#[unstable(feature = "error_generic_member_access", issue = "99301")]
788-
impl<'a, T, NEXT> private::MultiResponseInner<'a> for MultiResponseChainVal<'a, T, NEXT>
790+
impl<'a, T, NEXT> private::MultiResponseInner<'a> for ChainValMultiResponse<'a, T, NEXT>
789791
where
790792
T: 'static,
791793
NEXT: private::MultiResponseInner<'a>,
@@ -801,7 +803,7 @@ where
801803
}
802804
#[unstable(feature = "error_generic_member_access", issue = "99301")]
803805
// SAFETY: delegates to inner impl
804-
unsafe impl<'a, T, NEXT> Erased<'a> for MultiResponseChainVal<'a, T, NEXT>
806+
unsafe impl<'a, T, NEXT> Erased<'a> for ChainValMultiResponse<'a, T, NEXT>
805807
where
806808
T: 'static,
807809
NEXT: Erased<'a>,
@@ -811,7 +813,7 @@ where
811813
type_id: TypeId,
812814
) -> Option<NonNull<()>> {
813815
// SAFETY: delegation
814-
unsafe { MultiResponseChain::consume_closure(move || &raw const (*this()).inner, type_id) }
816+
unsafe { ChainMultiResponse::consume_closure(move || &raw const (*this()).inner, type_id) }
815817
}
816818

817819
unsafe fn consume(self: *const Self, type_id: TypeId) -> Option<NonNull<()>> {
@@ -821,7 +823,7 @@ where
821823
}
822824

823825
#[unstable(feature = "error_generic_member_access", issue = "99301")]
824-
impl<'a, T, NEXT> private::MultiResponseInner<'a> for MultiResponseChainRef<'a, T, NEXT>
826+
impl<'a, T, NEXT> private::MultiResponseInner<'a> for ChainRefMultiResponse<'a, T, NEXT>
825827
where
826828
T: 'static + ?Sized,
827829
NEXT: private::MultiResponseInner<'a>,
@@ -837,7 +839,7 @@ where
837839
}
838840
#[unstable(feature = "error_generic_member_access", issue = "99301")]
839841
// SAFETY: delegates to inner impl
840-
unsafe impl<'a, T, NEXT> Erased<'a> for MultiResponseChainRef<'a, T, NEXT>
842+
unsafe impl<'a, T, NEXT> Erased<'a> for ChainRefMultiResponse<'a, T, NEXT>
841843
where
842844
T: 'static + ?Sized,
843845
NEXT: Erased<'a>,
@@ -847,7 +849,7 @@ where
847849
type_id: TypeId,
848850
) -> Option<NonNull<()>> {
849851
// SAFETY: delegation
850-
unsafe { MultiResponseChain::consume_closure(move || &raw const (*this()).inner, type_id) }
852+
unsafe { ChainMultiResponse::consume_closure(move || &raw const (*this()).inner, type_id) }
851853
}
852854

853855
unsafe fn consume(self: *const Self, type_id: TypeId) -> Option<NonNull<()>> {
@@ -870,7 +872,7 @@ unsafe impl<'a> Erased<'a> for EmptyMultiResponse {
870872
}
871873
}
872874

873-
unsafe impl<'a, I, NEXT> Erased<'a> for MultiResponseChain<'a, I, NEXT>
875+
unsafe impl<'a, I, NEXT> Erased<'a> for ChainMultiResponse<'a, I, NEXT>
874876
where
875877
I: tags::Type<'a>,
876878
NEXT: Erased<'a>,
@@ -967,7 +969,7 @@ where
967969
/// assert_eq!(string_val, None);
968970
/// }
969971
/// ```
970-
pub struct MultiRequestBuilder<INNER: for<'a> IntoMultiRequest<'a>> {
972+
pub struct MultiRequestBuilder<INNER: IntoMultiRequest> {
971973
inner: PhantomData<INNER>,
972974
}
973975

@@ -979,7 +981,7 @@ impl MultiRequestBuilder<EmptyMultiRequestBuilder> {
979981
}
980982
}
981983

982-
impl<INNER: for<'a> IntoMultiRequest<'a>> MultiRequestBuilder<INNER> {
984+
impl<INNER: IntoMultiRequest> MultiRequestBuilder<INNER> {
983985
/// Create a [MultiRequestBuilder] that requests a value.
984986
///
985987
/// # Examples

tests/codegen-llvm/error-provide.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ pub fn provide_multi(
7878

7979
// Check that the virtual function generated has a switch
8080

81-
// CHECK: define {{.*}}4core5error7provide{{.*}}21MultiResponseChainRef
81+
// CHECK: define {{.*}}4core5error7provide{{.*}}21ChainRefMultiResponse
8282
// CHECK-NEXT: start:
8383
// CHECK-NEXT: %[[SCRUTINEE:[^ ]+]] = load i128, ptr
8484
// CHECK-NEXT: switch i128 %[[SCRUTINEE]], label %{{.*}} [

0 commit comments

Comments
 (0)