minor tweaks
This commit is contained in:
parent
f92294f76b
commit
3206960ec6
@ -558,14 +558,13 @@ impl<'a> State<'a> {
|
|||||||
self.word(",");
|
self.word(",");
|
||||||
self.space();
|
self.space();
|
||||||
|
|
||||||
let (&first, rest) =
|
if let Some((&first, rest)) = fields.split_first() {
|
||||||
fields.split_first().expect("offset_of! should have at least 1 field");
|
self.print_ident(first);
|
||||||
|
|
||||||
self.print_ident(first);
|
for &field in rest {
|
||||||
|
self.word(".");
|
||||||
for &field in rest {
|
self.print_ident(field);
|
||||||
self.word(".");
|
}
|
||||||
self.print_ident(field);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.end();
|
self.end();
|
||||||
|
@ -287,7 +287,7 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
|||||||
// FIXME: This should be a span_bug (#80742)
|
// FIXME: This should be a span_bug (#80742)
|
||||||
self.tcx.sess.delay_span_bug(
|
self.tcx.sess.delay_span_bug(
|
||||||
self.frame().current_span(),
|
self.frame().current_span(),
|
||||||
&format!("Nullary MIR operator called for unsized type {}", ty),
|
&format!("{null_op:?} MIR operator called for unsized type {ty}"),
|
||||||
);
|
);
|
||||||
throw_inval!(SizeOfUnsizedType(ty));
|
throw_inval!(SizeOfUnsizedType(ty));
|
||||||
}
|
}
|
||||||
|
@ -1557,14 +1557,13 @@ impl<'a> State<'a> {
|
|||||||
self.word(",");
|
self.word(",");
|
||||||
self.space();
|
self.space();
|
||||||
|
|
||||||
let (&first, rest) =
|
if let Some((&first, rest)) = fields.split_first() {
|
||||||
fields.split_first().expect("offset_of! should have at least 1 field");
|
self.print_ident(first);
|
||||||
|
|
||||||
self.print_ident(first);
|
for &field in rest {
|
||||||
|
self.word(".");
|
||||||
for &field in rest {
|
self.print_ident(field);
|
||||||
self.word(".");
|
}
|
||||||
self.print_ident(field);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.word(")");
|
self.word(")");
|
||||||
|
@ -3084,6 +3084,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||||||
{
|
{
|
||||||
let field_ty = self.field_ty(expr.span, field, substs);
|
let field_ty = self.field_ty(expr.span, field, substs);
|
||||||
|
|
||||||
|
// FIXME: DSTs with static alignment should be allowed
|
||||||
self.require_type_is_sized(field_ty, expr.span, traits::MiscObligation);
|
self.require_type_is_sized(field_ty, expr.span, traits::MiscObligation);
|
||||||
|
|
||||||
if field.vis.is_accessible_from(def_scope, self.tcx) {
|
if field.vis.is_accessible_from(def_scope, self.tcx) {
|
||||||
|
@ -53,7 +53,8 @@ impl Category {
|
|||||||
| ExprKind::Borrow { .. }
|
| ExprKind::Borrow { .. }
|
||||||
| ExprKind::AddressOf { .. }
|
| ExprKind::AddressOf { .. }
|
||||||
| ExprKind::Yield { .. }
|
| ExprKind::Yield { .. }
|
||||||
| ExprKind::Call { .. } => Some(Category::Rvalue(RvalueFunc::Into)),
|
| ExprKind::Call { .. }
|
||||||
|
| ExprKind::InlineAsm { .. } => Some(Category::Rvalue(RvalueFunc::Into)),
|
||||||
|
|
||||||
ExprKind::Array { .. }
|
ExprKind::Array { .. }
|
||||||
| ExprKind::Tuple { .. }
|
| ExprKind::Tuple { .. }
|
||||||
@ -67,7 +68,6 @@ impl Category {
|
|||||||
| ExprKind::Assign { .. }
|
| ExprKind::Assign { .. }
|
||||||
| ExprKind::AssignOp { .. }
|
| ExprKind::AssignOp { .. }
|
||||||
| ExprKind::ThreadLocalRef(_)
|
| ExprKind::ThreadLocalRef(_)
|
||||||
| ExprKind::InlineAsm { .. }
|
|
||||||
| ExprKind::OffsetOf { .. } => Some(Category::Rvalue(RvalueFunc::AsRvalue)),
|
| ExprKind::OffsetOf { .. } => Some(Category::Rvalue(RvalueFunc::AsRvalue)),
|
||||||
|
|
||||||
ExprKind::ConstBlock { .. }
|
ExprKind::ConstBlock { .. }
|
||||||
|
@ -520,7 +520,7 @@ impl<'a, 'tcx> ThirPrinter<'a, 'tcx> {
|
|||||||
print_indented!(self, "}", depth_lvl);
|
print_indented!(self, "}", depth_lvl);
|
||||||
}
|
}
|
||||||
OffsetOf { container, fields } => {
|
OffsetOf { container, fields } => {
|
||||||
print_indented!(self, "InlineAsm {", depth_lvl);
|
print_indented!(self, "OffsetOf {", depth_lvl);
|
||||||
print_indented!(self, format!("container: {:?}", container), depth_lvl + 1);
|
print_indented!(self, format!("container: {:?}", container), depth_lvl + 1);
|
||||||
print_indented!(self, "fields: [", depth_lvl + 1);
|
print_indented!(self, "fields: [", depth_lvl + 1);
|
||||||
|
|
||||||
|
@ -1319,5 +1319,5 @@ impl<T> SizedTypeProperties for T {}
|
|||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg(not(bootstrap))]
|
#[cfg(not(bootstrap))]
|
||||||
pub macro offset_of($Container:ty, $($fields:tt).+ $(,)?) {
|
pub macro offset_of($Container:ty, $($fields:tt).+ $(,)?) {
|
||||||
// ...implementation defined...
|
/* compiler built-in */
|
||||||
}
|
}
|
||||||
|
@ -345,7 +345,6 @@ pub(crate) fn format_expr(
|
|||||||
// Style Guide RFC for InlineAsm variant pending
|
// Style Guide RFC for InlineAsm variant pending
|
||||||
// https://github.com/rust-dev-tools/fmt-rfcs/issues/152
|
// https://github.com/rust-dev-tools/fmt-rfcs/issues/152
|
||||||
ast::ExprKind::InlineAsm(..) => Some(context.snippet(expr.span).to_owned()),
|
ast::ExprKind::InlineAsm(..) => Some(context.snippet(expr.span).to_owned()),
|
||||||
ast::ExprKind::OffsetOf(..) => Some(context.snippet(expr.span).to_owned()),
|
|
||||||
ast::ExprKind::TryBlock(ref block) => {
|
ast::ExprKind::TryBlock(ref block) => {
|
||||||
if let rw @ Some(_) =
|
if let rw @ Some(_) =
|
||||||
rewrite_single_line_block(context, "try ", block, Some(&expr.attrs), None, shape)
|
rewrite_single_line_block(context, "try ", block, Some(&expr.attrs), None, shape)
|
||||||
@ -400,7 +399,7 @@ pub(crate) fn format_expr(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ast::ExprKind::Underscore => Some("_".to_owned()),
|
ast::ExprKind::Underscore => Some("_".to_owned()),
|
||||||
ast::ExprKind::FormatArgs(..) | ast::ExprKind::IncludedBytes(..) => {
|
ast::ExprKind::FormatArgs(..) | ast::ExprKind::IncludedBytes(..) | ast::ExprKind::OffsetOf(..) => {
|
||||||
// These do not occur in the AST because macros aren't expanded.
|
// These do not occur in the AST because macros aren't expanded.
|
||||||
unreachable!()
|
unreachable!()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user