Skip to content

Commit 86b8643

Browse files
committed
Auto merge of #4805 - Manishearth:rustup, r=phansch
Rustup to rustc 1.40.0-nightly (56237d7 2019-11-11) changelog: none
2 parents 79d3b30 + e9a3e54 commit 86b8643

19 files changed

+59
-55
lines changed

clippy_lints/src/functions.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ fn is_mutable_ty<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, ty: Ty<'tcx>, span: Span,
548548
Tuple(ref substs) => substs.types().any(|ty| is_mutable_ty(cx, ty, span, tys)),
549549
Array(ty, _) | Slice(ty) => is_mutable_ty(cx, ty, span, tys),
550550
RawPtr(ty::TypeAndMut { ty, mutbl }) | Ref(_, ty, mutbl) => {
551-
mutbl == hir::Mutability::MutMutable || is_mutable_ty(cx, ty, span, tys)
551+
mutbl == hir::Mutability::Mutable || is_mutable_ty(cx, ty, span, tys)
552552
},
553553
// calling something constitutes a side effect, so return true on all callables
554554
// also never calls need not be used, so return true for them, too
@@ -653,7 +653,7 @@ impl<'a, 'tcx> intravisit::Visitor<'tcx> for StaticMutVisitor<'a, 'tcx> {
653653
tys.clear();
654654
}
655655
},
656-
Assign(ref target, _) | AssignOp(_, ref target, _) | AddrOf(hir::Mutability::MutMutable, ref target) => {
656+
Assign(ref target, _) | AssignOp(_, ref target, _) | AddrOf(hir::Mutability::Mutable, ref target) => {
657657
self.mutates_static |= is_mutated_static(self.cx, target)
658658
},
659659
_ => {},

clippy_lints/src/loops.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1506,8 +1506,8 @@ fn make_iterator_snippet(cx: &LateContext<'_, '_>, arg: &Expr, applic_ref: &mut
15061506
match &arg.kind {
15071507
ExprKind::AddrOf(mutability, arg_inner) if has_iter_method(cx, cx.tables.expr_ty(&arg_inner)).is_some() => {
15081508
let meth_name = match mutability {
1509-
MutMutable => "iter_mut",
1510-
MutImmutable => "iter",
1509+
Mutability::Mutable => "iter_mut",
1510+
Mutability::Immutable => "iter",
15111511
};
15121512
format!(
15131513
"{}.{}()",
@@ -1539,14 +1539,14 @@ fn check_for_loop_over_map_kv<'a, 'tcx>(
15391539
let (new_pat_span, kind, ty, mutbl) = match cx.tables.expr_ty(arg).kind {
15401540
ty::Ref(_, ty, mutbl) => match (&pat[0].kind, &pat[1].kind) {
15411541
(key, _) if pat_is_wild(key, body) => (pat[1].span, "value", ty, mutbl),
1542-
(_, value) if pat_is_wild(value, body) => (pat[0].span, "key", ty, MutImmutable),
1542+
(_, value) if pat_is_wild(value, body) => (pat[0].span, "key", ty, Mutability::Immutable),
15431543
_ => return,
15441544
},
15451545
_ => return,
15461546
};
15471547
let mutbl = match mutbl {
1548-
MutImmutable => "",
1549-
MutMutable => "_mut",
1548+
Mutability::Immutable => "",
1549+
Mutability::Mutable => "_mut",
15501550
};
15511551
let arg = match arg.kind {
15521552
ExprKind::AddrOf(_, ref expr) => &**expr,
@@ -1874,7 +1874,7 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> {
18741874
self.visit_expr(rhs);
18751875
},
18761876
ExprKind::AddrOf(mutbl, ref expr) => {
1877-
if mutbl == MutMutable {
1877+
if mutbl == Mutability::Mutable {
18781878
self.prefer_mutable = true;
18791879
}
18801880
self.visit_expr(expr);
@@ -1885,7 +1885,7 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> {
18851885
let ty = self.cx.tables.expr_ty_adjusted(expr);
18861886
self.prefer_mutable = false;
18871887
if let ty::Ref(_, _, mutbl) = ty.kind {
1888-
if mutbl == MutMutable {
1888+
if mutbl == Mutability::Mutable {
18891889
self.prefer_mutable = true;
18901890
}
18911891
}
@@ -1897,7 +1897,7 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> {
18971897
for (ty, expr) in self.cx.tcx.fn_sig(def_id).inputs().skip_binder().iter().zip(args) {
18981898
self.prefer_mutable = false;
18991899
if let ty::Ref(_, _, mutbl) = ty.kind {
1900-
if mutbl == MutMutable {
1900+
if mutbl == Mutability::Mutable {
19011901
self.prefer_mutable = true;
19021902
}
19031903
}
@@ -2090,7 +2090,7 @@ impl<'a, 'tcx> Visitor<'tcx> for IncrementVisitor<'a, 'tcx> {
20902090
}
20912091
},
20922092
ExprKind::Assign(ref lhs, _) if lhs.hir_id == expr.hir_id => *state = VarState::DontWarn,
2093-
ExprKind::AddrOf(mutability, _) if mutability == MutMutable => *state = VarState::DontWarn,
2093+
ExprKind::AddrOf(mutability, _) if mutability == Mutability::Mutable => *state = VarState::DontWarn,
20942094
_ => (),
20952095
}
20962096
}
@@ -2172,7 +2172,9 @@ impl<'a, 'tcx> Visitor<'tcx> for InitializeVisitor<'a, 'tcx> {
21722172
VarState::DontWarn
21732173
}
21742174
},
2175-
ExprKind::AddrOf(mutability, _) if mutability == MutMutable => self.state = VarState::DontWarn,
2175+
ExprKind::AddrOf(mutability, _) if mutability == Mutability::Mutable => {
2176+
self.state = VarState::DontWarn
2177+
},
21762178
_ => (),
21772179
}
21782180
}

clippy_lints/src/matches.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ fn is_panic_block(block: &Block) -> bool {
570570
fn check_match_ref_pats(cx: &LateContext<'_, '_>, ex: &Expr, arms: &[Arm], expr: &Expr) {
571571
if has_only_ref_pats(arms) {
572572
let mut suggs = Vec::new();
573-
let (title, msg) = if let ExprKind::AddrOf(Mutability::MutImmutable, ref inner) = ex.kind {
573+
let (title, msg) = if let ExprKind::AddrOf(Mutability::Immutable, ref inner) = ex.kind {
574574
let span = ex.span.source_callsite();
575575
suggs.push((span, Sugg::hir_with_macro_callsite(cx, inner, "..").to_string()));
576576
(

clippy_lints/src/mem_replace.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::utils::{
22
match_def_path, match_qpath, paths, snippet_with_applicability, span_help_and_lint, span_lint_and_sugg,
33
};
44
use if_chain::if_chain;
5-
use rustc::hir::{Expr, ExprKind, MutMutable, QPath};
5+
use rustc::hir::{Expr, ExprKind, Mutability, QPath};
66
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
77
use rustc::{declare_lint_pass, declare_tool_lint};
88
use rustc_errors::Applicability;
@@ -90,7 +90,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MemReplace {
9090
// argument's type. All that's left is to get
9191
// replacee's path.
9292
let replaced_path = match func_args[0].kind {
93-
ExprKind::AddrOf(MutMutable, ref replaced) => {
93+
ExprKind::AddrOf(Mutability::Mutable, ref replaced) => {
9494
if let ExprKind::Path(QPath::Resolved(None, ref replaced_path)) = replaced.kind {
9595
replaced_path
9696
} else {

clippy_lints/src/methods/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2764,8 +2764,8 @@ fn ty_has_iter_method(cx: &LateContext<'_, '_>, self_ref_ty: Ty<'_>) -> Option<(
27642764
_ => unreachable!(),
27652765
};
27662766
let method_name = match mutbl {
2767-
hir::MutImmutable => "iter",
2768-
hir::MutMutable => "iter_mut",
2767+
hir::Mutability::Immutable => "iter",
2768+
hir::Mutability::Mutable => "iter_mut",
27692769
};
27702770
(ty_name, method_name)
27712771
})
@@ -2955,8 +2955,8 @@ impl SelfKind {
29552955
}
29562956

29572957
let trait_path = match mutability {
2958-
hir::Mutability::MutImmutable => &paths::ASREF_TRAIT,
2959-
hir::Mutability::MutMutable => &paths::ASMUT_TRAIT,
2958+
hir::Mutability::Immutable => &paths::ASREF_TRAIT,
2959+
hir::Mutability::Mutable => &paths::ASMUT_TRAIT,
29602960
};
29612961

29622962
let trait_def_id = match get_trait_def_id(cx, trait_path) {
@@ -2969,9 +2969,9 @@ impl SelfKind {
29692969
match self {
29702970
Self::Value => matches_value(parent_ty, ty),
29712971
Self::Ref => {
2972-
matches_ref(cx, hir::Mutability::MutImmutable, parent_ty, ty) || ty == parent_ty && is_copy(cx, ty)
2972+
matches_ref(cx, hir::Mutability::Immutable, parent_ty, ty) || ty == parent_ty && is_copy(cx, ty)
29732973
},
2974-
Self::RefMut => matches_ref(cx, hir::Mutability::MutMutable, parent_ty, ty),
2974+
Self::RefMut => matches_ref(cx, hir::Mutability::Mutable, parent_ty, ty),
29752975
Self::No => ty != parent_ty,
29762976
}
29772977
}

clippy_lints/src/misc.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -627,8 +627,8 @@ fn check_cast(cx: &LateContext<'_, '_>, span: Span, e: &Expr, ty: &Ty) {
627627
if !in_constant(cx, e.hir_id);
628628
then {
629629
let (msg, sugg_fn) = match mut_ty.mutbl {
630-
Mutability::MutMutable => ("`0 as *mut _` detected", "std::ptr::null_mut"),
631-
Mutability::MutImmutable => ("`0 as *const _` detected", "std::ptr::null"),
630+
Mutability::Mutable => ("`0 as *mut _` detected", "std::ptr::null_mut"),
631+
Mutability::Immutable => ("`0 as *const _` detected", "std::ptr::null"),
632632
};
633633

634634
let (sugg, appl) = if let TyKind::Infer = mut_ty.ty.kind {

clippy_lints/src/mut_mut.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,15 @@ impl<'a, 'tcx> intravisit::Visitor<'tcx> for MutVisitor<'a, 'tcx> {
5757
// Let's ignore the generated code.
5858
intravisit::walk_expr(self, arg);
5959
intravisit::walk_expr(self, body);
60-
} else if let hir::ExprKind::AddrOf(hir::MutMutable, ref e) = expr.kind {
61-
if let hir::ExprKind::AddrOf(hir::MutMutable, _) = e.kind {
60+
} else if let hir::ExprKind::AddrOf(hir::Mutability::Mutable, ref e) = expr.kind {
61+
if let hir::ExprKind::AddrOf(hir::Mutability::Mutable, _) = e.kind {
6262
span_lint(
6363
self.cx,
6464
MUT_MUT,
6565
expr.span,
6666
"generally you want to avoid `&mut &mut _` if possible",
6767
);
68-
} else if let ty::Ref(_, _, hir::MutMutable) = self.cx.tables.expr_ty(e).kind {
68+
} else if let ty::Ref(_, _, hir::Mutability::Mutable) = self.cx.tables.expr_ty(e).kind {
6969
span_lint(
7070
self.cx,
7171
MUT_MUT,
@@ -81,14 +81,15 @@ impl<'a, 'tcx> intravisit::Visitor<'tcx> for MutVisitor<'a, 'tcx> {
8181
_,
8282
hir::MutTy {
8383
ty: ref pty,
84-
mutbl: hir::MutMutable,
84+
mutbl: hir::Mutability::Mutable,
8585
},
8686
) = ty.kind
8787
{
8888
if let hir::TyKind::Rptr(
8989
_,
9090
hir::MutTy {
91-
mutbl: hir::MutMutable, ..
91+
mutbl: hir::Mutability::Mutable,
92+
..
9293
},
9394
) = pty.kind
9495
{

clippy_lints/src/mut_reference.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,12 @@ fn check_arguments<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, arguments: &[Expr], typ
5555
let parameters = type_definition.fn_sig(cx.tcx).skip_binder().inputs();
5656
for (argument, parameter) in arguments.iter().zip(parameters.iter()) {
5757
match parameter.kind {
58-
ty::Ref(_, _, MutImmutable)
58+
ty::Ref(_, _, Mutability::Immutable)
5959
| ty::RawPtr(ty::TypeAndMut {
60-
mutbl: MutImmutable, ..
60+
mutbl: Mutability::Immutable,
61+
..
6162
}) => {
62-
if let ExprKind::AddrOf(MutMutable, _) = argument.kind {
63+
if let ExprKind::AddrOf(Mutability::Mutable, _) = argument.kind {
6364
span_lint(
6465
cx,
6566
UNNECESSARY_MUT_PASSED,

clippy_lints/src/mutable_debug_assertion.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,15 +128,15 @@ impl<'a, 'tcx> MutArgVisitor<'a, 'tcx> {
128128
impl<'a, 'tcx> Visitor<'tcx> for MutArgVisitor<'a, 'tcx> {
129129
fn visit_expr(&mut self, expr: &'tcx Expr) {
130130
match expr.kind {
131-
ExprKind::AddrOf(Mutability::MutMutable, _) => {
131+
ExprKind::AddrOf(Mutability::Mutable, _) => {
132132
self.found = true;
133133
return;
134134
},
135135
ExprKind::Path(_) => {
136136
if let Some(adj) = self.cx.tables.adjustments().get(expr.hir_id) {
137137
if adj
138138
.iter()
139-
.any(|a| matches!(a.target.kind, ty::Ref(_, _, Mutability::MutMutable)))
139+
.any(|a| matches!(a.target.kind, ty::Ref(_, _, Mutability::Mutable)))
140140
{
141141
self.found = true;
142142
return;

clippy_lints/src/needless_borrow.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
use crate::utils::{snippet_opt, span_lint_and_then};
66
use if_chain::if_chain;
7-
use rustc::hir::{BindingAnnotation, Expr, ExprKind, HirId, Item, MutImmutable, Pat, PatKind};
7+
use rustc::hir::{BindingAnnotation, Expr, ExprKind, HirId, Item, Mutability, Pat, PatKind};
88
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
99
use rustc::ty;
1010
use rustc::ty::adjustment::{Adjust, Adjustment};
@@ -41,7 +41,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessBorrow {
4141
if e.span.from_expansion() || self.derived_item.is_some() {
4242
return;
4343
}
44-
if let ExprKind::AddrOf(MutImmutable, ref inner) = e.kind {
44+
if let ExprKind::AddrOf(Mutability::Immutable, ref inner) = e.kind {
4545
if let ty::Ref(..) = cx.tables.expr_ty(inner).kind {
4646
for adj3 in cx.tables.expr_adjustments(e).windows(3) {
4747
if let [Adjustment {
@@ -82,10 +82,10 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessBorrow {
8282
if_chain! {
8383
if let PatKind::Binding(BindingAnnotation::Ref, .., name, _) = pat.kind;
8484
if let ty::Ref(_, tam, mutbl) = cx.tables.pat_ty(pat).kind;
85-
if mutbl == MutImmutable;
85+
if mutbl == Mutability::Immutable;
8686
if let ty::Ref(_, _, mutbl) = tam.kind;
8787
// only lint immutable refs, because borrowed `&mut T` cannot be moved out
88-
if mutbl == MutImmutable;
88+
if mutbl == Mutability::Immutable;
8989
then {
9090
span_lint_and_then(
9191
cx,

clippy_lints/src/needless_borrowed_ref.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
use crate::utils::{snippet_with_applicability, span_lint_and_then};
66
use if_chain::if_chain;
7-
use rustc::hir::{BindingAnnotation, MutImmutable, Node, Pat, PatKind};
7+
use rustc::hir::{BindingAnnotation, Mutability, Node, Pat, PatKind};
88
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
99
use rustc::{declare_lint_pass, declare_tool_lint};
1010
use rustc_errors::Applicability;
@@ -61,7 +61,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessBorrowedRef {
6161

6262
if_chain! {
6363
// Only lint immutable refs, because `&mut ref T` may be useful.
64-
if let PatKind::Ref(ref sub_pat, MutImmutable) = pat.kind;
64+
if let PatKind::Ref(ref sub_pat, Mutability::Immutable) = pat.kind;
6565

6666
// Check sub_pat got a `ref` keyword (excluding `ref mut`).
6767
if let PatKind::Binding(BindingAnnotation::Ref, .., spanned_name, _) = sub_pat.kind;

clippy_lints/src/ptr.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ fn check_fn(cx: &LateContext<'_, '_>, decl: &FnDecl, fn_id: HirId, opt_body_id:
150150
let fn_ty = sig.skip_binder();
151151

152152
for (idx, (arg, ty)) in decl.inputs.iter().zip(fn_ty.inputs()).enumerate() {
153-
if let ty::Ref(_, ty, MutImmutable) = ty.kind {
153+
if let ty::Ref(_, ty, Mutability::Immutable) = ty.kind {
154154
if is_type_diagnostic_item(cx, ty, Symbol::intern("vec_type")) {
155155
let mut ty_snippet = None;
156156
if_chain! {
@@ -254,15 +254,15 @@ fn check_fn(cx: &LateContext<'_, '_>, decl: &FnDecl, fn_id: HirId, opt_body_id:
254254
}
255255

256256
if let FunctionRetTy::Return(ref ty) = decl.output {
257-
if let Some((out, MutMutable, _)) = get_rptr_lm(ty) {
257+
if let Some((out, Mutability::Mutable, _)) = get_rptr_lm(ty) {
258258
let mut immutables = vec![];
259259
for (_, ref mutbl, ref argspan) in decl
260260
.inputs
261261
.iter()
262262
.filter_map(|ty| get_rptr_lm(ty))
263263
.filter(|&(lt, _, _)| lt.name == out.name)
264264
{
265-
if *mutbl == MutMutable {
265+
if *mutbl == Mutability::Mutable {
266266
return;
267267
}
268268
immutables.push(*argspan);

clippy_lints/src/transmute.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
361361
),
362362
|db| {
363363
let arg = sugg::Sugg::hir(cx, &args[0], "..");
364-
let (deref, cast) = if mutbl == Mutability::MutMutable {
364+
let (deref, cast) = if mutbl == Mutability::Mutable {
365365
("&mut *", "*mut")
366366
} else {
367367
("&*", "*const")
@@ -409,7 +409,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
409409
if let ty::Uint(ast::UintTy::U8) = slice_ty.kind;
410410
if from_mutbl == to_mutbl;
411411
then {
412-
let postfix = if from_mutbl == Mutability::MutMutable {
412+
let postfix = if from_mutbl == Mutability::Mutable {
413413
"_mut"
414414
} else {
415415
""
@@ -449,7 +449,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
449449
let sugg_paren = arg
450450
.as_ty(cx.tcx.mk_ptr(ty_from_and_mut))
451451
.as_ty(cx.tcx.mk_ptr(ty_to_and_mut));
452-
let sugg = if to_mutbl == Mutability::MutMutable {
452+
let sugg = if to_mutbl == Mutability::Mutable {
453453
sugg_paren.mut_addr_deref()
454454
} else {
455455
sugg_paren.addr_deref()

clippy_lints/src/trivially_copy_pass_by_ref.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ impl<'a, 'tcx> TriviallyCopyPassByRef {
9797
}
9898

9999
if_chain! {
100-
if let ty::Ref(input_lt, ty, Mutability::MutImmutable) = ty.kind;
100+
if let ty::Ref(input_lt, ty, Mutability::Immutable) = ty.kind;
101101
if !output_lts.contains(&input_lt);
102102
if is_copy(cx, ty);
103103
if let Some(size) = cx.layout_of(ty).ok().map(|l| l.size.bytes());

clippy_lints/src/types.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ fn check_ty_rptr(cx: &LateContext<'_, '_>, hir_ty: &hir::Ty, is_local: bool, lt:
393393
} else {
394394
format!("{} ", lt.name.ident().as_str())
395395
};
396-
let mutopt = if mut_ty.mutbl == Mutability::MutMutable {
396+
let mutopt = if mut_ty.mutbl == Mutability::Mutable {
397397
"mut "
398398
} else {
399399
""
@@ -2377,9 +2377,9 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for RefToMut {
23772377
if_chain! {
23782378
if let ExprKind::Unary(UnOp::UnDeref, e) = &expr.kind;
23792379
if let ExprKind::Cast(e, t) = &e.kind;
2380-
if let TyKind::Ptr(MutTy { mutbl: Mutability::MutMutable, .. }) = t.kind;
2380+
if let TyKind::Ptr(MutTy { mutbl: Mutability::Mutable, .. }) = t.kind;
23812381
if let ExprKind::Cast(e, t) = &e.kind;
2382-
if let TyKind::Ptr(MutTy { mutbl: Mutability::MutImmutable, .. }) = t.kind;
2382+
if let TyKind::Ptr(MutTy { mutbl: Mutability::Immutable, .. }) = t.kind;
23832383
if let ty::Ref(..) = cx.tables.node_type(e.hir_id).kind;
23842384
then {
23852385
span_lint(

clippy_lints/src/utils/author.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ impl<'tcx> Visitor<'tcx> for PrintVisitor {
427427
},
428428
ExprKind::AddrOf(mutability, ref inner) => {
429429
let inner_pat = self.next("inner");
430-
println!("AddrOf({:?}, ref {}) = {};", mutability, inner_pat, current);
430+
println!("AddrOf(Mutability::{:?}, ref {}) = {};", mutability, inner_pat, current);
431431
self.current = inner_pat;
432432
self.visit_expr(inner);
433433
},

0 commit comments

Comments
 (0)