parent
21b0325c68
commit
b526d8f27c
4 changed files with 25 additions and 11 deletions
|
@ -31,7 +31,7 @@ def check_generics(generics):
|
|||
for where_predicate in generics["where_predicates"]:
|
||||
if "bound_predicate" in where_predicate:
|
||||
pred = where_predicate["bound_predicate"]
|
||||
check_type(pred["ty"])
|
||||
check_type(pred["type"])
|
||||
for bound in pred["bounds"]:
|
||||
check_generic_bound(bound)
|
||||
elif "region_predicate" in where_predicate:
|
||||
|
|
|
@ -345,9 +345,10 @@ impl FromWithTcx<clean::GenericParamDefKind> for GenericParamDefKind {
|
|||
default: default.map(|x| (*x).into_tcx(tcx)),
|
||||
synthetic,
|
||||
},
|
||||
Const { did: _, ty, default } => {
|
||||
GenericParamDefKind::Const { ty: (*ty).into_tcx(tcx), default: default.map(|x| *x) }
|
||||
}
|
||||
Const { did: _, ty, default } => GenericParamDefKind::Const {
|
||||
type_: (*ty).into_tcx(tcx),
|
||||
default: default.map(|x| *x),
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -357,7 +358,7 @@ impl FromWithTcx<clean::WherePredicate> for WherePredicate {
|
|||
use clean::WherePredicate::*;
|
||||
match predicate {
|
||||
BoundPredicate { ty, bounds, .. } => WherePredicate::BoundPredicate {
|
||||
ty: ty.into_tcx(tcx),
|
||||
type_: ty.into_tcx(tcx),
|
||||
bounds: bounds.into_iter().map(|x| x.into_tcx(tcx)).collect(),
|
||||
// FIXME: add `bound_params` to rustdoc-json-params?
|
||||
},
|
||||
|
|
|
@ -378,7 +378,8 @@ pub enum GenericParamDefKind {
|
|||
synthetic: bool,
|
||||
},
|
||||
Const {
|
||||
ty: Type,
|
||||
#[serde(rename = "type")]
|
||||
type_: Type,
|
||||
default: Option<String>,
|
||||
},
|
||||
}
|
||||
|
@ -386,9 +387,19 @@ pub enum GenericParamDefKind {
|
|||
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum WherePredicate {
|
||||
BoundPredicate { ty: Type, bounds: Vec<GenericBound> },
|
||||
RegionPredicate { lifetime: String, bounds: Vec<GenericBound> },
|
||||
EqPredicate { lhs: Type, rhs: Term },
|
||||
BoundPredicate {
|
||||
#[serde(rename = "type")]
|
||||
type_: Type,
|
||||
bounds: Vec<GenericBound>,
|
||||
},
|
||||
RegionPredicate {
|
||||
lifetime: String,
|
||||
bounds: Vec<GenericBound>,
|
||||
},
|
||||
EqPredicate {
|
||||
lhs: Type,
|
||||
rhs: Term,
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
||||
|
|
|
@ -13,10 +13,12 @@ pub trait LendingIterator {
|
|||
// @count - "$.index[*][?(@.name=='LendingItem')].inner.generics.params[*]" 1
|
||||
// @is - "$.index[*][?(@.name=='LendingItem')].inner.generics.params[*].name" \"\'a\"
|
||||
// @count - "$.index[*][?(@.name=='LendingItem')].inner.generics.where_predicates[*]" 1
|
||||
// @is - "$.index[*][?(@.name=='LendingItem')].inner.generics.where_predicates[*].bound_predicate.ty.inner" \"Self\"
|
||||
// @is - "$.index[*][?(@.name=='LendingItem')].inner.generics.where_predicates[*].bound_predicate.type.inner" \"Self\"
|
||||
// @is - "$.index[*][?(@.name=='LendingItem')].inner.generics.where_predicates[*].bound_predicate.bounds[*].outlives" \"\'a\"
|
||||
// @count - "$.index[*][?(@.name=='LendingItem')].inner.bounds[*]" 1
|
||||
type LendingItem<'a>: Display where Self: 'a;
|
||||
type LendingItem<'a>: Display
|
||||
where
|
||||
Self: 'a;
|
||||
|
||||
// @is - "$.index[*][?(@.name=='lending_next')].inner.decl.output.kind" \"qualified_path\"
|
||||
// @count - "$.index[*][?(@.name=='lending_next')].inner.decl.output.inner.args.angle_bracketed.args[*]" 1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue