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"]:
|
for where_predicate in generics["where_predicates"]:
|
||||||
if "bound_predicate" in where_predicate:
|
if "bound_predicate" in where_predicate:
|
||||||
pred = where_predicate["bound_predicate"]
|
pred = where_predicate["bound_predicate"]
|
||||||
check_type(pred["ty"])
|
check_type(pred["type"])
|
||||||
for bound in pred["bounds"]:
|
for bound in pred["bounds"]:
|
||||||
check_generic_bound(bound)
|
check_generic_bound(bound)
|
||||||
elif "region_predicate" in where_predicate:
|
elif "region_predicate" in where_predicate:
|
||||||
|
|
|
@ -345,9 +345,10 @@ impl FromWithTcx<clean::GenericParamDefKind> for GenericParamDefKind {
|
||||||
default: default.map(|x| (*x).into_tcx(tcx)),
|
default: default.map(|x| (*x).into_tcx(tcx)),
|
||||||
synthetic,
|
synthetic,
|
||||||
},
|
},
|
||||||
Const { did: _, ty, default } => {
|
Const { did: _, ty, default } => GenericParamDefKind::Const {
|
||||||
GenericParamDefKind::Const { ty: (*ty).into_tcx(tcx), default: default.map(|x| *x) }
|
type_: (*ty).into_tcx(tcx),
|
||||||
}
|
default: default.map(|x| *x),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -357,7 +358,7 @@ impl FromWithTcx<clean::WherePredicate> for WherePredicate {
|
||||||
use clean::WherePredicate::*;
|
use clean::WherePredicate::*;
|
||||||
match predicate {
|
match predicate {
|
||||||
BoundPredicate { ty, bounds, .. } => WherePredicate::BoundPredicate {
|
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(),
|
bounds: bounds.into_iter().map(|x| x.into_tcx(tcx)).collect(),
|
||||||
// FIXME: add `bound_params` to rustdoc-json-params?
|
// FIXME: add `bound_params` to rustdoc-json-params?
|
||||||
},
|
},
|
||||||
|
|
|
@ -378,7 +378,8 @@ pub enum GenericParamDefKind {
|
||||||
synthetic: bool,
|
synthetic: bool,
|
||||||
},
|
},
|
||||||
Const {
|
Const {
|
||||||
ty: Type,
|
#[serde(rename = "type")]
|
||||||
|
type_: Type,
|
||||||
default: Option<String>,
|
default: Option<String>,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -386,9 +387,19 @@ pub enum GenericParamDefKind {
|
||||||
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
||||||
#[serde(rename_all = "snake_case")]
|
#[serde(rename_all = "snake_case")]
|
||||||
pub enum WherePredicate {
|
pub enum WherePredicate {
|
||||||
BoundPredicate { ty: Type, bounds: Vec<GenericBound> },
|
BoundPredicate {
|
||||||
RegionPredicate { lifetime: String, bounds: Vec<GenericBound> },
|
#[serde(rename = "type")]
|
||||||
EqPredicate { lhs: Type, rhs: Term },
|
type_: Type,
|
||||||
|
bounds: Vec<GenericBound>,
|
||||||
|
},
|
||||||
|
RegionPredicate {
|
||||||
|
lifetime: String,
|
||||||
|
bounds: Vec<GenericBound>,
|
||||||
|
},
|
||||||
|
EqPredicate {
|
||||||
|
lhs: Type,
|
||||||
|
rhs: Term,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
||||||
|
|
|
@ -13,10 +13,12 @@ pub trait LendingIterator {
|
||||||
// @count - "$.index[*][?(@.name=='LendingItem')].inner.generics.params[*]" 1
|
// @count - "$.index[*][?(@.name=='LendingItem')].inner.generics.params[*]" 1
|
||||||
// @is - "$.index[*][?(@.name=='LendingItem')].inner.generics.params[*].name" \"\'a\"
|
// @is - "$.index[*][?(@.name=='LendingItem')].inner.generics.params[*].name" \"\'a\"
|
||||||
// @count - "$.index[*][?(@.name=='LendingItem')].inner.generics.where_predicates[*]" 1
|
// @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\"
|
// @is - "$.index[*][?(@.name=='LendingItem')].inner.generics.where_predicates[*].bound_predicate.bounds[*].outlives" \"\'a\"
|
||||||
// @count - "$.index[*][?(@.name=='LendingItem')].inner.bounds[*]" 1
|
// @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\"
|
// @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
|
// @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