Auto merge of #113769 - matthiaskrgr:rollup-p6i1rco, r=matthiaskrgr
Rollup of 7 pull requests Successful merges: - #113042 (Add Platform Support documentation for MIPS Release 6 targets) - #113539 (fixed typo) - #113614 (platform-support.md: It's now verified that NetBSD/riscv64 can self-h…) - #113750 (Add missing italicization to `sort_unstable_by_key` complexity ) - #113755 (Normalize lazy type aliases when probing for ADTs) - #113756 (fix wrong link) - #113762 (Fix typo) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
f1eab64d4f
11 changed files with 218 additions and 17 deletions
|
@ -302,7 +302,9 @@ impl<'a, 'tcx> AstConv<'tcx> for FnCtxt<'a, 'tcx> {
|
|||
match ty.kind() {
|
||||
ty::Adt(adt_def, _) => Some(*adt_def),
|
||||
// FIXME(#104767): Should we handle bound regions here?
|
||||
ty::Alias(ty::Projection | ty::Inherent, _) if !ty.has_escaping_bound_vars() => {
|
||||
ty::Alias(ty::Projection | ty::Inherent | ty::Weak, _)
|
||||
if !ty.has_escaping_bound_vars() =>
|
||||
{
|
||||
self.normalize(span, ty).ty_adt_def()
|
||||
}
|
||||
_ => None,
|
||||
|
|
|
@ -24,7 +24,7 @@ pub enum ValTree<'tcx> {
|
|||
Leaf(ScalarInt),
|
||||
|
||||
//SliceOrStr(ValSlice<'tcx>),
|
||||
// dont use SliceOrStr for now
|
||||
// don't use SliceOrStr for now
|
||||
/// The fields of any kind of aggregate. Structs, tuples and arrays are represented by
|
||||
/// listing their fields' values in order.
|
||||
///
|
||||
|
|
|
@ -570,7 +570,7 @@ impl<'a, 'tcx> WfPredicates<'a, 'tcx> {
|
|||
));
|
||||
}
|
||||
ty::ConstKind::Expr(_) => {
|
||||
// FIXME(generic_const_exprs): this doesnt verify that given `Expr(N + 1)` the
|
||||
// FIXME(generic_const_exprs): this doesn't verify that given `Expr(N + 1)` the
|
||||
// trait bound `typeof(N): Add<typeof(1)>` holds. This is currently unnecessary
|
||||
// as `ConstKind::Expr` is only produced via normalization of `ConstKind::Unevaluated`
|
||||
// which means that the `DefId` would have been typeck'd elsewhere. However in
|
||||
|
|
|
@ -174,7 +174,7 @@ fn recurse_build<'tcx>(
|
|||
}
|
||||
// `ExprKind::Use` happens when a `hir::ExprKind::Cast` is a
|
||||
// "coercion cast" i.e. using a coercion or is a no-op.
|
||||
// This is important so that `N as usize as usize` doesnt unify with `N as usize`. (untested)
|
||||
// This is important so that `N as usize as usize` doesn't unify with `N as usize`. (untested)
|
||||
&ExprKind::Use { source } => {
|
||||
let arg = recurse_build(tcx, body, source, root_span)?;
|
||||
ty::Const::new_expr(tcx, Expr::Cast(CastKind::Use, arg, node.ty), node.ty)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue