From b380d35849143143ad7c19547a8f2533d880d360 Mon Sep 17 00:00:00 2001 From: csmoe Date: Thu, 24 Oct 2019 01:25:05 +0800 Subject: [PATCH 01/15] add ui test for issue-62097 --- src/test/ui/async-await/issues/issue-62097.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/test/ui/async-await/issues/issue-62097.rs diff --git a/src/test/ui/async-await/issues/issue-62097.rs b/src/test/ui/async-await/issues/issue-62097.rs new file mode 100644 index 0000000000000..ea482d3667e2b --- /dev/null +++ b/src/test/ui/async-await/issues/issue-62097.rs @@ -0,0 +1,19 @@ +// edition:2018 +async fn foo(fun: F) +where + F: FnOnce() + 'static +{ + fun() +} + +struct Struct; + +impl Struct { + pub async fn run_dummy_fn(&self) { //~ ERROR cannot infer + foo(|| self.bar()).await; + } + + pub fn bar(&self) {} +} + +fn main() {} From dcc14c40eee3139e53bfacd3854af8a5a3d379e8 Mon Sep 17 00:00:00 2001 From: csmoe Date: Thu, 24 Oct 2019 01:28:27 +0800 Subject: [PATCH 02/15] suggest to add a constraint except asyn-fn without explicit output --- .../nice_region_error/different_lifetimes.rs | 2 +- .../error_reporting/nice_region_error/mod.rs | 2 +- .../nice_region_error/named_anon_conflict.rs | 2 +- .../nice_region_error/static_impl_trait.rs | 24 +++++++++++-------- src/librustc/ty/context.rs | 8 ++++--- .../nll/region_infer/error_reporting/mod.rs | 4 ++-- 6 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/librustc/infer/error_reporting/nice_region_error/different_lifetimes.rs b/src/librustc/infer/error_reporting/nice_region_error/different_lifetimes.rs index 979815fa7f184..3d98dd8de8b47 100644 --- a/src/librustc/infer/error_reporting/nice_region_error/different_lifetimes.rs +++ b/src/librustc/infer/error_reporting/nice_region_error/different_lifetimes.rs @@ -43,7 +43,7 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { /// /// It will later be extended to trait objects. pub(super) fn try_report_anon_anon_conflict(&self) -> Option { - let (span, sub, sup) = self.get_regions(); + let (span, sub, sup) = self.regions(); // Determine whether the sub and sup consist of both anonymous (elided) regions. let anon_reg_sup = self.tcx().is_suitable_region(sup)?; diff --git a/src/librustc/infer/error_reporting/nice_region_error/mod.rs b/src/librustc/infer/error_reporting/nice_region_error/mod.rs index cd003aa8dab70..09cfbf850a57d 100644 --- a/src/librustc/infer/error_reporting/nice_region_error/mod.rs +++ b/src/librustc/infer/error_reporting/nice_region_error/mod.rs @@ -77,7 +77,7 @@ impl<'cx, 'tcx> NiceRegionError<'cx, 'tcx> { .or_else(|| self.try_report_impl_not_conforming_to_trait()) } - pub fn get_regions(&self) -> (Span, ty::Region<'tcx>, ty::Region<'tcx>) { + pub fn regions(&self) -> (Span, ty::Region<'tcx>, ty::Region<'tcx>) { match (&self.error, self.regions) { (Some(ConcreteFailure(origin, sub, sup)), None) => (origin.span(), sub, sup), (Some(SubSupConflict(_, _, origin, sub, _, sup)), None) => (origin.span(), sub, sup), diff --git a/src/librustc/infer/error_reporting/nice_region_error/named_anon_conflict.rs b/src/librustc/infer/error_reporting/nice_region_error/named_anon_conflict.rs index a9a2c15d7d99b..43b0e43a5fd89 100644 --- a/src/librustc/infer/error_reporting/nice_region_error/named_anon_conflict.rs +++ b/src/librustc/infer/error_reporting/nice_region_error/named_anon_conflict.rs @@ -9,7 +9,7 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { /// When given a `ConcreteFailure` for a function with parameters containing a named region and /// an anonymous region, emit an descriptive diagnostic error. pub(super) fn try_report_named_anon_conflict(&self) -> Option> { - let (span, sub, sup) = self.get_regions(); + let (span, sub, sup) = self.regions(); debug!( "try_report_named_anon_conflict(sub={:?}, sup={:?}, error={:?})", diff --git a/src/librustc/infer/error_reporting/nice_region_error/static_impl_trait.rs b/src/librustc/infer/error_reporting/nice_region_error/static_impl_trait.rs index 9d405d4ea40c9..33bdf31f110c3 100644 --- a/src/librustc/infer/error_reporting/nice_region_error/static_impl_trait.rs +++ b/src/librustc/infer/error_reporting/nice_region_error/static_impl_trait.rs @@ -20,8 +20,9 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { ) = error.clone() { let anon_reg_sup = self.tcx().is_suitable_region(sup_r)?; + let return_ty = self.tcx().return_type_impl_trait(anon_reg_sup.def_id); if sub_r == &RegionKind::ReStatic && - self.tcx().return_type_impl_trait(anon_reg_sup.def_id).is_some() + return_ty.is_some() { let sp = var_origin.span(); let return_sp = sub_origin.span(); @@ -53,16 +54,19 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { _ => "'_".to_owned(), }; if let Ok(snippet) = self.tcx().sess.source_map().span_to_snippet(return_sp) { - err.span_suggestion( - return_sp, - &format!( - "you can add a constraint to the return type to make it last \ + // only apply this suggestion onto non-async fnunctions + if !return_ty.unwrap().1 { + err.span_suggestion( + return_sp, + &format!( + "you can add a constraint to the return type to make it last \ less than `'static` and match {}", - lifetime, - ), - format!("{} + {}", snippet, lifetime_name), - Applicability::Unspecified, - ); + lifetime, + ), + format!("{} + {}", snippet, lifetime_name), + Applicability::Unspecified, + ); + } } err.emit(); return Some(ErrorReported); diff --git a/src/librustc/ty/context.rs b/src/librustc/ty/context.rs index 0906d9ebd8e7f..56bf8b60a7449 100644 --- a/src/librustc/ty/context.rs +++ b/src/librustc/ty/context.rs @@ -1552,14 +1552,14 @@ impl<'tcx> TyCtxt<'tcx> { return Some(FreeRegionInfo { def_id: suitable_region_binding_scope, boundregion: bound_region, - is_impl_item: is_impl_item, + is_impl_item, }); } pub fn return_type_impl_trait( &self, scope_def_id: DefId, - ) -> Option> { + ) -> Option<(Ty<'tcx>, bool)> { // HACK: `type_of_def_id()` will fail on these (#55796), so return `None`. let hir_id = self.hir().as_local_hir_id(scope_def_id).unwrap(); match self.hir().get(hir_id) { @@ -1579,8 +1579,10 @@ impl<'tcx> TyCtxt<'tcx> { ty::FnDef(_, _) => { let sig = ret_ty.fn_sig(*self); let output = self.erase_late_bound_regions(&sig.output()); + let is_async_fn = + hir::IsAsync::Async == self.asyncness(scope_def_id); if output.is_impl_trait() { - Some(output) + Some((output, is_async_fn)) } else { None } diff --git a/src/librustc_mir/borrow_check/nll/region_infer/error_reporting/mod.rs b/src/librustc_mir/borrow_check/nll/region_infer/error_reporting/mod.rs index 7362ae9c638b1..3a202c66a665b 100644 --- a/src/librustc_mir/borrow_check/nll/region_infer/error_reporting/mod.rs +++ b/src/librustc_mir/borrow_check/nll/region_infer/error_reporting/mod.rs @@ -698,10 +698,10 @@ impl<'tcx> RegionInferenceContext<'tcx> { if let (Some(f), Some(ty::RegionKind::ReStatic)) = (self.to_error_region(fr), self.to_error_region(outlived_fr)) { - if let Some(ty::TyS { + if let Some((ty::TyS { kind: ty::Opaque(did, substs), .. - }) = infcx + }, _)) = infcx .tcx .is_suitable_region(f) .map(|r| r.def_id) From 9124f7a096007b5f96300e61e8f5817df10b315a Mon Sep 17 00:00:00 2001 From: csmoe Date: Thu, 24 Oct 2019 01:28:55 +0800 Subject: [PATCH 03/15] update suggestion ui test --- src/librustc/hir/lowering.rs | 14 +++++++-- .../nice_region_error/static_impl_trait.rs | 11 ++++--- src/librustc/ty/context.rs | 7 ++--- .../async-await/issues/issue-62097.nll.stderr | 29 +++++++++++++++++++ .../ui/async-await/issues/issue-62097.stderr | 16 ++++++++++ .../async-await/issues/issue-63388-2.stderr | 4 --- ...types_pin_lifetime_impl_trait-async.stderr | 4 --- 7 files changed, 67 insertions(+), 18 deletions(-) create mode 100644 src/test/ui/async-await/issues/issue-62097.nll.stderr create mode 100644 src/test/ui/async-await/issues/issue-62097.stderr diff --git a/src/librustc/hir/lowering.rs b/src/librustc/hir/lowering.rs index f2d5f043f909d..effc13c8301ef 100644 --- a/src/librustc/hir/lowering.rs +++ b/src/librustc/hir/lowering.rs @@ -2124,6 +2124,16 @@ impl<'a> LoweringContext<'a> { impl_trait_return_allow: bool, make_ret_async: Option, ) -> P { + debug!("lower_fn_decl(\ + fn_decl: {:?}, \ + in_band_ty_params: {:?}, \ + impl_trait_return_allow: {}, \ + make_ret_async: {:?})", + decl, + in_band_ty_params, + impl_trait_return_allow, + make_ret_async, + ); let lt_mode = if make_ret_async.is_some() { // In `async fn`, argument-position elided lifetimes // must be transformed into fresh generic parameters so that @@ -2416,7 +2426,7 @@ impl<'a> LoweringContext<'a> { hir::FunctionRetTy::Return(P(hir::Ty { kind: opaque_ty_ref, - span, + span: opaque_ty_span, hir_id: self.next_id(), })) } @@ -2526,7 +2536,7 @@ impl<'a> LoweringContext<'a> { hir::Lifetime { hir_id: self.lower_node_id(id), span, - name: name, + name, } } diff --git a/src/librustc/infer/error_reporting/nice_region_error/static_impl_trait.rs b/src/librustc/infer/error_reporting/nice_region_error/static_impl_trait.rs index 33bdf31f110c3..01ba748c4e1f9 100644 --- a/src/librustc/infer/error_reporting/nice_region_error/static_impl_trait.rs +++ b/src/librustc/infer/error_reporting/nice_region_error/static_impl_trait.rs @@ -53,11 +53,14 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { }) => name.to_string(), _ => "'_".to_owned(), }; - if let Ok(snippet) = self.tcx().sess.source_map().span_to_snippet(return_sp) { - // only apply this suggestion onto non-async fnunctions - if !return_ty.unwrap().1 { + let fn_return_span = return_ty.unwrap().1; + if let Ok(snippet) = + self.tcx().sess.source_map().span_to_snippet(fn_return_span) { + // only apply this suggestion onto functions with + // explicit non-desugar'able return. + if fn_return_span.desugaring_kind().is_none() { err.span_suggestion( - return_sp, + fn_return_span, &format!( "you can add a constraint to the return type to make it last \ less than `'static` and match {}", diff --git a/src/librustc/ty/context.rs b/src/librustc/ty/context.rs index 56bf8b60a7449..3985d47abe1dc 100644 --- a/src/librustc/ty/context.rs +++ b/src/librustc/ty/context.rs @@ -1559,7 +1559,7 @@ impl<'tcx> TyCtxt<'tcx> { pub fn return_type_impl_trait( &self, scope_def_id: DefId, - ) -> Option<(Ty<'tcx>, bool)> { + ) -> Option<(Ty<'tcx>, Span)> { // HACK: `type_of_def_id()` will fail on these (#55796), so return `None`. let hir_id = self.hir().as_local_hir_id(scope_def_id).unwrap(); match self.hir().get(hir_id) { @@ -1579,10 +1579,9 @@ impl<'tcx> TyCtxt<'tcx> { ty::FnDef(_, _) => { let sig = ret_ty.fn_sig(*self); let output = self.erase_late_bound_regions(&sig.output()); - let is_async_fn = - hir::IsAsync::Async == self.asyncness(scope_def_id); if output.is_impl_trait() { - Some((output, is_async_fn)) + let fn_decl = self.hir().fn_decl_by_hir_id(hir_id).unwrap(); + Some((output, fn_decl.output.span())) } else { None } diff --git a/src/test/ui/async-await/issues/issue-62097.nll.stderr b/src/test/ui/async-await/issues/issue-62097.nll.stderr new file mode 100644 index 0000000000000..0c64f90cb9fae --- /dev/null +++ b/src/test/ui/async-await/issues/issue-62097.nll.stderr @@ -0,0 +1,29 @@ +error[E0373]: closure may outlive the current function, but it borrows `self`, which is owned by the current function + --> $DIR/issue-62097.rs:13:13 + | +LL | foo(|| self.bar()).await; + | ^^ ---- `self` is borrowed here + | | + | may outlive borrowed value `self` + | +note: function requires argument type to outlive `'static` + --> $DIR/issue-62097.rs:13:9 + | +LL | foo(|| self.bar()).await; + | ^^^^^^^^^^^^^^^^^^ +help: to force the closure to take ownership of `self` (and any other referenced variables), use the `move` keyword + | +LL | foo(move || self.bar()).await; + | ^^^^^^^ + +error[E0521]: borrowed data escapes outside of function + --> $DIR/issue-62097.rs:13:9 + | +LL | pub async fn run_dummy_fn(&self) { + | ----- `self` is a reference that is only valid in the function body +LL | foo(|| self.bar()).await; + | ^^^^^^^^^^^^^^^^^^ `self` escapes the function body here + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0373`. diff --git a/src/test/ui/async-await/issues/issue-62097.stderr b/src/test/ui/async-await/issues/issue-62097.stderr new file mode 100644 index 0000000000000..94afccc06a9e7 --- /dev/null +++ b/src/test/ui/async-await/issues/issue-62097.stderr @@ -0,0 +1,16 @@ +error: cannot infer an appropriate lifetime + --> $DIR/issue-62097.rs:12:31 + | +LL | pub async fn run_dummy_fn(&self) { + | ^^^^^ ...but this borrow... +LL | foo(|| self.bar()).await; + | --- this return type evaluates to the `'static` lifetime... + | +note: ...can't outlive the lifetime `'_` as defined on the method body at 12:31 + --> $DIR/issue-62097.rs:12:31 + | +LL | pub async fn run_dummy_fn(&self) { + | ^ + +error: aborting due to previous error + diff --git a/src/test/ui/async-await/issues/issue-63388-2.stderr b/src/test/ui/async-await/issues/issue-63388-2.stderr index efec160588fc4..7e45d588c6c6c 100644 --- a/src/test/ui/async-await/issues/issue-63388-2.stderr +++ b/src/test/ui/async-await/issues/issue-63388-2.stderr @@ -20,10 +20,6 @@ note: ...can't outlive the lifetime `'_` as defined on the method body at 11:14 | LL | foo: &dyn Foo, bar: &'a dyn Foo | ^ -help: you can add a constraint to the return type to make it last less than `'static` and match the lifetime `'_` as defined on the method body at 11:14 - | -LL | foo + '_ - | error: aborting due to 2 previous errors diff --git a/src/test/ui/self/arbitrary_self_types_pin_lifetime_impl_trait-async.stderr b/src/test/ui/self/arbitrary_self_types_pin_lifetime_impl_trait-async.stderr index bce1900ca602c..91075ffbdb605 100644 --- a/src/test/ui/self/arbitrary_self_types_pin_lifetime_impl_trait-async.stderr +++ b/src/test/ui/self/arbitrary_self_types_pin_lifetime_impl_trait-async.stderr @@ -11,10 +11,6 @@ note: ...can't outlive the lifetime `'_` as defined on the method body at 8:26 | LL | async fn f(self: Pin<&Self>) -> impl Clone { self } | ^ -help: you can add a constraint to the return type to make it last less than `'static` and match the lifetime `'_` as defined on the method body at 8:26 - | -LL | async fn f(self: Pin<&Self>) -> impl Clone + '_ { self } - | ^^^^^^^^^^^^^^^ error: aborting due to previous error From 405866aaa3e8057218ad482ca60e284ea0c9e350 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 16 Nov 2019 11:44:32 +0100 Subject: [PATCH 04/15] re-add miri intrinsic ABI check --- src/librustc_mir/interpret/terminator.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/librustc_mir/interpret/terminator.rs b/src/librustc_mir/interpret/terminator.rs index 4f9e404b2c635..0134c77808b82 100644 --- a/src/librustc_mir/interpret/terminator.rs +++ b/src/librustc_mir/interpret/terminator.rs @@ -264,6 +264,11 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { match instance.def { ty::InstanceDef::Intrinsic(..) => { + if caller_abi != Abi::RustIntrinsic && caller_abi != Abi::PlatformIntrinsic { + throw_ub_format!("Rust intrinsic called with an ABI other than \ + `RustIntrinsic` and `PlatformIntrinsic`."); + } + let old_stack = self.cur_frame(); let old_bb = self.frame().block; M::call_intrinsic(self, span, instance, args, dest, ret, unwind)?; From 44b68116c522ad8870f0a8627550ba1f5c8fc797 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 16 Nov 2019 13:14:41 +0100 Subject: [PATCH 05/15] rename and move read_vector_ty --- src/librustc/ty/sty.rs | 18 ++++++++++++++---- src/librustc_mir/interpret/intrinsics.rs | 21 +++++++++++---------- src/librustc_mir/interpret/operand.rs | 11 ----------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/librustc/ty/sty.rs b/src/librustc/ty/sty.rs index 8f6fc02ab4b37..d1d71a4287244 100644 --- a/src/librustc/ty/sty.rs +++ b/src/librustc/ty/sty.rs @@ -1814,20 +1814,30 @@ impl<'tcx> TyS<'tcx> { pub fn simd_type(&self, tcx: TyCtxt<'tcx>) -> Ty<'tcx> { match self.kind { - Adt(def, substs) => { - def.non_enum_variant().fields[0].ty(tcx, substs) - } + Adt(def, substs) => def.non_enum_variant().fields[0].ty(tcx, substs), _ => bug!("simd_type called on invalid type") } } - pub fn simd_size(&self, _cx: TyCtxt<'_>) -> usize { + pub fn simd_size(&self, _tcx: TyCtxt<'tcx>) -> usize { + // Parameter currently unused, but probably needed in the future to + // allow `#[repr(simd)] struct Simd([T; N]);`. match self.kind { Adt(def, _) => def.non_enum_variant().fields.len(), _ => bug!("simd_size called on invalid type") } } + pub fn simd_size_and_type(&self, tcx: TyCtxt<'tcx>) -> (usize, Ty<'tcx>) { + match self.kind { + Adt(def, substs) => { + let variant = def.non_enum_variant(); + (variant.fields.len(), variant.fields[0].ty(tcx, substs)) + } + _ => bug!("simd_size_and_type called on invalid type") + } + } + #[inline] pub fn is_region_ptr(&self) -> bool { match self.kind { diff --git a/src/librustc_mir/interpret/intrinsics.rs b/src/librustc_mir/interpret/intrinsics.rs index 6117cf4038a24..e43e6c0e43a80 100644 --- a/src/librustc_mir/interpret/intrinsics.rs +++ b/src/librustc_mir/interpret/intrinsics.rs @@ -302,10 +302,11 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { self.copy_op_transmute(args[0], dest)?; } "simd_insert" => { - let index = self.read_scalar(args[1])?.to_u32()? as u64; - let scalar = args[2]; + let index = u64::from(self.read_scalar(args[1])?.to_u32()?); + let elem = args[2]; let input = args[0]; - let (len, e_ty) = self.read_vector_ty(input); + let (len, e_ty) = input.layout.ty.simd_size_and_type(self.tcx.tcx); + let len = len as u64; assert!( index < len, "Index `{}` must be in bounds of vector type `{}`: `[0, {})`", @@ -317,15 +318,15 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { dest.layout.ty, input.layout.ty ); assert_eq!( - scalar.layout.ty, e_ty, - "Scalar type `{}` must match vector element type `{}`", - scalar.layout.ty, e_ty + elem.layout.ty, e_ty, + "Scalar element type `{}` must match vector element type `{}`", + elem.layout.ty, e_ty ); for i in 0..len { let place = self.place_field(dest, i)?; let value = if i == index { - scalar + elem } else { self.operand_field(input, i)? }; @@ -333,10 +334,10 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { } } "simd_extract" => { - let index = self.read_scalar(args[1])?.to_u32()? as _; - let (len, e_ty) = self.read_vector_ty(args[0]); + let index = u64::from(self.read_scalar(args[1])?.to_u32()?); + let (len, e_ty) = args[0].layout.ty.simd_size_and_type(self.tcx.tcx); assert!( - index < len, + index < len as u64, "index `{}` is out-of-bounds of vector type `{}` with length `{}`", index, e_ty, len ); diff --git a/src/librustc_mir/interpret/operand.rs b/src/librustc_mir/interpret/operand.rs index 4d2ccdc20da65..970f76a9d6d7c 100644 --- a/src/librustc_mir/interpret/operand.rs +++ b/src/librustc_mir/interpret/operand.rs @@ -315,17 +315,6 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { } } - /// Read vector length and element type - pub fn read_vector_ty( - &self, op: OpTy<'tcx, M::PointerTag> - ) -> (u64, &rustc::ty::TyS<'tcx>) { - if let layout::Abi::Vector { .. } = op.layout.abi { - (op.layout.ty.simd_size(*self.tcx) as _, op.layout.ty.simd_type(*self.tcx)) - } else { - bug!("Type `{}` is not a SIMD vector type", op.layout.ty) - } - } - /// Read a scalar from a place pub fn read_scalar( &self, From 09180d71fd382c8d0471ff342147d91def3a1595 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 16 Nov 2019 13:31:09 +0100 Subject: [PATCH 06/15] make simd_size return a u64 --- src/librustc/ty/layout.rs | 2 +- src/librustc/ty/sty.rs | 8 ++++---- src/librustc_codegen_llvm/intrinsic.rs | 22 +++++++++++++--------- src/librustc_mir/interpret/intrinsics.rs | 3 +-- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/librustc/ty/layout.rs b/src/librustc/ty/layout.rs index 972452601ddd5..b9fc5f59b7bbc 100644 --- a/src/librustc/ty/layout.rs +++ b/src/librustc/ty/layout.rs @@ -697,7 +697,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> { // SIMD vector types. ty::Adt(def, ..) if def.repr.simd() => { let element = self.layout_of(ty.simd_type(tcx))?; - let count = ty.simd_size(tcx) as u64; + let count = ty.simd_size(tcx); assert!(count > 0); let scalar = match element.abi { Abi::Scalar(ref scalar) => scalar.clone(), diff --git a/src/librustc/ty/sty.rs b/src/librustc/ty/sty.rs index d1d71a4287244..b7e645d55a5fc 100644 --- a/src/librustc/ty/sty.rs +++ b/src/librustc/ty/sty.rs @@ -1819,20 +1819,20 @@ impl<'tcx> TyS<'tcx> { } } - pub fn simd_size(&self, _tcx: TyCtxt<'tcx>) -> usize { + pub fn simd_size(&self, _tcx: TyCtxt<'tcx>) -> u64 { // Parameter currently unused, but probably needed in the future to // allow `#[repr(simd)] struct Simd([T; N]);`. match self.kind { - Adt(def, _) => def.non_enum_variant().fields.len(), + Adt(def, _) => def.non_enum_variant().fields.len() as u64, _ => bug!("simd_size called on invalid type") } } - pub fn simd_size_and_type(&self, tcx: TyCtxt<'tcx>) -> (usize, Ty<'tcx>) { + pub fn simd_size_and_type(&self, tcx: TyCtxt<'tcx>) -> (u64, Ty<'tcx>) { match self.kind { Adt(def, substs) => { let variant = def.non_enum_variant(); - (variant.fields.len(), variant.fields[0].ty(tcx, substs)) + (variant.fields.len() as u64, variant.fields[0].ty(tcx, substs)) } _ => bug!("simd_size_and_type called on invalid type") } diff --git a/src/librustc_codegen_llvm/intrinsic.rs b/src/librustc_codegen_llvm/intrinsic.rs index e1ce7f622e2ef..fb5f457bb3a1c 100644 --- a/src/librustc_codegen_llvm/intrinsic.rs +++ b/src/librustc_codegen_llvm/intrinsic.rs @@ -28,6 +28,7 @@ use syntax_pos::Span; use std::cmp::Ordering; use std::{iter, i128, u128}; +use std::convert::TryFrom; fn get_simple_intrinsic(cx: &CodegenCx<'ll, '_>, name: &str) -> Option<&'ll Value> { let llvm_name = match name { @@ -1105,8 +1106,8 @@ fn generic_simd_intrinsic( let m_len = match in_ty.kind { // Note that this `.unwrap()` crashes for isize/usize, that's sort // of intentional as there's not currently a use case for that. - ty::Int(i) => i.bit_width().unwrap(), - ty::Uint(i) => i.bit_width().unwrap(), + ty::Int(i) => i.bit_width().unwrap() as u64, + ty::Uint(i) => i.bit_width().unwrap() as u64, _ => return_error!("`{}` is not an integral type", in_ty), }; require_simd!(arg_tys[1], "argument"); @@ -1116,7 +1117,7 @@ fn generic_simd_intrinsic( m_len, v_len ); let i1 = bx.type_i1(); - let i1xn = bx.type_vector(i1, m_len as u64); + let i1xn = bx.type_vector(i1, m_len); let m_i1s = bx.bitcast(args[0].immediate(), i1xn); return Ok(bx.select(m_i1s, args[1].immediate(), args[2].immediate())); } @@ -1166,7 +1167,7 @@ fn generic_simd_intrinsic( require_simd!(ret_ty, "return"); let out_len = ret_ty.simd_size(tcx); - require!(out_len == n, + require!(out_len == n as u64, "expected return type of length {}, found `{}` with length {}", n, ret_ty, out_len); require!(in_elem == ret_ty.simd_type(tcx), @@ -1251,7 +1252,7 @@ fn generic_simd_intrinsic( // trailing bits. let expected_int_bits = in_len.max(8); match ret_ty.kind { - ty::Uint(i) if i.bit_width() == Some(expected_int_bits) => (), + ty::Uint(i) if i.bit_width() == Some(expected_int_bits as usize) => (), _ => return_error!( "bitmask `{}`, expected `u{}`", ret_ty, expected_int_bits @@ -1276,7 +1277,8 @@ fn generic_simd_intrinsic( // Shift the MSB to the right by "in_elem_bitwidth - 1" into the first bit position. let shift_indices = vec![ - bx.cx.const_int(bx.type_ix(in_elem_bitwidth as _), (in_elem_bitwidth - 1) as _); in_len + bx.cx.const_int(bx.type_ix(in_elem_bitwidth as _), (in_elem_bitwidth - 1) as _); + in_len as _ ]; let i_xn_msb = bx.lshr(i_xn, bx.const_vector(shift_indices.as_slice())); // Truncate vector to an @@ -1291,7 +1293,7 @@ fn generic_simd_intrinsic( name: &str, in_elem: &::rustc::ty::TyS<'_>, in_ty: &::rustc::ty::TyS<'_>, - in_len: usize, + in_len: u64, bx: &mut Builder<'a, 'll, 'tcx>, span: Span, args: &[OperandRef<'tcx, &'ll Value>], @@ -1506,11 +1508,12 @@ fn generic_simd_intrinsic( // Truncate the mask vector to a vector of i1s: let (mask, mask_ty) = { let i1 = bx.type_i1(); - let i1xn = bx.type_vector(i1, in_len as u64); + let i1xn = bx.type_vector(i1, in_len); (bx.trunc(args[2].immediate(), i1xn), i1xn) }; // Type of the vector of pointers: + let in_len = usize::try_from(in_len).unwrap(); let llvm_pointer_vec_ty = llvm_vector_ty(bx, underlying_ty, in_len, pointer_count); let llvm_pointer_vec_str = llvm_vector_str(underlying_ty, in_len, pointer_count); @@ -1606,13 +1609,14 @@ fn generic_simd_intrinsic( // Truncate the mask vector to a vector of i1s: let (mask, mask_ty) = { let i1 = bx.type_i1(); - let i1xn = bx.type_vector(i1, in_len as u64); + let i1xn = bx.type_vector(i1, in_len); (bx.trunc(args[2].immediate(), i1xn), i1xn) }; let ret_t = bx.type_void(); // Type of the vector of pointers: + let in_len = usize::try_from(in_len).unwrap(); let llvm_pointer_vec_ty = llvm_vector_ty(bx, underlying_ty, in_len, pointer_count); let llvm_pointer_vec_str = llvm_vector_str(underlying_ty, in_len, pointer_count); diff --git a/src/librustc_mir/interpret/intrinsics.rs b/src/librustc_mir/interpret/intrinsics.rs index e43e6c0e43a80..23f7b1acb54d4 100644 --- a/src/librustc_mir/interpret/intrinsics.rs +++ b/src/librustc_mir/interpret/intrinsics.rs @@ -306,7 +306,6 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { let elem = args[2]; let input = args[0]; let (len, e_ty) = input.layout.ty.simd_size_and_type(self.tcx.tcx); - let len = len as u64; assert!( index < len, "Index `{}` must be in bounds of vector type `{}`: `[0, {})`", @@ -337,7 +336,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { let index = u64::from(self.read_scalar(args[1])?.to_u32()?); let (len, e_ty) = args[0].layout.ty.simd_size_and_type(self.tcx.tcx); assert!( - index < len as u64, + index < len, "index `{}` is out-of-bounds of vector type `{}` with length `{}`", index, e_ty, len ); From 8952c8aa42209919c2980e99f11694e36f2b6845 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 16 Nov 2019 14:10:07 +0100 Subject: [PATCH 07/15] ICE on invalid MIR --- src/librustc_mir/interpret/terminator.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/librustc_mir/interpret/terminator.rs b/src/librustc_mir/interpret/terminator.rs index 0134c77808b82..50c4a249c63c2 100644 --- a/src/librustc_mir/interpret/terminator.rs +++ b/src/librustc_mir/interpret/terminator.rs @@ -264,10 +264,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { match instance.def { ty::InstanceDef::Intrinsic(..) => { - if caller_abi != Abi::RustIntrinsic && caller_abi != Abi::PlatformIntrinsic { - throw_ub_format!("Rust intrinsic called with an ABI other than \ - `RustIntrinsic` and `PlatformIntrinsic`."); - } + assert!(caller_abi == Abi::RustIntrinsic || caller_abi == Abi::PlatformIntrinsic); let old_stack = self.cur_frame(); let old_bb = self.frame().block; From 5e115a25ca3799a9232f2c3712ed36626025c752 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 16 Nov 2019 16:09:45 +0100 Subject: [PATCH 08/15] avoid some casts --- src/librustc_codegen_llvm/intrinsic.rs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/librustc_codegen_llvm/intrinsic.rs b/src/librustc_codegen_llvm/intrinsic.rs index fb5f457bb3a1c..4277ce1d1f754 100644 --- a/src/librustc_codegen_llvm/intrinsic.rs +++ b/src/librustc_codegen_llvm/intrinsic.rs @@ -28,7 +28,6 @@ use syntax_pos::Span; use std::cmp::Ordering; use std::{iter, i128, u128}; -use std::convert::TryFrom; fn get_simple_intrinsic(cx: &CodegenCx<'ll, '_>, name: &str) -> Option<&'ll Value> { let llvm_name = match name { @@ -1161,13 +1160,13 @@ fn generic_simd_intrinsic( } if name.starts_with("simd_shuffle") { - let n: usize = name["simd_shuffle".len()..].parse().unwrap_or_else(|_| + let n: u64 = name["simd_shuffle".len()..].parse().unwrap_or_else(|_| span_bug!(span, "bad `simd_shuffle` instruction only caught in codegen?")); require_simd!(ret_ty, "return"); let out_len = ret_ty.simd_size(tcx); - require!(out_len == n as u64, + require!(out_len == n, "expected return type of length {}, found `{}` with length {}", n, ret_ty, out_len); require!(in_elem == ret_ty.simd_type(tcx), @@ -1176,7 +1175,7 @@ fn generic_simd_intrinsic( in_elem, in_ty, ret_ty, ret_ty.simd_type(tcx)); - let total_len = in_len as u128 * 2; + let total_len = u128::from(in_len) * 2; let vector = args[2].immediate(); @@ -1402,7 +1401,7 @@ fn generic_simd_intrinsic( // FIXME: use: // https://github.com/llvm-mirror/llvm/blob/master/include/llvm/IR/Function.h#L182 // https://github.com/llvm-mirror/llvm/blob/master/include/llvm/IR/Intrinsics.h#L81 - fn llvm_vector_str(elem_ty: Ty<'_>, vec_len: usize, no_pointers: usize) -> String { + fn llvm_vector_str(elem_ty: Ty<'_>, vec_len: u64, no_pointers: usize) -> String { let p0s: String = "p0".repeat(no_pointers); match elem_ty.kind { ty::Int(v) => format!("v{}{}i{}", vec_len, p0s, v.bit_width().unwrap()), @@ -1412,7 +1411,7 @@ fn generic_simd_intrinsic( } } - fn llvm_vector_ty(cx: &CodegenCx<'ll, '_>, elem_ty: Ty<'_>, vec_len: usize, + fn llvm_vector_ty(cx: &CodegenCx<'ll, '_>, elem_ty: Ty<'_>, vec_len: u64, mut no_pointers: usize) -> &'ll Type { // FIXME: use cx.layout_of(ty).llvm_type() ? let mut elem_ty = match elem_ty.kind { @@ -1425,7 +1424,7 @@ fn generic_simd_intrinsic( elem_ty = cx.type_ptr_to(elem_ty); no_pointers -= 1; } - cx.type_vector(elem_ty, vec_len as u64) + cx.type_vector(elem_ty, vec_len) } @@ -1513,7 +1512,6 @@ fn generic_simd_intrinsic( }; // Type of the vector of pointers: - let in_len = usize::try_from(in_len).unwrap(); let llvm_pointer_vec_ty = llvm_vector_ty(bx, underlying_ty, in_len, pointer_count); let llvm_pointer_vec_str = llvm_vector_str(underlying_ty, in_len, pointer_count); @@ -1616,7 +1614,6 @@ fn generic_simd_intrinsic( let ret_t = bx.type_void(); // Type of the vector of pointers: - let in_len = usize::try_from(in_len).unwrap(); let llvm_pointer_vec_ty = llvm_vector_ty(bx, underlying_ty, in_len, pointer_count); let llvm_pointer_vec_str = llvm_vector_str(underlying_ty, in_len, pointer_count); From 44cebe5970d3cb0f87c4db7ecbf7fb8c8da2f456 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Mon, 18 Nov 2019 14:43:34 +0100 Subject: [PATCH 09/15] reduce size of hir::ExprKind --- src/librustc/hir/intravisit.rs | 7 +++--- src/librustc/hir/lowering/expr.rs | 26 ++++++++++----------- src/librustc/hir/mod.rs | 13 ++++++++--- src/librustc/hir/print.rs | 21 ++++++++--------- src/librustc/middle/expr_use_visitor.rs | 6 ++--- src/librustc/mir/mod.rs | 4 ++-- src/librustc/ty/structural_impls.rs | 2 +- src/librustc_codegen_llvm/asm.rs | 2 +- src/librustc_codegen_ssa/traits/asm.rs | 4 ++-- src/librustc_mir/hair/cx/expr.rs | 8 +++---- src/librustc_mir/hair/mod.rs | 6 ++++- src/librustc_passes/liveness.rs | 30 ++++++++++++++----------- src/librustc_typeck/check/expr.rs | 4 ++-- 13 files changed, 74 insertions(+), 59 deletions(-) diff --git a/src/librustc/hir/intravisit.rs b/src/librustc/hir/intravisit.rs index 29e3f7132766e..91c19e269a7f1 100644 --- a/src/librustc/hir/intravisit.rs +++ b/src/librustc/hir/intravisit.rs @@ -1086,10 +1086,9 @@ pub fn walk_expr<'v, V: Visitor<'v>>(visitor: &mut V, expression: &'v Expr) { ExprKind::Ret(ref optional_expression) => { walk_list!(visitor, visit_expr, optional_expression); } - ExprKind::InlineAsm(_, ref outputs, ref inputs) => { - for expr in outputs.iter().chain(inputs.iter()) { - visitor.visit_expr(expr) - } + ExprKind::InlineAsm(ref asm) => { + walk_list!(visitor, visit_expr, &asm.outputs_exprs); + walk_list!(visitor, visit_expr, &asm.inputs_exprs); } ExprKind::Yield(ref subexpression, _) => { visitor.visit_expr(subexpression); diff --git a/src/librustc/hir/lowering/expr.rs b/src/librustc/hir/lowering/expr.rs index d5d3ff0db2ebc..929dce7aa0ff1 100644 --- a/src/librustc/hir/lowering/expr.rs +++ b/src/librustc/hir/lowering/expr.rs @@ -966,7 +966,7 @@ impl LoweringContext<'_> { } fn lower_expr_asm(&mut self, asm: &InlineAsm) -> hir::ExprKind { - let hir_asm = hir::InlineAsm { + let inner = hir::InlineAsmInner { inputs: asm.inputs.iter().map(|&(ref c, _)| c.clone()).collect(), outputs: asm.outputs .iter() @@ -984,18 +984,18 @@ impl LoweringContext<'_> { alignstack: asm.alignstack, dialect: asm.dialect, }; - - let outputs = asm.outputs - .iter() - .map(|out| self.lower_expr(&out.expr)) - .collect(); - - let inputs = asm.inputs - .iter() - .map(|&(_, ref input)| self.lower_expr(input)) - .collect(); - - hir::ExprKind::InlineAsm(P(hir_asm), outputs, inputs) + let hir_asm = hir::InlineAsm { + inner, + inputs_exprs: asm.inputs + .iter() + .map(|&(_, ref input)| self.lower_expr(input)) + .collect(), + outputs_exprs: asm.outputs + .iter() + .map(|out| self.lower_expr(&out.expr)) + .collect(), + }; + hir::ExprKind::InlineAsm(P(hir_asm)) } fn lower_field(&mut self, f: &Field) -> hir::Field { diff --git a/src/librustc/hir/mod.rs b/src/librustc/hir/mod.rs index 465673082e50a..17b13dae37fdb 100644 --- a/src/librustc/hir/mod.rs +++ b/src/librustc/hir/mod.rs @@ -1457,7 +1457,7 @@ pub struct Expr { // `Expr` is used a lot. Make sure it doesn't unintentionally get bigger. #[cfg(target_arch = "x86_64")] -static_assert_size!(Expr, 72); +static_assert_size!(Expr, 64); impl Expr { pub fn precedence(&self) -> ExprPrecedence { @@ -1656,7 +1656,7 @@ pub enum ExprKind { Ret(Option>), /// Inline assembly (from `asm!`), with its outputs and inputs. - InlineAsm(P, HirVec, HirVec), + InlineAsm(P), /// A struct or struct-like variant literal expression. /// @@ -2063,7 +2063,7 @@ pub struct InlineAsmOutput { // NOTE(eddyb) This is used within MIR as well, so unlike the rest of the HIR, // it needs to be `Clone` and use plain `Vec` instead of `HirVec`. #[derive(Clone, RustcEncodable, RustcDecodable, Debug, HashStable)] -pub struct InlineAsm { +pub struct InlineAsmInner { pub asm: Symbol, pub asm_str_style: StrStyle, pub outputs: Vec, @@ -2074,6 +2074,13 @@ pub struct InlineAsm { pub dialect: AsmDialect, } +#[derive(RustcEncodable, RustcDecodable, Debug, HashStable)] +pub struct InlineAsm { + pub inner: InlineAsmInner, + pub outputs_exprs: HirVec, + pub inputs_exprs: HirVec, +} + /// Represents a parameter in a function header. #[derive(RustcEncodable, RustcDecodable, Debug, HashStable)] pub struct Param { diff --git a/src/librustc/hir/print.rs b/src/librustc/hir/print.rs index ba618a1da8cef..4cbe0e8099126 100644 --- a/src/librustc/hir/print.rs +++ b/src/librustc/hir/print.rs @@ -1365,14 +1365,15 @@ impl<'a> State<'a> { self.print_expr_maybe_paren(&expr, parser::PREC_JUMP); } } - hir::ExprKind::InlineAsm(ref a, ref outputs, ref inputs) => { + hir::ExprKind::InlineAsm(ref a) => { + let i = &a.inner; self.s.word("asm!"); self.popen(); - self.print_string(&a.asm.as_str(), a.asm_str_style); + self.print_string(&i.asm.as_str(), i.asm_str_style); self.word_space(":"); let mut out_idx = 0; - self.commasep(Inconsistent, &a.outputs, |s, out| { + self.commasep(Inconsistent, &i.outputs, |s, out| { let constraint = out.constraint.as_str(); let mut ch = constraint.chars(); match ch.next() { @@ -1383,7 +1384,7 @@ impl<'a> State<'a> { _ => s.print_string(&constraint, ast::StrStyle::Cooked), } s.popen(); - s.print_expr(&outputs[out_idx]); + s.print_expr(&a.outputs_exprs[out_idx]); s.pclose(); out_idx += 1; }); @@ -1391,28 +1392,28 @@ impl<'a> State<'a> { self.word_space(":"); let mut in_idx = 0; - self.commasep(Inconsistent, &a.inputs, |s, co| { + self.commasep(Inconsistent, &i.inputs, |s, co| { s.print_string(&co.as_str(), ast::StrStyle::Cooked); s.popen(); - s.print_expr(&inputs[in_idx]); + s.print_expr(&a.inputs_exprs[in_idx]); s.pclose(); in_idx += 1; }); self.s.space(); self.word_space(":"); - self.commasep(Inconsistent, &a.clobbers, |s, co| { + self.commasep(Inconsistent, &i.clobbers, |s, co| { s.print_string(&co.as_str(), ast::StrStyle::Cooked); }); let mut options = vec![]; - if a.volatile { + if i.volatile { options.push("volatile"); } - if a.alignstack { + if i.alignstack { options.push("alignstack"); } - if a.dialect == ast::AsmDialect::Intel { + if i.dialect == ast::AsmDialect::Intel { options.push("intel"); } diff --git a/src/librustc/middle/expr_use_visitor.rs b/src/librustc/middle/expr_use_visitor.rs index bb7ac5d8dbe1a..4571f551aa4d6 100644 --- a/src/librustc/middle/expr_use_visitor.rs +++ b/src/librustc/middle/expr_use_visitor.rs @@ -283,15 +283,15 @@ impl<'a, 'tcx> ExprUseVisitor<'a, 'tcx> { self.borrow_expr(&base, bk); } - hir::ExprKind::InlineAsm(ref ia, ref outputs, ref inputs) => { - for (o, output) in ia.outputs.iter().zip(outputs) { + hir::ExprKind::InlineAsm(ref ia) => { + for (o, output) in ia.inner.outputs.iter().zip(&ia.outputs_exprs) { if o.is_indirect { self.consume_expr(output); } else { self.mutate_expr(output); } } - self.consume_exprs(inputs); + self.consume_exprs(&ia.inputs_exprs); } hir::ExprKind::Continue(..) | diff --git a/src/librustc/mir/mod.rs b/src/librustc/mir/mod.rs index 79468b68055d4..b7d0f538db5dc 100644 --- a/src/librustc/mir/mod.rs +++ b/src/librustc/mir/mod.rs @@ -6,7 +6,7 @@ use crate::hir::def::{CtorKind, Namespace}; use crate::hir::def_id::DefId; -use crate::hir::{self, InlineAsm as HirInlineAsm}; +use crate::hir; use crate::mir::interpret::{PanicInfo, Scalar}; use crate::mir::visit::MirVisitable; use crate::ty::adjustment::PointerCast; @@ -1638,7 +1638,7 @@ pub enum FakeReadCause { #[derive(Clone, Debug, RustcEncodable, RustcDecodable, HashStable, TypeFoldable)] pub struct InlineAsm<'tcx> { - pub asm: HirInlineAsm, + pub asm: hir::InlineAsmInner, pub outputs: Box<[Place<'tcx>]>, pub inputs: Box<[(Span, Operand<'tcx>)]>, } diff --git a/src/librustc/ty/structural_impls.rs b/src/librustc/ty/structural_impls.rs index ccac7720914fc..8fbd2e4e6b157 100644 --- a/src/librustc/ty/structural_impls.rs +++ b/src/librustc/ty/structural_impls.rs @@ -301,7 +301,7 @@ CloneTypeFoldableAndLiftImpls! { ::syntax_pos::symbol::Symbol, crate::hir::def::Res, crate::hir::def_id::DefId, - crate::hir::InlineAsm, + crate::hir::InlineAsmInner, crate::hir::MatchSource, crate::hir::Mutability, crate::hir::Unsafety, diff --git a/src/librustc_codegen_llvm/asm.rs b/src/librustc_codegen_llvm/asm.rs index b68ee2cb44d4b..abdd2e3e8dbd7 100644 --- a/src/librustc_codegen_llvm/asm.rs +++ b/src/librustc_codegen_llvm/asm.rs @@ -17,7 +17,7 @@ use libc::{c_uint, c_char}; impl AsmBuilderMethods<'tcx> for Builder<'a, 'll, 'tcx> { fn codegen_inline_asm( &mut self, - ia: &hir::InlineAsm, + ia: &hir::InlineAsmInner, outputs: Vec>, mut inputs: Vec<&'ll Value>, span: Span, diff --git a/src/librustc_codegen_ssa/traits/asm.rs b/src/librustc_codegen_ssa/traits/asm.rs index c9e1ed86e97e0..612bce2d95854 100644 --- a/src/librustc_codegen_ssa/traits/asm.rs +++ b/src/librustc_codegen_ssa/traits/asm.rs @@ -1,13 +1,13 @@ use super::BackendTypes; use crate::mir::place::PlaceRef; -use rustc::hir::{GlobalAsm, InlineAsm}; +use rustc::hir::{GlobalAsm, InlineAsmInner}; use syntax_pos::Span; pub trait AsmBuilderMethods<'tcx>: BackendTypes { /// Take an inline assembly expression and splat it out via LLVM fn codegen_inline_asm( &mut self, - ia: &InlineAsm, + ia: &InlineAsmInner, outputs: Vec>, inputs: Vec, span: Span, diff --git a/src/librustc_mir/hair/cx/expr.rs b/src/librustc_mir/hair/cx/expr.rs index 92c9c702c7a83..f25e4b0ae8639 100644 --- a/src/librustc_mir/hair/cx/expr.rs +++ b/src/librustc_mir/hair/cx/expr.rs @@ -533,11 +533,11 @@ fn make_mirror_unadjusted<'a, 'tcx>( convert_path_expr(cx, expr, res) } - hir::ExprKind::InlineAsm(ref asm, ref outputs, ref inputs) => { + hir::ExprKind::InlineAsm(ref asm) => { ExprKind::InlineAsm { - asm, - outputs: outputs.to_ref(), - inputs: inputs.to_ref(), + asm: &asm.inner, + outputs: asm.outputs_exprs.to_ref(), + inputs: asm.inputs_exprs.to_ref(), } } diff --git a/src/librustc_mir/hair/mod.rs b/src/librustc_mir/hair/mod.rs index b43042f2b1745..78e3a17d76632 100644 --- a/src/librustc_mir/hair/mod.rs +++ b/src/librustc_mir/hair/mod.rs @@ -93,6 +93,10 @@ pub enum StmtKind<'tcx> { }, } +// `Expr` is used a lot. Make sure it doesn't unintentionally get bigger. +#[cfg(target_arch = "x86_64")] +rustc_data_structures::static_assert_size!(Expr<'_>, 168); + /// The Hair trait implementor lowers their expressions (`&'tcx H::Expr`) /// into instances of this `Expr` enum. This lowering can be done /// basically as lazily or as eagerly as desired: every recursive @@ -264,7 +268,7 @@ pub enum ExprKind<'tcx> { user_ty: Option>>, }, InlineAsm { - asm: &'tcx hir::InlineAsm, + asm: &'tcx hir::InlineAsmInner, outputs: Vec>, inputs: Vec> }, diff --git a/src/librustc_passes/liveness.rs b/src/librustc_passes/liveness.rs index 6847e45458a0b..8d7a038812269 100644 --- a/src/librustc_passes/liveness.rs +++ b/src/librustc_passes/liveness.rs @@ -1184,17 +1184,21 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> { self.propagate_through_expr(&e, succ) } - hir::ExprKind::InlineAsm(ref ia, ref outputs, ref inputs) => { + hir::ExprKind::InlineAsm(ref asm) => { + let ia = &asm.inner; + let outputs = &asm.outputs_exprs; + let inputs = &asm.inputs_exprs; let succ = ia.outputs.iter().zip(outputs).rev().fold(succ, |succ, (o, output)| { - // see comment on places - // in propagate_through_place_components() - if o.is_indirect { - self.propagate_through_expr(output, succ) - } else { - let acc = if o.is_rw { ACC_WRITE|ACC_READ } else { ACC_WRITE }; - let succ = self.write_place(output, succ, acc); - self.propagate_through_place_components(output, succ) - }}); + // see comment on places + // in propagate_through_place_components() + if o.is_indirect { + self.propagate_through_expr(output, succ) + } else { + let acc = if o.is_rw { ACC_WRITE|ACC_READ } else { ACC_WRITE }; + let succ = self.write_place(output, succ, acc); + self.propagate_through_place_components(output, succ) + } + }); // Inputs are executed first. Propagate last because of rev order self.propagate_through_exprs(inputs, succ) @@ -1395,13 +1399,13 @@ fn check_expr<'tcx>(this: &mut Liveness<'_, 'tcx>, expr: &'tcx Expr) { } } - hir::ExprKind::InlineAsm(ref ia, ref outputs, ref inputs) => { - for input in inputs { + hir::ExprKind::InlineAsm(ref asm) => { + for input in &asm.inputs_exprs { this.visit_expr(input); } // Output operands must be places - for (o, output) in ia.outputs.iter().zip(outputs) { + for (o, output) in asm.inner.outputs.iter().zip(&asm.outputs_exprs) { if !o.is_indirect { this.check_place(output); } diff --git a/src/librustc_typeck/check/expr.rs b/src/librustc_typeck/check/expr.rs index 0ba56ba5b3ae9..163412f6a16f5 100644 --- a/src/librustc_typeck/check/expr.rs +++ b/src/librustc_typeck/check/expr.rs @@ -244,8 +244,8 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { ExprKind::Path(ref qpath) => { self.check_expr_path(qpath, expr) } - ExprKind::InlineAsm(_, ref outputs, ref inputs) => { - for expr in outputs.iter().chain(inputs.iter()) { + ExprKind::InlineAsm(ref asm) => { + for expr in asm.outputs_exprs.iter().chain(asm.inputs_exprs.iter()) { self.check_expr(expr); } tcx.mk_unit() From d0b67ddc0f8b8f823d300f6d286f0c64e1fc0bee Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Thu, 21 Nov 2019 11:18:23 +0100 Subject: [PATCH 10/15] Revert "Update Source Code Pro and include italics" This reverts commit ea9519bf16f0be137a814a49c9fbaf232ba49a43. --- src/librustdoc/html/render.rs | 6 ++---- src/librustdoc/html/static/COPYRIGHT.txt | 3 +-- .../html/static/SourceCodePro-It.ttf.woff | Bin 84264 -> 0 bytes .../html/static/SourceCodePro-Regular.ttf.woff | Bin 95872 -> 0 bytes .../html/static/SourceCodePro-Regular.woff | Bin 0 -> 55472 bytes .../html/static/SourceCodePro-Semibold.ttf.woff | Bin 95576 -> 0 bytes .../html/static/SourceCodePro-Semibold.woff | Bin 0 -> 55360 bytes src/librustdoc/html/static/rustdoc.css | 10 ++-------- src/librustdoc/html/static_files.rs | 12 ++++-------- 9 files changed, 9 insertions(+), 22 deletions(-) delete mode 100644 src/librustdoc/html/static/SourceCodePro-It.ttf.woff delete mode 100644 src/librustdoc/html/static/SourceCodePro-Regular.ttf.woff create mode 100644 src/librustdoc/html/static/SourceCodePro-Regular.woff delete mode 100644 src/librustdoc/html/static/SourceCodePro-Semibold.ttf.woff create mode 100644 src/librustdoc/html/static/SourceCodePro-Semibold.woff diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index bd2a6602e16be..ba481655becb7 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -697,12 +697,10 @@ themePicker.onblur = handleThemeButtonsBlur; static_files::source_serif_pro::ITALIC)?; write(cx.dst.join("SourceSerifPro-LICENSE.md"), static_files::source_serif_pro::LICENSE)?; - write(cx.dst.join("SourceCodePro-Regular.ttf.woff"), + write(cx.dst.join("SourceCodePro-Regular.woff"), static_files::source_code_pro::REGULAR)?; - write(cx.dst.join("SourceCodePro-Semibold.ttf.woff"), + write(cx.dst.join("SourceCodePro-Semibold.woff"), static_files::source_code_pro::SEMIBOLD)?; - write(cx.dst.join("SourceCodePro-It.ttf.woff"), - static_files::source_code_pro::ITALIC)?; write(cx.dst.join("SourceCodePro-LICENSE.txt"), static_files::source_code_pro::LICENSE)?; write(cx.dst.join("LICENSE-MIT.txt"), diff --git a/src/librustdoc/html/static/COPYRIGHT.txt b/src/librustdoc/html/static/COPYRIGHT.txt index 24bdca6544d6d..af77776cca431 100644 --- a/src/librustdoc/html/static/COPYRIGHT.txt +++ b/src/librustdoc/html/static/COPYRIGHT.txt @@ -23,8 +23,7 @@ included, and carry their own copyright notices and license terms: Copyright (c) Nicolas Gallagher and Jonathan Neal. Licensed under the MIT license (see LICENSE-MIT.txt). -* Source Code Pro (SourceCodePro-Regular.ttf.woff, - SourceCodePro-Semibold.ttf.woff, SourceCodePro-It.ttf.woff): +* Source Code Pro (SourceCodePro-Regular.woff, SourceCodePro-Semibold.woff): Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark diff --git a/src/librustdoc/html/static/SourceCodePro-It.ttf.woff b/src/librustdoc/html/static/SourceCodePro-It.ttf.woff deleted file mode 100644 index ebaaf91de0667d42e962e28142de3c9070ce0750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84264 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 diff --git a/src/librustdoc/html/static/SourceCodePro-Regular.ttf.woff b/src/librustdoc/html/static/SourceCodePro-Regular.ttf.woff deleted file mode 100644 index 117c7e5142c3811eed73b9321760132160c526c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95872 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 N>i-Ak^d1HP005RYhx7md literal 0 HcmV?d00001 diff --git a/src/librustdoc/html/static/SourceCodePro-Semibold.ttf.woff b/src/librustdoc/html/static/SourceCodePro-Semibold.ttf.woff deleted file mode 100644 index 270873a86a09b98551ed36397921ac4c9ecaec8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95576 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"`*vG7?N#y7k$BGWmC=~3^YLX1Q?$V;I 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%0AbsTq* z$=%MFx#8@QiTrbGspHu5eZ}WTVG35$d(&~D^kQ>Ykwv><9#N1L$7n{-ZpFyoF{2JTvV4oNzzKnB`ms+r%8i4A%-$10Q`FGQ@Q>w%p$~gZfR5SFQ#yiA3 zab!gUA8VWl$UA;fYr2wQfqu~v4X1{At7pxKS3r!hyX5-WB%wc-UC#77P_(c^fV12F z%xFB4$&9DHBsYJp0JT6LG?Ld^L{d8&Jj)iokp35P(Mt4Xq>A9swp3qY4!T+I6k|qu zS|=-yx83>d!$9c^t>sa1jZcQ`g7#R*JCgj$H0u+o<;s$*I4%}9TPjb>3v;?5XG3Ii zn!X)9#VSG69;O6Lw762dinaMr5r;ySi{DCIAuZmhuJ_?Pbp*U8wmF)8fOndp2ycnX zMgJ9IaJRfYz}h#ETD8*1zebi+%GND41A{Zxu00*{&OD#H!!cT#6`z+U+zOfF zBGbc4O~uHUp>^VSqRxv=3)$rfa^D>M(X+CzZQH~V*Xr2@&vI2)s@C_m%|dxv_Epu- zge5N1#TN#8Mekt#x?nn(NizXoOo@{JHt5K90(Vv=VEk#+ zm6Aa^{1(BGkxy=e$aq?le+eoBITzX)pu$}{rWkh?2FF4x(2$DZ8K-|{ir}yR0U#4y z$gyUxP|xOJqAC}*EE3KV7cu+-UD0ipz!rzu7J4nS{eLLh0(deg__k-c`l{#Pyd;rJ z?&z(!XlfnGrgn<8V^9$%KGe!-)xy54s;;+ZYHpQRhnup z4L6^Gx@QfKulU@K-8Qy}+49?b-{a9N#91hAkn*6=hjBJEYDETyI$ zC0itS6f403S-#%QRi~UTJcv?uDcwB-i~w-qR^XE(Ujs z`y@{A2(cy215xHA*+8yW6@n=pe+`SmJ@>4qiidjsI1=gMP=2!AnP6F*zb@3^Y1UrZ z{S`HUfWz5g`LTDGlW&zhtnKm)XUu}bN%!MX(vg#bz95di z1T7d@iFa=FJ+~6TgLoY8#`3q-`OiiG*Wt;ZjSPmhIzUUW*J`#vzF`}0c_MbUG%1wG z4I5AVqI!vX0}@8Iv@zt1UO+u`qp?-e8xuuHPyWQL0lJ(CpL5v2ParAwxbA|%Q)Ku+ z@{{s7>}uAsPt3@Q1U_0kW#D)0A|3x6!3xMnM1@p2umC13fiPbZa8hHfx&Z zjZ5ax5gah!Z>_27ppN5OzLv)Cf08U2ZfbH<&Po@h&%m#Tq82JcRz@yU>RZhf%OIsG zz0)B%2*`cGnAgIx=}AKv^=+HDQ8QlijpsxuQK)kxTqXy>uBiTITt+`THATM%Du7Ur zOP4kx)6ik}blQV=%oh1zr9ny1&R_V;G&BHq156wz`xJo%=W~ZV)`>gsog^3Y)-HEo z^?AmGgu!r=%rc6}f;%CfP4&0x^xHZ!_aukoopP@%>@fzA;OE1nHr1umGY_B($^Eb%> z6JSi+8z7p$-I$6=7mP|NHNW;{ZFYF^mcU2AjD&uyhJ&6ADwtTibYdwR{n=pGKK~1T z^mOFpY-^-S&Q#>?xYWi;Y~F2XeR3$ZlJnLr`nfPvSG$}&nmp0|{q|+-+u*1_cCm&T z0sU-?6)q&HSiuM{4eWt5KYSST_6yD~#zEV2JeHz z?+(-{uO>uBHVE>Tvv=zox9a4&^h_z8qV8B$tO`U)0wTGHK#(pra&N3^Du}1XMF{>n zLgzFMx2Ey)jS?t>cR+{CKfZt6-7VCN2nK|$@etAyOt4xd_$L=6Pvc5U;j+SB zz74`Ij*4+5wg+Q86MaA?x&Sng9Csrp%t=BIvx(JOMR=m){Yr&^2W zH{eRPnV~Nr@Hpz>XjF|Qi9Z@FnEk8L_AoSwvej%|D`sy|wMe}CR?o1g z7*a1liRf@Ru`V3*D}^D z`m^V|5YU|AbZm~T6>ji2u@#AV>RO9zQRm0_nnspnvVq?4Q%1v0+QUrjGl%EX)!Bma zZ~XCRIwymRzXHsEQ72A@vRkYcjHCZI@dKsGRC$lbK?WT~pC3?T#lo8mzHM5*Mc;M= zz4qslL$@&JSnYPxJqST!0F}@(1>ET--wDpqI3m zq@z?vy+A&=4!Cx+7h@s`rx7PRNl)#FA&tZbms-*8pJ&S#&ARzKCOw|RnMQElf zAFJ7YJWbL{mcAq$W@Jnlo@z7H^K1cT4nTQ!lETG*V)-smld+xP)0C3q-jATfP>QVY zUE@6N+Iy2{@Rfs4bVM-r7Q-ZUO$Wqk0GtnycuLyps&=Rs*SbI8?t~|Hfvw>X{3b-da<~-?uCnNSKp5c=6>7({dj13 zT*{x#ublJ#)QaNz<>Dlsb?2&3j}XSk&Ja{*G)XUwu?zTFQc0q*F?rIKawu$HcF$Vv zj!Xa3Ke@SEE0ML7b}diRMPTsv98Ho|>HdyAaX1HwlY_= zyK>AkI|}9VJ2dgiRJ8V5yZw!82Dao0YSyDGV&#T(mSRl(2jD1<89LE5=O+L#LHOvG zDQ^9;p$WQUT^dpdOXx{pKS>`gYwE_#FJhV89EDQ|EH(`x4v!w2@MeCHM zdaB_F|CKnXdV>Rm_oS1tN$sfwq?I_@FFJ9A?2c|0_XRdRPV(+!B?EF+ne5Ogc)SlB zX&RXt70b>U6UZ@zuJ5(Q+o1h>BZ=hi@k8f%L(YX{#*vGi`1jIb#j*E~;bx2_u*UoGu%a$^r$xzD+zOdA??8+lD20F7yHbgD zZn&*#7|o#ax6pI>DBEXoe3}&G&xAd=XL(dq@>s!Lu0=iM@(jh`GL=SpKwm1FY3_-; zMu@r2(B~Ov4WnpAZ}7zxh$>fHmZ7WMUb|9$o7sa>ruHgGmI_205Qx@D{>7@k-&G+lf8>)g()+cYtD|n=VZRTrUI)t>Vs9lo2`4v-63M;6>#jm({T_H9Y&? zDbYhbT;yqI?BqpOyaDV**8+iDIG; z#a>DmOYe%w@s0I&(R2GT2CQGM(~*wad$S!oso{@APi7TKGAW>;`(ysaZymB86-_MZ zVW_2uUrPcloQs&@&#@+oia^}`>9YC_BRuRHPO7z6lcXPvIU3Wh>mD5o3qLD#ukKL0 zWvSAlU$hVaHT90@euA+#jfKf5zv*|Et?DV6@&BUUt}71TH8aZ?W>6!p!r`+?Uy2?^ zHbA!QqRxBxbg^xT-bCby`6%6p9!qziOsM$fXl`F|CSEgxbe)`ONz7iRLf@SFfG>L`dVVQBU=Y zR@PFqnaihTU;!ffh^emn=Y32}^GJ{2;-J}$86~+s#4DAU0}xM(($9ylYOU{mpEL3c z2jNb2FWL#GI_i%F#Rz(gVpHG!v~$L^F5HP6MA@n{VRsJ$YI*o$N$EG-5VN9V_g8I; zWg!+pk~Vy}JaE3LhU_eTr+hHLkoB(S$BXdpffzuIle z&BF|xUpw8+z{e+x0l&4Tp9qF1 z>|zolyyYs>YO-1QY|wz(#;|2ajin-HDSZB9rWIAIEfXTT*7)GbWro3{w?8Kph$;`) zm8amYmh-mm7Fl#uW6s^b(0 z#pz_mM1zJ4S+7~1-}1pMKTSqu%kid>*GV=FhgrPRG>#kg zSvjC#96G$~{SZPXd1lJg`*YM|8D~Vs9A!aAezvWWTNy=IPmL~bSCY5uF`7}y)#lxr zhMT+oQ*TmH+@(Es^z5-+yi}02U$n6K@UH`8SisM(6Zl*g(gY>)Txvcs0PSc*cPr z4TCIE<+&YW1}2pI+HUm<;^!{c&c~6WPn`CLo*}_8tSMSD>U4akP>kIQj{5*`=++L5 zDu!%f+%HtP{w--L9s}6PPYeROzY~#AIBZeytzIdRjs>ps=v;SdQs+TwcH4NCjfx+a zfAP!8qh`(w)*3-*oQTqa8MBzI6BnwMPq%chJ>YRbO$hU#e`YD`>~>AT`cDq^Um5_i z?t3OWCm1Det%PZ`*X8kAX4E#F=!3h&?ylx>E0(UtZp?2 z?56CZwin}B#ig9<-}8bq>H^*)Z{yD5_X-|Sbv%MTf)w3gRKuCs_}rG{?E_LK%%QubI;!N>8rX@$GgCD23E9#k41zG|!|0gGAEHr06mF z$J`TnSrmh`odpFoK3!jLu@V9{J`MN=ct7oN3(|gaz;yUAgx1&`p z2O75Ivgh(n$+n+sdfybYn25qt3KoBcmz=>|pCn0s)z+Q6asr z(R6z@L?^cbZ=FTU5)fa9H&4o~O~pw_|7pB&z#h5yf>k88nrKN-Q(T;I zDj?W81j>F}k38>0==sddq~|gO1XB_^VBdM$NcHrvi$cz`rguZ9MKh7d@Co0s?Nr?% z2pGJ|UrdQgBY9L^gfBHl=?ZC+F$y`5q zUpQ@A+lmwm1z)8Pqa9u%7zkm1QVYVwhzGT@Lum7m;6~-nqIm-}w9`>$Yv+n=%@GN3 z`*n1*La2cvT$J{wp%1s$6hKxK7ePxwqf9CzH+*-zN@aHf0lst?GYrryPX4tke{j?LQ2Tv5 z0yd)5e^aqE6gm|`=MXwTgo}+7fd!gSlFiO_xLNw=A_H?GhVw|F*dz~@k%77Tui_kX z;VY1_Itn%IiHq)tc>HZPm0 zdr}49rT{7#S}=2!W^v?R%(Atpv&tDQ@V}|*tZ`)f+RI;rLBP3I-WeHVY=Y$iYA`Q% zOQO0sEM9|L^2kY(U>OTlPic+V1uAKK0#$RGM2h;$l_mFNUp;zfdK9KJ)9UB^h@DNO z1WAuMc~plCKbYPwdPI%PiVC-*9xq^#PH@M=0QLxa&kZ;9;Mi3dRdfxC+29e%P}kNt zLd+Qvx!XMbWJs;!GOItavKW9*Wrr^+fr4*J>tMp^9`e7o2?8rb&mNBKIU4aEM+d0|qY*TszQ@%U0z zjMX>9nDWix9P0)&@r|?M(*P`&rZt?M@XJdjyVfJz5D(`$kfkwOm}mN=!U;@3t+VSZ z1^hM&lr_H3D)TZ^hPwr$fRF~~n)9l_P!K(s+s*3b_!rKv7-n=V39b+AFh{fhnBRkb zqi{#jJmPYKpgIP-9zYGS-v5&I4ANN7+IV^k7V`Y^Xafz_^_*79Y9q+N@VDlTHMSn4 z^kstu3HJ&{irRpEA^Io^_pw{miOw*9ouEEF`(#W6d-jR_H=}`CV2_+-kJNRZ9)DYQ zXDEpo;JUh34HY)1_vVQRp8Hp0WHk>ne;RX8gVWi)+f)qrIr?H9BivYD>+ax{BQWLk z%A{$Pf!M#0H=@Yk(M&DX?yglA#8Ck#lzu{YhXq$U>u`4KM8ND>#MW_6xi$e|>pR}# z+QjK~0M|95w4E;~h(f1YFb%OiMjEo;xr`O+`n8Ut&vqLi8i$6}iCG)bny{!0tdRpy zinhqi0Tjzrch$wQZNJKIT#y$ znPJQR`)vDa#z^Xv9Q5z9)kS>Wh&;)9UxX4(NGnpB#hNtClz1*TNr=k7PM|-S? zi?!8?_Uuz6l-qm;E?Xm#WMR*aqg-PrkvGd>mDw}te5-S5oExK)(3!2*)SD3-HtNIc zz@Lsnlruz<0x#z++J)&Am~(U3Zg00Vp<_dzl0+gk7Z46NRnjcFy#6NXtrgNn>$f(Z z^lK{`FP8V;bw^j`a_t+B^K}cy`MN4z-jnL$VfpPMshq3&-Qrnc>A8B(5YQ~34eI)* zgS}!prhobmgVycw2~{k1w=BFWGlq0ZySUphb2Lc=Mgi@VD|T_u1s)Rd@8J!}vcGM9 z&~AfG>ujiNH{4`Wtd3o`l#77lK1YPb9`~-0+fvN4m|X(U-U>0S7?FGhPE0dcPimv8 z*o=E$iA{kz@vVpwnR?Tm`t|AkVqF*f^t8T!$!1e*s{8Ln*P?^h*Ep_P|KCH1-CA=% zB2l&Sp?$Orv$F9LRH6tJ)1Lhl)LmZ@FadwWqew%$j>f-S_OGP zF|ebK5+6&b`N&5YWFUSCl*o9lJ5K(G#?I0Sh)CUN_{mzrKgWaTJgJf;&F9P>v=`+@ z1|ZS*Ul+|kru$mhlU`HrXAtUWwW{Y#9)u!lvMw5y;`6H)`;{vi>z$z4=dfUnF?>hy zmdot}7pY+KU`iZX(mk1(A)cV=4+5rW-K0~OHfS7$qKIpaO8JV6%b*stiZA==2h}JUh4NPr)l-EUiRnv)BSlV7dUeaql(Ih_aM9BRrEvh zOF{kS2Y}&=)K}>(nUoim{OZiP?^Oqib0W$S77<&>?bd7lezBH&rsJQy?*XWU&dB{8 zyGCM!MjB`Tiy11`9%nyil0o&*Eg^Qfd@&(|u5f!Xvb2nc+=^ULFpink7Mh<$wftMa z5L7awR+qPY1;!4Uvys4Q|!pK$7FFWeX4=3W_lG~jBsC4F(ps-!_qHRL!**hEEayqY*+Z;8R^>g z^4<~I;mgTIUQrtBL^UBj>)3XU45DSh6u*qri_XjSlDPrM*%L$~4W^!cLWVI4(iq^i zg8&7iOGjnf0-fT^>b`HH)d$ra+h}U2XlW0wuG6kl2pp+&{!qUhBAyG7WNK~dxsByT zK&C;TNZld9W*yF0JNk*@WNkEqGrh6erx&gOK(l?bAa8$E+DcSD9A7Fe>5cGrd(_zD zb(f_~a9+DilquHoHm<@o6^pRa?;h0gwCw%EMcOH118yH{E|5S!K6ac1KwDL_KBz0- z!JL|qHDnx6m}FjYt{FNazsUmuaa5Czz=JAwxbR}(+w;mLva&E+mIIFmHe+_IVU&}% zSZMJ2Ln*pmY<(>)1??fmMw zr9<-uIrrn$`k<^ZH~;V(y7UcRR1jJHnme5gxdx0Qp>kIVoe$49WTQX0HL%zi&u<}c zFv@UnZ>wOHUtde>fk=deNMU%09X)>BqV&flu$(av{btP0ZR_p=0Z8-&I-}pQ`xZsa7BUj=#yk76rwr}@PHBl-@N&~%P{N0pMQpQW(ddLNDc0HBHHWyBL@mVSiynQ+Np*$dg z>tQSeK|$-I_@P0+4{B`;d9wgIWB?yBx)k9NPm`!g8tSzkBnLYTaZ|8$fv3H`Icj`? zI$~J1UT!`%%Kg)lD#ynvM9sX(RmH#>eavCB|%jWhiw z^i4Bk2tov9ULl}?zYHs-&m$kYga?WH!^)Dl9ivxSGG>Xz1Ly&+yPYEx*!lHzmqY&| z4}(H56_1-QlQPp=uM!i@u2%{22%#OT<1RH7Yz7v3uSd#(M$6Kw@yY0t%5UT#O{DQb zcwH!#yzGzqCX4nIeFy2BI++XAk<_et;s{n+V{YrmqD!%KuFqgf8Su=}MBB%fU{z_! zln}zKVE8ylKYZNG%EaYGo(Y;tzuA!`d-Z0q#hkE)$BqJP9RvnvB;CYDuD9z_CK%tt zC815*`1ji~gIf-2SK$zBw3JBMx$aO^=z>S5YNT(m?cu1M$+Z4cargCh(*pzBT7bmR z9!)s{Md%kumP2J&5e!Z%YRpP<%wb4|NmIobJD3`&n<|t7@ESD*y9V-a`YE@#$6j$!Ts$Olp~`PM=18}!6faNG+UME3!3ccEtBbIfvF;UmRl z@%!;E8Fy{Sqkp~MV$BK zSc{(@vV~al9H9ac3hEQvP@4JWj>+gU2ta>*^M+%$>~=y7iC3Wb-WliAb~9pN+x(C}?+ z0@$*;It6(9JS!R^ntft>1YJojqf(BYuDs5dEz;9l?-yq0x7yGm-=)Q~-tlv*=Upv2oZ|Y^Z*-ZN%3tKa%xXybpxpllq^vopIrg}xQ zTymjOn+UQpUV*3+I2D>|z-m%x7LxuaS`wD701ONCBt;qm-Z<#1S--j#$eKXYdz0+g zpjBE~*=ce$q$!BjxkiH z`f#m93`-T-{~B1J)u2_;#rfC{z}MA(UIXmB?FDciEPV`UYdb^_8wWR7s@OjHjjy$~ z<}NLNTe~bOr^&=bMYMGz#xwWIVR5!*AuhU3wWfRKD~1kD!dhH50F)bSQm|vtHLO@u zUTYj+9%=8vRv&4TuT~y^A5jwp41RAc zU33cU1f%HaLu;bw5Yi=4wLN7|T8%L8EdiI35nBW+|I@eN^RYb0D_f)AVTu`zZQA=3 z>qno>=!_ayk~g%W$QoZWDE!+g)F4ZA4V!Ec<9ja~8Yst#!jTaWQ&MLl??YZ}X1=Cg zWDQ|p``PPr(PH1NNxR$*W7z8Rfa9{q^23Kmx7%C&e9O%i!akNg(rnARPR6jfZ>E@) z)lqsRh9RG<+buX`j9Y!saik$e=-ly4&LUS?j~lEe71TQ6>^ve+uwzQBtW!%23nC@^ zhH3-qaT#!X>mf={|3Qo>+LVJ99!G1aq=9-4zTSWVlw| zF0h;ob=R^j+a`T22Y4XS$qp1nK1`*31)spAn%KfxA#MuJgP!^165(v0KuX0{enn1~-B7+&36P(Zq&oUEZF(s17@qDqq)A+(ec$Q#k5M052K`7}PGrs~6`qI2dLSoT2(eWXE$p=_7)okyR>aPHY|-gqP@SYz(g zU6$Wkjvs(QP@QahR}d)&tOM_pSV$v#WZVdJYfZY~99{mS)g&`Ld9Q?2}K+&Xs| z6HIix8*%Ma*3uMU9t(?|ZPwS0>a@rgZ~*M7U-sL8W@1}IYmOu+`4spt<`UuaOU znkJDb<|E)e_-#_1F2z5EC6rRENu`%!>!T(8l{lb=cnxgxBE5lU0Yx@$hrAgc`bzFs zKhlohmbxHnl~BTjaJI{@P*4{bw*B%}2N7;Cr;>WW|hW1eMe!>0{?CB zUe?oQfJw%*JISPk+~<6SQ&_byG`;~EML)RkO%`fFRtr1EhUGdr&xwE1%67!za+czp z6x)zDMpHr{qs|$(3xAS9GDyo;E!65()(6<&28MV!c7q@%*;T7(%QDlJusoD-%ZsRf zH@0O>0%X#xu8dCT@jkUyj-#Z{=lqTNrp_o6FeAIbL!;#lR$!6)1G8Y`jZ3-$o+V`+ zln?Nh6h0-TNKOz)kYS$xV{F5vpHbl=yYcZfc5lbl>PmDu8Y8lXqe_x&pG-mi(nPPf zvi9)s_G+fvr|yaKUJv!IU-)(ESCDjU@$snn$lzq(C(2D39&K{9x7Xc1YDZpv(>QZj zp*T#WC*F}2+%w0viR*ztC)25zjCieiwP7Ukh(18K1(0l%4Vp8g*(b!zN6-J;Y)eC! z?9LBD_$q_t9oucb zi@QC@{&Od;15&#gszahH+q#1yUwcWR9B*w|8Ta}eR#D^SreVHz8fK%BpGQf1Ohj~o z9B(syLUmX*h38BEw30sl;%-0O`89f>#;G`oH)+T_JNPvVL&!g#9WQBtQ+>Or)?ra~ zQ}AvEvkZV80ys~Fx!%F4=*Pq8-C!Qb4L`+EA>>Gx2jC}5@W(wt8zUhLGokKi-F0{- zdWC1<_Gf?!gWuyYeGGQB42YZcT&LE+ zNa?XG40|p_=VpA^2FfrMMyEVGml{rIYqgOxr4~qumdL_=bkM9SP%pCq%vL|T{WuWB z1*D-j00L}#o?AQun1L9^TIKHIKFTo7EjHI8En=ljTlIIz6AEsE`0}4XM7^1wayP^F zXU*&CX4fuuU&VB110650T{7@AY#m<1v|-n*zrULRWVhBeHY|?58|EnVGc|lAG=-(B zWfxSe6)(D*l;;=UG1n{1&Vd9q-N~g0&AI*hUc-34it5Ttp(boGuitF6n#8ioNZC2X z6B-r$#ztOs1?DyZzI(W@K9%F%6swaSuIk?}bzAZ?NE=^eoqDW{P_bX#3suHJq)b)$ zeXC0yx2YZGmbcoNV|+W8Is|+z(Spq`wo6J?imE?aJor^*&{bqCb)Of0Otr@^XFc-D zpU|zjR~I$%szWoc-!VN@hnBS=cr$SecP1t?*VA_ZL!$XGLtvQcyRD;&`A1~C1)mz1 zgg+(hJ^G2wy{LqN0@hd#Kb__v*taw0T6HC1&8TFg(W=Zht@RCKMb7^W-||>fZe7h>~U91r=w- zi=BmKEyWAoITg+S|Na!$Df+9!Ivf1}Yy_V=_ax5RP^1Jv6y3xBa3V|rrr7#l@X=lS zUK&o3MX;){|i=>!Q?cjVmsO$(fnmh~#2a zqh(=wIlo|)v%PXEqqv(?T^&(GxUm7rcPx{mEk*EIH?wLdtF-DO;!AuU>FquLzx_#4y#Suad@#$s5g!gB?#}PU!E8)S zR|YNY_6ToF{^JmqJFj&~2%A@SuhKlinHfwSv6y(d8h&PfM@*+^y3)TjmUqf%S|{g_ z{A}}VdGR1RU}^!kt$B8Qg7-TYenN2yMtC+kxm2loGQ}}Aj#ue=U6iVS4Bv4*`e|w* z)K(z{O`fNpGS-glq)Jk+x>8rptfSdaayIv(=D$y-$z*hzzW@C!=;k3Qerj+{K+W7FH34N>|7vOBTBFh7R=s3O0o@vc4@!J+EFSy+z=0SnD zhaYBrkY_j~{YFxaz6zTbXY5B=!{waDEysj3d`SIJkMI1ZeEisPh_v?#X zj!=%T1JFnu?uv(d!-$WZ&F%i4v0$wWagP=yT<%~-+FU%MmBo7V{ti(%3*m}70iJ&0 zJBYVI!5iGce*Hl9TG_jSbei#?HoFdFQ>E{ha+RA;%UDmc#1oLd5-Z6O+MZsuX$y!O zaIW-mIoL{s%aA*=GNjAx)lFV=JuxU$dfU(bU>Nya@;>D8E&idLmCO4hWV!_H!g}3Vi7h7k zy1k_JB_n4&6@&QWu9{iX`2Nn7I_ISR-LbD}Rl-E$)Xto71}jJVuNLW;4qYcAT1SF%FqWbA4a7ErB zpO609IWD`g30}X>sy^N5eT0iU?cp&Q1qMm%B+23>B=BX;C{e1C8Y=`5ugKOGVPMe9 z#!;`&*GAvzZ}Y2E-B$)qu09Ex->W^kiD5cNKe)ctd}6TjdM5Ig(^wG1$+q5n0Gxh2`xiged?n3b#U#Wp;zDxKuy6nZmfA1dGV?lNdtUTrnJKbE3|w#fw;g6 zbBKK&JTkDrBs4epWk(OZ9lCEW@aqdqG!RsE)NWwLtykF?9N8=GcTA1?*JsIU9Bz(m zbnZsB%nc7~P6qBY=3u7hpT^6jg9_>HquH}%Q5KA#7@7107Sd~!Zm7Ryi`2SnZK9uVDqBP`l&Q}2~Y zRcPvkw@I%vcIx&bN^}Q&(N_eB3C;u>R`frM0f#|GvQ~$NG zC9G}LigUBamYPc5y1v(7t;{gYUOAC1&e z4dSq0GSx5%OJ+)lalX1SJY?LB>7;fCSE?hTF@4f%E*bp#rvMgR+wn{Zmf?@HFUY|L za_Y@GtCtCWx)vK_*G&yWmPAg^xzOifG;2?Y*oI8Vcz+?ad z#b5Sx4|d@&R!7kEF}LiX36&V%i+nCgvrBr&5E(_hb5s;Rk;NPs;ZLql*FfMCw zB(XUg&g<2UDiwseGG%a>Kp0|}WhYC7PGf_GC-YnW3FA#3g5q6IaEirQl}kn{>5>~3 zSJ-CF+7G3J1IU|?DpL+oiGe)Ldw`FTYC|*lK!rd_Zm!B@8Y5tABugNilvcM@BBx(J z;oc`3n)tdiAnzar9Go95r>)E`SROU^BuOemn%rZJxR2l-Z*O!fz}%0`E#BeOFDCwl zMnQ#iadq15|3f*~u6TVJ=A>)^H%z^DIp4p(B}osKFh?h-KZ&tAeL^C1chS-oNwz~u z2KAU!zX)PibcwpR1vP^!%;hr@p|-rkiPkxm6%op`f2p_Po=nP^k{F4*%&z4lxd&tG zt2lP8!QoZX^_(ua#As@pE3J)W$|faz9Uz((gm>o!*0(3B|CI?&E{5hs(O+t^N^`uQ z4_1(;6w%I}bcH%6h!{dR6m3P&=}NRe2?KIv&I_mb3+Kfaxa}-Bw|@+^{@4$^fxe_t z7J9fYGSq|586}sxy3+Hg#F#(!xebFfV?>+y&~mwCPanW!P_O00yXiOY?_^;(6AkcG z`#2~5KUqyM3$ga750zPB&O7l0)-ifX^-0bche2ou`kjNgo&3xzcHFG8l zKywuvh99mf`1=0jQKH9cVP(PqmFm8s8|*ORwcn({vm?4%C`>T1=+uD61HXn7~sze(T_kIfQuyCt-Fr{UJg5bNNSk5ZuNs= z#*CVLd|!wxr97TXHwXIw9otPe_5*kl!7I|Y<2ru;mX@g2AW!Xtnn<2MJIF*xF=n^% z-fFeKcOqH6Ix%)gBs{F6!AA$N!YAe;2Xid5&I)_(WwrzEEm89&ghBXAUehPw#p`i6 zH!KP)eII324B2pVB!q=274i;rGL(P>Deu;9>;Ad-&1uV_ z=`v48N#7g)HWZb`ChVGufO`E8-{IoHnen0Y((M~I<1L0AHv(W6KnH)&^p~IJAc>?U z$`7SXu1|1pgGvK&7uO5dh$m7@bu8QQcQCEj-2>V7boZvhCMQ={t6BS}rlk1~dYqR! z_**2z3G*|9Dw^{KzvBC`R$)PHyB6_>3EvGm&!B~R+PsoR?(UV#Kb|8J#a^}8noIRt zrxD}`6k>_s9nT|o8!W?AIH$Nj(Gn));f1Tfz48ix$REWVz|;Kmm}AUVVIXp8f2;t= zQ=q)Q+6#>&^+H9rlKaFbzSYgB%bLidKh5JW{|^9AK(D`?L@ahqF0G}z600dwp|{`J zmAY+0W!G4z3JzEW3qkXs|F-O&k(A=JG8G9gF3h+Q@)gEXgau({W`#x#T?|xF$74ap z3`^6Y}{s&c}H0Zrx?N0a=;?#)zywaZ=j!nM$mg_S1(B|<|nf?D`WBBHm-8PCrLzB2R z<|wfK2`0C*^Z8NGeY_-Rq8pZUf*foKrW?0;iK;+xo%jSF*zp9%lBraN^8=maL^7kt zz&AqM^kDz-x)mMlq4->n&lWGcv%Oxo-tG38*(cvxoG|*5HhaKok6XNb3A;I72`Bo3 zTE`<^cc^~QD;&w;tiL}O=n|X8bN(JZ%Zk|b^>WS}cIi0Dri9ab(=JcMu9GQ@=-}T4 z>%SLK=HrY!NNwsM6Sz~Gj28P^8;wRs*RqZGfuW%Rc+nbP0eBab^Tm+~O0Xkd zMz~1RS>!a+8(svMz!MC)yBT^=44Ck4Mu0CQUpZ6L+4+ab9+qSOL?%10>bho%{oP(z z_GXJjsn96Bs)aG_z|3Os&@(4wr=D8hE7=I`nIBNwO(G7ET2%#TY~-b(eSJXbnY8+X#v^eOqYoTF|Z$*FGQZkKE`t5<<{HESN$}rQ^(YFU7~>(&578;p0I7 zG|>lA4jI;iV2i*Gm}c$q(O4qwAK0BORJE>zqcA)KsqCATp@W0&Lt+Ulwysypdn?|} z#VH>Um(4BB?5U?1b8hIYnW=P82of$*cZY&>RY%tbSrCE<_RHrhU!G#`evISXPOaOZ zGnZ8>vwvKbtdGB@$LEkr*W_I!2grn}#LDgS$7nAa&z2@x(O7?x$VL;PZfh#1$A-_G z5sPGJB_c4FhSTK{o$0K>e5dNh6Tztd&2ePMzZ2d1Ac+EQ)5jK!Y z+>OMGd~Mqtc$(qfngf6Jba%(k|NGP4Kl;h7wD&vj+)8`@Bu<7L;rd|y)yz`6GP^|N z5>7LU8xRR7)K&G+IB|oaRgX0QQ5ksxL`In?@bQ;@^Bd>hBtCb`pI*B0z2dK^*j2XI z{&&BrJy!dYgOwry2=iTr`HnD$Ixt9E^b%Uch!oi|lZ3o3lC9~@z^};+ThN@+B_lQA zbqk_iP=%5IzvYFTMJzcj;aE0PI$kVk%qMx{^`{=bpAA)ZXJ1)gJH}Khs_C8Pe3ySM zUfy3gF=88d+0b2YmfVkmRIs`SV0QD&bO)K+4XlHcWJ89?xts!(BuA2=h?AwM&N?1O zW9JbI94<9l;)W%o$Mrz8@$)fJHI9L5s{7q42K4fH|WtE9T?j`272 zBs{%+75~t5cdxfE7VGm?((?*|QfL*Bwq%vP%g$t$o*Ve5LxjEvAFAql$0pq}$r|c^E0{wBT1wi?!{(#2)C9fxG zQW>>sS(mSOrP9Aq^@ZHic9S{U>ks7vW?7fT9djZdKBm@>aNlEG(DOcKrDO1W4C^x8 zlwYA6(|5#(X5+&TO29VW>;fd)Rs;{JVa09Lc){LIJ;f{C z;fyPrU9OcYh3-+ME|sYSk(+Rgn0+cHyEX6x8fStIoGSjL^lyULq&^y*Oi)0Rk7x;M z%4TDPp@2(82E&6XpxX5YwRdnDM=`AHs;m^PZ0Yi&&hE)XFl$lg9hIWFd}v1FA6gE?#=D(QeClhT z1Me?6u>t7!F6{Sp!}mV+G7Kci92aKecXp=0uSxPWLMpLTV`2&6x{mBpGl6iDlLc*0 zydy1i$hazoMFdTydivT6$z21%fz)y=Hc+z0`vUVTfq{ht%W(>p%~u9&u7@8G1%?j} zPQ11>n%f+h*dzPaz-rm{it~eq#=@e+N}T;)#gir3>eAgM7&-OmO(<_cU$Q;#Pbx;@`fP{)N^)%>3O>e|P2&3^u^Wu>l@qPPI9Ks34|+ZgB?TyddlV zjYd*Yz(}ZYjg&*b?#%_i8oegQgj*yp@hS$n6wa*Ig(sY$y)R;x`=%dL#8%^}+s0qq zI4>TDRa}PW<--MGgUmuZKNDqKY~9JUKCFcr!;PHpP;_kd zM@LbW=+USvKNbb$et!P~GCmgeU-^_gHndtC1cL+&l)=JEHLghQ%3@NjX|4-&%ut77 z!YvRJ)*Zz}o)7y;kBNxbZ?j4Hs4uZxjl^fJ>HTPjLU_M0M(6nJ@2&ka+~EqBVLt?08E<&_ z-+s%UWp9MQoJjEZam+6TK`yk70`>pW(A^iPXdi@Ff{WSjm zD){~g{(cI7e?OOJzbYDl@7HhpejWb)GOo)07GU9x8uoW_MfS%c6MUbC@2wO0c5amY zwx|r>7w|;>jD3QA1@|6IuLG=D_<_{LoeWfJ`OneAp-M8&UKT5PcO=QY; z)yCTajFV5gVopR5@)P)rchSG7C4W(i#A@R&3M3}G*9H-mnMHLX>^8Aai1p5xE18GC zXyiYicbGB9s_U=Oh$V?PCVvcRzV8I(z5#lQhQ zxg%m>k&rvd32asccQ+C9+5?}xXpQ*=HJ^x&Lbh!!ZyM~pNvYIwMM)^o^!b89Z*+x~ zlU3l(8YCA9(&&SD``ut)xoH_; zJ3EUgfRI@t_D;Xjp^+*j2DweihdlPKc;rYV-eq$Kd8Jcs06q_mL+QWs+*5`Am!BW$4d3-n@GT-GHBbClZ3*72Yz@w_M+ zTL;$}N(!f^)v~PkY8YB{!V>m_oS=dWE!@*o<%Nxn-&Ux`R|@X#5I;Y=I50arluu51 z2V!Riue~{)Dvd`*H&n^|V$`p3#O#Ia-fSwB@Hpnf$@Qh~IfGcWT+Pkq?I_ZTv*X_i zk8Zjn#GI7wI+ob23GSTF9O0lT#OSjeE05SI$<(u+v zW^Vx0oV$Eu@lCb2lWN0y(HPiaKf-pHO3VLkiidc!(X?}fu-2j7e4b}_-OFNihVGy_dnxPy-@FGQ1j6$wD@O6Ndh;h_#9B4$t zyhm%6spU$e(Wv6xMt0`H%QY6A)*J0si6y5vuFF5%bL`QR2yDIhj>TQa`z=Duc`LSG zi2D{^=RmO(BDV4O0hGXte-BS>JA@k5*MaN3_`saJ`Vm97j}pGBNOBZq$;8tmAR9$2 z{uXQuNTq*j_e0vLN$&_MRlmCZXhEFYf72z$s!A$7CK4OX4)%Bd__nwGWlKG1R+W^_`oX^kLwqcBm@z-XJ{w;QdLj<)U??;@k7px={ckDNV8#tbifJ3q|!UaY-rw7DJK z?UI*#f5MDG`XP7%{%cMiJbA3rwNCp3ugM=h4hn@CW}qK;$;!+N!!7NyRuKM_oQ5Lu zOe_S5EmWui#TJDs5ctx4EFa76sRjYNmCJ+%tFQ8K$s?D|ndyAbF3_fm1IHN==2T5W zw=|3eR}Sk$(wM2FF;h%7Bk+&fiS%*QCus+5kA*2qp0uYI${tV8LfU5T?d$6|v03ya z&FPs&7mK;t(+Js4G}1Wf>F9sDpY8g!df`L~D&mDkHp<60CTFK-*0*;E@!G-Ba#uMpEu=e2=#GlI<#a+Bg7bn~Y9L+)yy2jGDm$|-|KtBv?wgK{xCZ^#RR>Sb z#gp?VRk`%EJ9Omak$rnT_E}$dV&$%tm5X~~C|3=6TcNK8&}dFwO&caBfSR5FaHWZO zQBCSo$l$Y>1Oq7D9Hr~0RfF{bv@aSe(so)F_TtbOc z>gqB%Rqy&x?Ux9@|F&1(_vz1m{FtqGV{8;KV1NZ19oy)&Aw|EQCI*|>$}DZ8{7`SN z)GfjdI133}RU{pwp>9avox^P!D%3%WivmW1lFaKx`63Cvzy0tBU;UZNTxfVL|MN>5 z8)K7`EOUinwZ@Hw@=VGEdeg=alf6AX4P{<*BNxWXyj1*02SZzj8m$r?&V$#$gQ~!2 z!ps3-xT4LX!p8u$O^g`?P&Q-Nb{)=brr7|_^(-)~eXr`r6%>v}1edii(QbhJ-rf`I#)zb^9^x~Q7;34mz zy%L^2qI%(v@E!hjoLCB1cwdrDs)4Sss8n&1 zYdKEt?(4qpdq?Ss$fcrlOKXL({YCy1J{&om|22%YNe^?PqjMU@Knpt%E&v*`AtIQr zb9b}ZN{lrshy{bymm351pM2R#8w}0q%1^{!@v>j?*=)AkSkDcjBS9%b2fC}}4C*Gy zuCp<_UXr9ny4j-)Po*`Vp=TuF%*qS58Xsuv!H>P4{pO>5(vqGoIL`s|cvwR=6`!8U zKl^MUh4vY&Eo^e(jrEiI#xgV1JVUKNs-H7r)Qa_bY_$EhZnQ~p{wC-~My!gp(M0L4 zY@-{sBw-0O(EzAH;}`z&!b4pLi4t_~aisqkp^M$zqj*`&?3BW8O;`ANRGJ_=4Hs1lqRpO~19vHx)3`s)vzH^xV^ zJqua${@g$zwUsj6raFoGYSl^T3H8#eleDHx_s%F-t74{iU{+fDOX;jCwfExghr8O39H$OJW+u#V%%FTAg>tH{9srP6v{QKqQSqU5#;-I%?C8_r| zQ6C&?<<1<5n1yazYBJc5C<#AdINF8Of(L8=eEA2&x-r0FZlyj^Uj;aem}fZwb*`Au zkI3l4D%V|=5bS-;!UFr2+F#v$H|rmgu#v;x9IyQnZF$&B$6?+}%>7rB*^(XWWk@bH z$fC_;^~f@HGgU@u|CR7AtIIx0iDIS^YjpTy6bf#O5GYw1{$@9w6~QjKbDcTx*1MJ9(`Ia}(DwT}|F z@)Yse=$Jz<&1XaNhN)ts*)e%pb*a8|xA}1}3&Vw9fG=m?zF!bE1$lFjih?UKjv;p* z6JVBG@>x5=H7Uvb)mMR&cFT_|((Z)FBk?Agj7{bD4MDlQ>xU}`JwvvEFc7~w9NF=B zbl5pmS?hZI^NPZr3sZ|1*V5hIDXYs@Su6MKtN8q$$w|W(Tj(0t#&>v_V8l4G$ruLTcXVDT4!fcO22i?qttBF=g`&t0-MMH`=YlzoW%^1nf)sWN^ zJFI3S-JMRdJDa)r1>?ZG^S9|0ja@6&Sk=q7fA#aPm{(b~VzpU0bNlCCHv_x#gZ8}J zowt9GU1BTmuw-4XtmPfGuly}Nb(dgdc4niEu0sLOl9%Kv1pS<{Wwvn|;&slx+ma9T z>>u=S@p7jq8N-C!?fM<#`y?mT^y$BcUITJ`U_3zqI+@4l+<#>olj z3-{K47mKaM)#?*Z%=Clm{jD90KOC9E>h%xn>NT{IKq_iwxUJSJHE3PJ|L;7rwACtYVDHq3 z$`LW^5V)w7`zaFygY{Ske8+H+<_J2d(dq!@(uy`XrB4mf{OAP!WTn~TG%J^Y>A+Im z@~W1&BG*SIDuJN8f2G{JITGC5J2f@oiTe&9SLh~MV*q_JGEV5}-j2#& z1?f5qW{4$#^N)kLjTPh{y9EWXsA3TiHLMkVt6^sJ<0a|GCVff9CCf zrgSLuI*rWA9-LJjt$mFZ_bofw!sV|&F)J~}CwjhLyK(l32OmV7SSYInFJmv3En=99 zJs7C|CZV8g^Dx5{;vGhzb4nr?)}eqm3ZrY8c-?rQV^PvP-TG%M37@+!)j_0Ts+~mP zN?1{TExW$PJiPYrw3vjd@*_FYXANN_y^fZFg043isY7y--$-DByE154b!Q=bYE8^8s$U7ereb>aB-ipW$!-*Li_c8Xj*gaB64{ zkE5>E<*Pn`B7s=&uAY^NMCzdG?rYD=#A0&+Mt)>I#PZV?>f5c+d z8>L-xgUc9w=;CWmu+ROEqn@Z$A-j&__|QV_%B4$4Z3hQt4X1|* zQp`$3P;vL0?jDz`$NkM3|DYjP%$q!8uCIK>HSRX$i#fxCf)f6nE!>V6kSH%?fM34w z^o0vgv(G*Lc#Z$=cL@)603VBShH2`6jLCN-B1AjV#4WR*M|VNbsdg4|^j#SwcS&IV zV;bcN;O}mH*FIdxlHOIAY}Ur7$`PL`^_%Md`OEBId>QC^*YQ20S4xQZ7Vc5NJrx7pgyBEnav!0FyN)4LuUp4#FJ0($D0m)KP<5j`8Bjqz8sFS zeCw$0qoyq1sE$D%{z3}gdr57RetacFbEGZBGSZ?cWd|Z!q#9B^pVh(x`?sD_dDK-V znci%EL8K2^#uja{qRST4iH?g5DT}udG}>Y%w<)X_z0+p4INg!Z|MrL7VTVm+fAY<< zD*ko1AqH@RdiuWm=C!84$VM+peKlxi-puk&R%_q0u(%s#z&dLGs8PYQ$iwpu;b)P@ z&wDrM4#V)gTLBNUmkM~0wgWuuKL5n|S>-jT^gjDGtOnFg1@`}9!O+R!1*Zk|Fi2^X z1^FS&n2|~&651}X$=KJbVZsbho5_8?XUGyXUHFnnEMoc8bm6YMifOUrr!^jxj%OHL zCchQ(Ap1{39@3`|A31!Qj2gZ0?O?w5!R=Zh53>JO$V2+t%|n}~29*10f5?;IFiBww zcge!ccf9FY;@J^3#qK3ng*;%y!~58-p5!c|F`G^HWUsj<3n#@V4B>%9YA|BhH#-G? zvjlzeL!UGZ5At|-M<=j}p1`Iycn9kx0Z^@_XA+cOdZG{+$v7ODkw_u6cW;VygY<3g z-S5z8%5c~=w3054{--;*bB9ixKa-y80qDhC`pofDr;ZDI0)MWTD2%NT2U*7u2lY#X zI9w^83a9MTv8e-!|MOeb>PURZUhp0s>^VA}h)rLk@&(4t_Myq;YOmEa>I!*=4v#>o zc5egX0DUzu?iPrH?7soxVB3N?V5&a~aS#wWymsP{V&v@EQRTt0Ix z_S$c=&wb_Cv5T*I<;Bg}wY9mqwYAxH#f@qGl2$N7J0Jr`oZMoyPpxgpz zVBdP|_E)|!U3C|xV$c8OxpUdvXFl_|ZmN>#59&a=bMN$p<{HKoDp0_9>tzcxOrw>1 zy3s1pVue=?1sA-S?1@%laiESn+R?8GYg#r}-gTgO_s<(d3E`hNPG~QIEW0q;Xd6g3 z%~4!KnZyQVd0I%29k=*Zs926A>eg#qai_cBJ3l^t{+r*Fiac}q%_HvKrFv;E+u(J( z2Um)gK%n*wE>o54+BH@_>Cb)mJ=ec$Ed-;-#x|N0k*i*`A&y2rT{lBPv7GNr-KXk2 zPnCV18lVhaZ~~M=E68EJ|C*UtYTwj-q#?SSnJigt);tt#;P zOLca+5_ENiIy#zjIC7)W^V7gUq#R{=X)cw@N$a@WaDL`JOK>Ds5=l4`*|!hBW^{Vy zSP;%E*kBn_^T5P7JF1dik7yfFM4QT29MPs!=?zGWu^BT5E0>nO1iijYN~LG6J#mU( zzQ&#%joo?Tl6rqKtwzfJCuUYrSHJt+eKTQ5=s*V?BJ=@Ge;PkmY=q*q8mzBX6VotQ zajT#1YNA&oGnOgT%~%W^SOX1%!3xb-yFrtM-hqZ801QOdE`0UE2UJJJM2FxXMCwBj z1O9G=Gr`3idr3A!JKz8?KvA{AnITkb9e@dt#C-UzZ@uuq14zB_c#wLLJ9;$7es<&7 zv5hlinIOs8Y;LiCz>07YhA{}oL2GPY)762!%962Q=WyeyfB6&d#Pc0euuEUo#;At9F}h`M#Z?#_?P~Ws&fGKw=Ggx@>WfBReq9(yUY&>z8Eadp)VS z<2?iGz<1N{o7u1?27>W%SJpcdRz3JJOt^rU;G(W6i*?^@Xdq$nnr9q-`NvSHdhmf| zIxA%^*}0UtWg89m^WVE^Q)5L8+?vfBzWL;%?7#dzJQWB`g@0dDKiYIhGqWiS;kOp} zZ4W3U5qp8@A|kOBTKIkENdCrr_Ollbq8_Tunu9ld^5%D)uS(hbX(#uOKlvndGY=27 z7rNOR$d`2<$d~@t1oF#~reV}~{L{fnjRykxHqFqj58r>skjjaw)+_sN{rC-QaD*Q= zrFnD0a_GwM4ww==pEPa!{(X4c&%v%YRfs~%c+V@1o(P+JuLiu^52<8Qg~uYjk5hG_1kAsPw%iYRT^j*a71 zh+%J6<)~hKFV%}BQrapK(N+s?ZLO(FE22`Jnq%gmRS%K&H2ACMg^rdsJlArDAt4_N zdN@>r&EQQ`CJvY_p69ek7*}ska~%d&qQH?|mXx3O^zSZ&vR;eQVy<}eqY*71$~k@I zh}k!=nk$ZIYys2AtkD}+fvMcRcFLyn2P0;np3+D}ViajtX*r2hu2Crsyu%1|*P}pp zJ?P(@9kT;zwpPEp>dyKMJJw*lS|vkR6u4%U_{zV))LqNHf$0YYa~%xL*D=EC;>sN@ zu>-JWHZaO~6_<4;6}gCQ;-x%@~(PIJYzhSKRo@=z#m>=UJyQHkgPH#*FYDPr&j+I+1(>vQHUu92zWzI9t5XLi}W-PSZ8pY@oX6_qPD8u1mA zAzgIV=kHJ2=c?X9DhdoZ-pQkb=ki9oY}3%~331{?!B!60gXvnvWC-p~nRBjm56t8c zM%}y~vLRZJOKD!E?S8SWlnpD>Q1ZdlS&;zr?d<{=K0~-m+ejt4uB3;O&_1gE%th16Nk&r zLHp-NhpyXL4CVXduAxlcnV(9=_wL*5<|Ic@+!~23=wGgdmO%L;K6EY8SjCWcQYJP1F zU&Lmi!bh$OKj`{HSJicON?RbN0RvyrS7htObK?fdBE_q)biwr)Gt_8@)%>(EcTMvkO5U9;h|A0iFNlQ7ex$lR#JNYXt7 zvri`72p);1kSy!mb3?f3-Blh~nym!7ePt7SbM5amwzMm?*dK_F?Nt>6Gmh9$U+wa*vBZ@SL!A{NTjcD|92b89@R@V8bJ5O`8)GcM*c_gjinz>W(fb zvze`SuaC!4bBBx7gWf@N)$gxlTwG`^o&d~Uu(Fs!m$LKH8<0poiDl9be@!}x5pP-nT76-(8D6XjfPm+hK86H%0q_)qF(_66tIH- zQ*6sj6>1N#&kio6P2!ceT)cJo@Wl8XuYAverh_#Ab2&(7ld#dX*^9ZlKbF#e_CiYx z&tz`~X87muPB><5@ICnRt=Vjo*s&Lx+5Ny*glny3?{9c3#l2qSnZDFeW7Z` z&Yp*}sGN#hgAPmWhutYh*lAIld!yN2hQmYg~u5ZyDYbHnQCt$muVtUzOBxk7U{!J=D<(jpgcV3e2w=x_&u zv@Swb(%oYrt{iB?R~_VcLJ^A+yNvkpqTDVKe%>Hj@4D*@dO0$NXSRgcg@YBK7CU zT}w_@B35M)B2-WHJ-#0#>c!ciPl7n5+hned{-OB)UH`b}UGI3```+=cd-hukOT9e{ z-DY$5LQn5f!TQdK&l`z&eGxiYLp$gnivJ4zBS;6IwD9TwLlt8Us~DxMJq9X<&Kb2tGhXLZFlk8+Mawg0 ztYY|5lUX~C?0+6qj3KOI;E`m6Y6cyR9FIXxLMJjpe59j=MI|q;Nj&u(q)BM~`niwp zVn0wjxBsKH`(5KMdjY8hd6-Nsbi&V!ZBr$LlSy@m|8C7;4Qmdgm4QJWXbwY1{zR#; zbk7w_yZhW=Cy(ROS+D1$qVp_+ge=TqeMk7|4ALV64WU`4S_CpRJyopB)D$nC+xw1J z-7#`xa`NJ9KY*x3iBN^x+=O!m24I$q+#HrI6GGWipC<%T(!lI=DpY`>_N9puzhb^D z6eax`wE8mhzU`QkeB5tNqJGYtymVDnk_i85we{@5@MrOwSB|q~_j|As=ibL)4wg5HcMY z_2%Vvmh0&QOX1!TEI-`k`AlMMU1+%i z>0k$hdL3J?(4zhCwp@!@Tim4su@bSwsaT2i%!1|Wj1_&UiR_l;`c^Df<~t~24HN$J z`Z}c+E3Nw~Z;~?ti{A%@UB~SAAH^37(V=MeVgOKs4X{(5C1j2H{l|l%=Y!JyS?r<#tl>Bgh@3Z%gbahpZ zj-(^$=;)j~uRluX(wpu(vx91eQ67z=T|FDrrFp1B$i%QW#B3pgNCLP+bV_l-_lRgx zFe!3M3*cL7tLh>DoxN&yMagx_-D)JeLha0rN4{gx2i?PwP-H{oKW>>;~)f+1Y zB4arxK3W(}4dhbxu$ymuy_j=F-8PMNIG!IC_pA5QHO0!FHHBtLLr`uMWy&nvSwPkQ z)-Dw~O}S^6nxnm|cbB?45Z|)8*@YVKTcUeKR$VIeJaKISmD3?70KKbcx1u?XDMk}g zu(gGm8R%^`u#0~6vaq(v#zp2C={~h%qsmqo<;^v}u*UG$HkVbS@E+)oKzR^*|~$AUp^+)#M|}I7U=Q2vsZ2N6Qsiup{jcJXdg1 zWu!U))70MYO%?XzbSjZuGrj$)g@q;@U8?rMJ(UW6Xnq|u|15eZ6`2mAWxcR3K7n3* zyAlFe*KR5$^#}|24tNWv@ShpXWP9!Ul) zl5`6LfpRJw3R^=dmu)zbv&4s@{z5z)&3d|!@`i;m{ChwOfY@G{h6E5pr$9;wAoZMJ zZNYe0BKem@3s$Y9ZMChdi3)8f_jSWxVnBaR1T*6m;dk=@Kaq%d#pvgF1|K00BWaJy ze&`f(EcbA?avnVMi>t5x1&o#RAntF;!z9Ape*=P%a{o~TIXr{w_yz)Z`e_d8Rt^+e zdZ;Z9?Ob);Dt~{4Q))u#EUqsfUv*ie?wHL>(jh<~M&E>-?i6#9QLFw`8Gg?|{}atb z8_eXwx$0V67xNHu6z;a+I>F>Ifb#(g=L1I(gl>XREe(B;hCWC`zq#PTccOcVoO=+V zlRp&VEx3plLZaM*3pbqnArihE1s9{|0KPXZf)7VT$N);gZXw>cYHbx@%LKJbuF{X| zk;_(%FYk|s(vtkF17S!U!MEdYA{otyV<-zpOBG(u(iVX-Sw_|IEjg{XyhN75hqVCKOi0DT=rhzfrbYWW^o%lFV)u7Xep4Sg>SeQz@q z`$!+YkjNz0pssiB18C8A!TL3Nfhcei0M;NlEnu2R;XdF8rEyK_m6F!;!8>!lQya8cq)k zq~Y1&NY_H48iX--M6e7fJdp2$=ra5`zLVL@z^#@w_ze$Y&t=%w_$7dL8#)(%6~7xI z$th?O5i|lm8IrIh(LyPB8yDTnRq2@lMIWle7lg@ptf}kjx_1 zfc8;#WxHZ1NG;L_X))XJ{0F%Y(Hf0ISzn`N6_!W_V@veOMW3Q4(@G_J8z(?ge&UI7 zeDl-X)4O-?p>^I0b-t5&GXc|}Wd{H4Y_@tNGf6XQ_V#wEL--6I$?LFeOV@q>^Tk4z$Y z5OAs$J5w)D=3j9BK2I@Xu|$d<=AMr;jc=+gVL=^D*wS)o%RCOFuzrf+{P^|PQ;kPw z6W78QSsVf(9F4<6oMHUZv8`JnaJcbuGZO2@!T^>)G?uBDK-x^y@ZpzkUA5|_Rjc4@ zjZ6^-xdqZXdSp;lEfZQWPe8&NK0&6YrVw7(yI>=)EPNdqC`?LL1lw_YIJ%h-uH~eT z{%pT5cizE+g~Gvu=jD9+fA-6Iz3htFRVp}SFW2jk@{0?rA>SWDPL%GmHkL*rowjiv z*mu!I`$l(e-n{c;^FO`)_Mgs|Hh%H4%f2XxF&%~U_lW5gEIl9XG->$+O*#she2gV5 z(QF|3w-?UFe_W7`Peql#jlIu4dyLy&KN%3<-UkVhKG(4si%cboMszIT>XaIKc^e zdQ1`00=&#DUDN6WOO)y}z%8^o>;lSJnLx^+l*Y^DxK!y#1u|1m0c&5YMo>8`1RVoN zJ$!0SjzOB4PguPGsZg`x`mEML>*dtglZmubsF|QcW8q9f$aB!hww`WJWe+)FDUAzw zBc9#U_{=-GvtGR)KK*?`hIf+RiZ+Yl@N6?@ z(vh>A4TN^y9L@i%v;F}zZyCu6zmVG;+DEjcA8DJ~Zn6N6$Z02x7t_7~q!Kkjv{pBj z0xztH~iH9X_#S%50lpi}LKSTIgLwvF`$Vy#V% zgdmt&ZgHEiqq@gG=@<+J!?BT>kytL`0R!%_@+NQDUiAjO@!Cu+o{6iqw)FU0!_`TT z!yc+mckE8ix^aU1`^f;TH*bON{sQ?eiEv-OLs&C^`3-bU4158Oyq!e3dloJQtjf82 z(AD5dkP5zx!VcAiVrUAutveSV81x=GLqL#jR3VbSQx|cZ-K;7w<5L6dD(y75L2y?b z@7dZexwAE$HpW(&(&}^=+)k6*P#RqCEk&#*r`N8LMABcWjL@I(;0#-)sl|GH4L3?=ghi#$Q$l$Tsm;0^G&nL4cVgGoz*# z^*U#nI_{FbsoW`iT8!Yu?2sd;!$IRCBE#f$qokLq!a9(y0|9eLsQW4V%;Ng8zQg)T zmi3j=>+37M^*(*y_`&}|t%)$8@b974K9oXJr?evD7Xtjv>PK1i&H9!O19C#RT5o2Y z)Cy%@)VR~|eg3GEpMkN)#p_0j@lp49Q ziXQJ!GRr51!?B?>&^_A%$^jQW8;LaeQ)8qL|CLr_7Ij12X8y2xNreEv{?t`L$lP4} z^L(&U(Q<7rP_V@uG6|JnY!Q6c>#56MU!yL#T^CqzA_U97Cy-R!2@$$lEYM}9u*f7& z)K6X~tS}+w^#oRwJu81dT~*=)tSZUT`pGG}ioFvuJ<6hXEI|zgVdc8@*+b-4C+BNI zrV#UbF(!f#EG||HuvFc8s75||(h9|WKwKHC5Z?i6b7GWrt&L$175o5Rao>H7zh^RR zjSLH3MCda4W9?k%^e%<8J!R7>MZwv3-+g$+1(^(6FAJGq^c`%ap!DL*M2r6p_B;y_ z9jA&LSi^0sL5%(N#@5#AA6rk2w`2I>#vS5vA6rk2w_|mDeq)`m>Rb2= z8Kt(%qA=z*ybk%**3o63Xw$&Vbmn=$&BGPG0U8>E@AV~BsxKA{=rsz_?<%uy1)X zxqRP1%k5t$uy5A&=hq7E+TqYh+TqI7{E>n=t#ud@*-V7@8X|nTFT3gTl`AjbkWOz9 z+)deHeD3V}=>FMgbaww}{p`8;yt6QyNzL>-UFN(-J6Rl@G^nd4JCbyvr3}^B@;VUH z+!Pg=X!2q-C5|^yRR%W!p|#hAoT#C#DZx?_jq;ohEn}B@N>QGV!J(Hc7z_nmr^m*b z_<+`v^#=<9!~XXNB0e|Z;aog~e?z`X@lXPYM;0-}Jk(bKUxBgQn>8(fn`1RDftwc$ zc%81UB_@i?2cw;pO~$569#3gH7Mm%0y~UZBw+zhHXxZy432rI1&Yv|IQe|I|H^OZ` zJ05a_X^hld$?Y!9rBbsccao0}1cQSKo(CiD!GSnG^d(Qw;8Cm|8{4PXY7B@h{1qP{ z%gK9T>^tc=kY_uohz5LCT0z1Ld&$`iBo169b9LbMiPl@;ogHH~HC~%a!4g$iU|@#U z1g$4QInMPANa$}%pY*|>=i4{ZhZN|Lm&9Sp$h>V z;B*0?51|+uZmui=P!rq0K8`ZrtF*=AyVe3G);5VO_*whpz@G#+&eoVYNL8k(1^{I7 zz*S&RMCm5DYn1YQb4yTJqDmL~EB3fC%ts97G#?r&x=ZGW-fu7)ji!{_r}rdp?XB;b zcD~fhBnL)2Fi z8_y~#0R?T6Oq0JLGTz5zVF$#~Y6M?(@d!0Q)ml?;xzgErTW2%il$vMo^TP+gp4XZK zwep&xeN-tikH?(ZfceJD41sbewqht08eW@D*W97_daEtNZ(0_-Gr#AaJ$vpvGaDY; zQfPd)?2MX2dC#g++rSbxN*hFAJn8{ZXZR$uc%sn0STA94&jdf z21*zy3yA^>ng0=*qCIHJtvggJtt@n*NgpT#W2;8Oi_l~Rt63X2U$-IQA6%Jg{J4!K zr7i6@`zFts9osVzplDhEO+d20=)lq{goqY+hfd^0+j`X9vcV+qoSgKxNQyO^K0t=gntzr!+Vxx_MMS-n|5zrz;RU#xrj z>8Dp*v*Ka+2hP)2cg;1B?-@7_+uScBEvnH0-+hRyqdKOTEFL3Jg4tq`iP8+y!p_&! z%}jZ&wCNVp9l%Vv!*t80(pfkjert6o^56sEq3T=1H$cJHpcnA>PH{YQ4c^#1o?(%Q zjQbTrz3-58Zs9hfCcgt*>Ch0`1sN$IBR$1h9(-Dn6&ayDGS6hZ_0&dW(={`y>I7E{ zu8V2=jh|?`38vVwUm#k773St$L4j<^>a3mbqecuA-ylc6o-gZck-J)@Wa550v;pli%p@*89EQ!S(p-7PscAK;xc} z#}Uxpdd6Lfd;3ECYJ*dGzuFZk1j9oK>kZ1ARRMlNYm(ohcE!q}@JQMYSb7t_2!E3^ z5jpoNLZkvAAI8_#5F$Yxah?5ONU>k+YCj z@Ff@&Jwk|rh5Q;z@gW+b6haU|Z(69qDdq{f$`;nyMsXA&cJZuNl(h4FZEpMaIpGQB zazS{$cwq0I^Um9|_rS!&+}zmM+}s4@@!^Fz{7ZBk`j)rdaoH%9wDdbMB?^U-DE;~2 z%g(h1-FD5?!B5Zru*@lx8fD|@Sx9p;_FpU#Cx@=3El;<9BTvGKYio6Ea}0&fHqJp%>CQL^I< zu5+eWi$d%HaMc~0JhpHufwM?jvt|9bG;c45M}6sm;X)zoeEM!e|}V<4`^Nau$7NDD;xI)B3g~}b8~Z2sllJ~ zdiq0VM9^CSim%X?kI<%Yig3up1~7pii9&pSHXnAcmgHh*5PLH;1|C?wb^m;#WDXcY zw%mZsTy)o`tkGh?9g76b39}5k_l~p9x9F;B&1lVRoEUKThb$8TpC_cVKH|7zC?u1G{i%w7h zw<0P*HDh8m1LC1i4ty?JVFkE3x=^q}sH;nlL5VFBJI;8b<@WgHnVh2F$H`DNW=TbY z{#7IORbgKuHlKGG0&bT-X$;2nj-aU&`J%xS<%4B|#1!-92CDtululyok7VnAG`jS> z-EMX`p7!%PvreOM$N2!X*js470qVk9%*1HQxTwXB`T(%K5WZX#dhTI!crk0HhIlZzliuW#j5~+HQ{JSOcY(Ae2 zp3nOn4xjKqv|l%#$A=)H9yuYQiZM)@lQBLap2z}7(O^ej3+7-L%dCMQ?+FYxp3kYm zPKU$pNhJ${ip>Xr6Zixkr7{??#R7Ls6r*dW4WPcJP=>&?v_?wamg@+G9Pp@l&<7VC zNm${`A_})O`O#dpno3oxLSO$X0Dl-4p)}7@Kqy4MioZ33VCPz+leefQepupUiavSc z>k#9;kj+P+Hatr8C=Q|7XxMOtP;tA6J1?4b&m$k3o_9Keu7aZmR|53Tu=z+PzrxKs zBWY)_k~f7yA>%aU_(4FSP-p}VF9o}n(XPjl1AL~Q`_w-8u35rhKq~1I7a(~* zVCXpjR*MFaFo`S%`1G?1ZG=k4tTOYib4E6;TTv)XB)(;Pc>DIs1VhWi(4-zTxdd7$ zsW3w+r?_SgA@+{TVj_AL&pT|yq$71-*pPDYUXRV-)P{9my-D8Z(By}gHF09I+H5MN z{lS@{R8q)hM-V|D0ti0_xNxB;nm$FhWAxYpz91!M#xBufx41P6x2K{Sd9Arfn2M@n ztE{o1h&OKzXgsD^LSjfbawVfL?dEO5DV;2&-n=YQ&)CiSf=XRXYYqKrKI%4%+RP@a z!zWCPpF{|NFG52`P6fJ19z@A|*d+-w)Srlk5Abh4>4{kTNNA*5@l2-!BejVr;?Rd_ zvyDQ{VyLimk2Wx5G*J*2_1MMfG?jvA!H%0-6=prFdz$K*r6SQL?HF7ZwW&-xg~^|? z6(@ZbM|d{wvRO>Lzt7@}yF(szDeMhuByz3ZqBZ%gnq1WB1tnLZK&1Gb!LBnKwMNt3 zX1&!4C;tX3BD5PmiiKNVAvE2ixs2Av+r@e2X(L-8R3+*$Bv3=9zl_aZOHE!qb642o zmWIq$8!z?sH(NO_3FT-bJH}Scf5hQ;@Mg31GiF1+Pg6{L^C@f0ZP>JI<(UA*j}{)n zx8P$)wY2by#mwX70uQJ@Kfk_o!OB$^l;T@2I3jSapNEu}EKVuln+d&O4Wz0=>h1PS%fV;0*E5T~Z5x=IzrApe?^)X~m4 z3U)OQU@v}xoCmv_KFBBuAz#Hwe3NK2tGtZcouR$z7#)8o+mO%obLEsgf;pP7^q+mO;0H!mM{<4enl;*i4OH)yK{`?BfJh0XT5NjD|)*{mi2`aJ;j z54erU4AbFs54(s0ZDBw+MeQu&$drm#yPV9-lmZz_r}-Lh7I(_|>Vv5^cI>{B}99a>c(Unl^yw*s`^p#9N@ zCVDZ}E1W^^M4LtM-3-(wG95k0q_YXt^-Y<;A&20#J^%CA-|E2Br-{t zYdr2NC_W^O15%Uqc(k6jZJJb@<%u|7FdDHr5RD1jm8XDF^ABzZveL6;E(`N|&((Sc zaQhmXt~J$andB3@vqPC^mgCLS#R`m`cH2|axmdMw<>Z_*XEpf4!N42e2qklM&OA7) zRE((o9_x7HB;wFp(4X*6$n#7t;k+KTy-;@d5|;uqBo6N=_{OL&3qBtmJu(Q1G6ju3 zloeIx*(uN#@Rgb~oX{cI_Og8;jt9`KOyVATMWJ>~rb-S78hs(x?YVC~auvVV%FqApJ1u;_gnqDi=2 zDUV)JQ#f_iic+n2hm-b%*N9_2x7#N?e{!1*YQpsyRTds<`aVGBaXLOiJ(sKiL9M!MNEsRr~7aLjki{IKTcV1m4M=LoegR zdK7WfhETH&aNB@Kvo{nBU2-n{H+(qdC}u8orD3Y^A+uE(t|LYneJq|Cuvmb{KrxnEOrN*9HfM1wde0|EESd ztdxhtC&wGldWun=U=bpW9tJS~0_asEbI)uK@KAIb1TH)ujLIz!&vQ4PamCHs&lnU? z*!b~n*MH%b>N?2e37`tkLna2wlT>w0NmB4NNfO0Yn^s;vTv_o>r$c4Y>MS9A>BKO0 zjW^!zwacVqQeg}Z;cJKkhKmo)FBY)u?Fl_s$snLL@k!v-LdS@b`2=w$S~H#+OyIkE zi(GVvCghws84`+OiA`4RnTbya}aj7q16 zc6A8rK|6?W?rZyehnhJA1LkAPHG{QGaFJeSXP?e6^|2;5= zSxT=36p;yYzP2IPs1G6ocN7~(%#3#$zPayIs7CA*be|NZ8&T3!bM6+ zF9EmNnKa_8Y(N^u(ZfBqtY8Qkx@X{XB&M8$&B6e%eEe8@2IkH#8Z6CO*lhMSMjmg^ zz!?1udcf}hXd@a0kV*DbcxD}7>7J(rcstN4?rtqVo01cLENpgb^#+^KJzx>~+iWx; zlg~({;p`(&#C_1+z61ayQLKk4(?!7`R5S>RyR;!hGu)!na1SR?&s<`SJL;(TgI+D~ z(VG)~%ZiEUm_2Gv!6rH9vm^qRmH1MJxnwk%b$wd3QYzD1z2;QKt}AGCMy%O@Rnn$rf;t=R?8?5G zn{M*Q3|_6y+>b9chYP-|>fD|^<5$7zRW_m!mYnwjTwfs1L9d(W(aW$jJjyP3+G{dm6&&Q5uN242rR!HLs6|_tstlQ7xhz zdLJ`30Br$qG$kk4FBgmgj^)>GSRXcU=HztREHQ>wuG<|l5o3tLwR7it-~qVq*t%5^ zA$tpiehXlO4$^bmcd7ZLc@&I5v``_c6W0Madco!*3jv^d)Lyq0V!!45{aeEdgMyQ5 z6u!-8pT9M(G%1NfuK?ga^uVCjsfEA6_q}si=hkZ7x?uqDP3R>4R{+ofZPWu#uSub< zq1Ulc04TbeOD6k@*3zewYGh8ILiVN&0}3rbq*C;+z1%!{Qo@a54vwsF{g^e&!{4#S zqk{sI`))wh^8kqw#TNHjR)l|M-u=`w_?p!B#^Dcf&0Pd{418`B zLK8irp2}YFb6SQ?Jb(0yB4XM$g@MC)?lgOe@k<8I&Airrg1mC5e0gL0sW%n>e?gu~ zoin)SwIPpRUT*NGh8%Wo=s)SsErUvn^h370Q(g$j3l-@+$Z~^E+1zn}>!y7_FYYr; z;LEo68T8y|$qI=wxE)oy(wDMX!IsAowX^w*3X4XimzlMpt<8G=r!T-qO$0BhsNTU_ z)OxL48dYiWds&s=42|`5@&aw4{R*P_lJ?@M z0(Hdk$WY88z+aBh*71jGSqH42g1(I6!_qXq)Rq_ws4cQYRA?GuEfpP2+s1 zY=y%7OoCQLv2O&QlVV>7u92;Xx=u(J?|9%$Ep9Mq99oZ)aNV1qjf1m&vYJ#L@GKKH zL7)E=EF?|e27KLu{zON)4Z3!=ceB+i<^uuk<9xB{yNHcdlt73Eo7=}sDsM3z+K`uP zWt?0q&#yhtY|f?C8XKq5X#bRp+tLASy4xDE!r$GE-}p1Oc&?<^xKq}UPNNqVA5{8c zD-^6@I}IZ(9y6|V_o~8zb@rss=tvLw`=|M&G3}0ID>Z!0LoiKd-2QyP5VRMKj*ve* z6#Pbu7eiOlKD22`lH1FiF?TU%oGs=IGwfxCFdbVOB4qAn&cLj7O5RMg=q|=!Q7G_c z3Q}QZ7y!MXu@-M8=4(9O%bB?Wy-H#Cpky0%hXAVMG}8s}%o)o=fL+V9Mq5RdJ9bDA zp|FQLrWF|ET{SWHRKw<;bh-J0H6F#pn1!XTJyvv}(OA`Lg6^!| zvSl_rlHwzt#%JpjFX&CzYE}7kI*$ky?)f!$4pmS$h?eMt8u64`CbouwVZLeY&_tJR z9eU@ew>%h!~adk2H{Od^|}Ts@iIwr)-FtRt)4Awk^C?M@7( z$JX^-cdabpop87U9^T`0Cq^=(Th#w@hg1M}79l~yBub!7r_`;T5CRh7AuH3Il3-_O zu+U{XG3}!2elI(G4YUubqrnoi*CNtId2_UCe#`7Yog+uK_UU|sYx_qw`$nyW;6P2I z_{2LTULP*c*fv#ECe@VGQLv|%<(-L8-D{;8K!JZy=OLo(HyNG1SQJBg1^yvFj zEpereTDfB8U3ApydP}pb^mtQoksU%@Vl6F9qFYHDvuVDJK8sA*2+toMdE}A19=dpi z!EKNjJcbn)Jbd?~k3M>AcxVXc@AZ!d0^|OB8_y374Ig6~X{9 zh&X75I3PYHf*fZ62Eo-*w`FeAaJ)(C+?`fNm`nt1n_{V0tbnJ+b!)wv`Io{bTk@u(nEz4UJ!7{QF<(Rt`mnonx^x)!vaUg98%S z3@CJp0m;CYnhzR|cdeSK$u)8at1VmU^A4w*_o9A4IC2}1w*Yj``BNptzwHmG9e4eEf`8()c=O)6P1)5<#s* zZs8roOYVo>INrlL&~#5oK_-FTRPUod1qDk=}az@Gis;Sym7y}U!}De)cupg9gG>`X(EzWBAfEadve)$!t62;7gO*(oPb2O^Qo@WlgGE zu5*{nJ0*S6?K4EuMS2N&=HpT&_pY}Qj~D1KzqU9a)q1o85;d>tpul~mz8dW0Yw-am z&|oPw_L(PF(7XRZ6om=zedtu8^K6YtNtyO4w|MjnP z(&3!+W%ySbF8%t~zs9~{_=h-Z<8KybDhqM~k=xUAD6zC=dnsFc3!@44;o`i+GeXES z)dGHSHOzHEOp|C5wL*1M2(7Q>fEt`?WM^>k*AMcx} zWHQwW<;U@DlhXGYqqX#0vYs&ioaDFW5{-py1{%c()tI7q(u;^KjH^CPqP8#73o_w^_GKDMe*@sa@ zD{@$RW6i2TPxMi*J?<@diE8_2aTIWMRa@bN^HpmO+QjHZeu@mgyM;2 z&n`mEQYV_dTgi56u&#uVBs@|G4X_D6z$W`7n?O^{rbm%=h5i<9*f{7M3szx`Bc~)$ z92C5;X0;T`MVM#k;DF%~ogPT2*G*$Qy_UapW%XT#f%uIWf8vw)Q<-_+yYX3BSs^RC zOykM;OLDD3rjnM%YcN`}cI!0?t-K&rT_)VBS`M?T8MY4*w5La~OSOarO4$9db8v_z zjO!EBrM*Da76%2Nlldscqi#e{&cZkbJsS$Tn4_CRm<4bqzkWF2ADS<$Nv?2@*($-6 z>(Ayb}Dw^S15gCTyR=~~#d?*f&ao zsBbP$rdPSg%yGCSZ5<1&&f(ELm+SC%b(fy}!(Lf#-Gy^A7t9wFJ9kK9zPiyaZA7FV z`*0*9-wQ3j8zG`*8?J7iaJz0UA;8t5{8}c_gP5^eNFdZp=mW=F?Ji}8H8kvdOD0Je zvaR(^5ZLY=OBtA!cdwXUul()m2Q_QQSKtrd=Z(piFH@|mKYPumf4n1|8<0kP+eZuq ze{Fi+`1>CN?B0bx5+5}zb;aun|ujt8SQZfKbx%-Y?-2Ele3W# zDx_~s%zO#ft@J5aU`0!x8b<~6=|S+VYupFn@4^S&kHKGHvh2r_GZjPU-mQK$QZCfP zrQ&n9ttfA)FE4HR3b90rez`$y1GA2M#sr2}8d@j`wd7IZRErGO9mPck>v!^|a-|YQ zva<1#*7G#XlW)Zcm-{ymo8SPz9q zH|AFU`Oi~h)6-*9_YFt~2c$S{NlxZ+(<#ef?LNGEs5)F^1_gMiiUI9-9m_+i?U+?W zl@%rmI%-%&G#$3r6{28pUmJJ>v%)S~Vt-5H=fC;Qv15m(r1+U#@7T3x?hs(tiacbT zyrDy{m#ATs7oPdr|4Y0z@xGd8=u^@AqF)(WSZF07GRfHpE%msflSIhRVWVd>k=t?vE)n(1|m)1T(M<}}~6-QQ1B zzJAenUGMkT#Gm0b`5R9Izj1N-r}=I;&G+u|O~Q8|Ad}7SKpM1Eop}~rd`jz|Y>&5; zLi0}57#8sgtU{DD)wc#6(>KvlAz))F1YoGKD^nIaw&0~)h8O-6gXwN|t?Cjwh}N$S zCisbO^p2c6?rL7T`t?=9fLVE0S*p{%tX^`IEJ>7DFNG?sLVHLb=?9|ZM(wK7B^lkS z5~e&b3~-D0jnKzGzWL)H-}B`BlkkUdOK0+uhas!*6WBLD4`DmdCHSAj1x3Xv!R@0= z5*4_zCau@gwFh+-;7VI65!n^~V?%e{)%v?+_?~-*j~yGn_nzT<5eK!Hhg#GbX$>=$ zt5amOq7zM(h)(busqXQf^QF$l0HATo9gVs>o_|6uo(Q|)IKu4?H;%P@U!R``9DfOv zG{2>(q!wDB|SjJ~?=)$=|pfsD{u zP{fZ}5pA`qkTtVXhFKAyrx(7;nvgCh-$b-F)*? z>(}3R*Y3M^4Mio_=sWJy(-z^|C`-o4`+SLN5Bo`{Bt9MH92$xu@OBC;@gBl48M1@ z2qwO8kM%!!2-Td%D)hq3qC;yE1`{G^>41fHs_j!O86es>{kTHi>?F9lHr&ykiq3h zx}3$?2;Ro?2$wN#be*5lqTWsVsa@c8Cf7ogb_q)KgSilu*fcj!F{Ggz=$CD44 zTkcRY5KJb6fh1)7CwvROoIHvoT^jLWSjy#pvK}$V;dA8jk5Dxww*d8i6nf-6_ao?$ z_v{x2zz-pGpO~Bjw`I-3gdK775i7psBbPV659#L?MoAUalgP*|2r)}pX7WztVaMh@ z2YjcvjUJ{gtr5*Q^Wrrj1U|2LB`mPWURJ5ttt%wjp@snC$P{R3tgh~l%({+xOSVFI zK7ZZ?vDtn7g_U~euxGGdRXg*u>HPdiAn3CnxAV*V;dk7*;nqEsGv+r(JTtXIRS@4; z*bS;&tN(rXiXhH9i!)wg0)@d}M`rD;s zgJfoT^^!|39V%=Z4N15Sl4Wz^E0puk#vAar00uoBadI}-K$`>&UB%(O=Lp#wn%UbL zZ{R-L&Ja?)8S1i^`z6hX)upEf270IDa|UM<-g7kJQ3f9Oz^i97aB^SV38y>MZH8mcRh z+n^KeqU-PgyqC%S@ZL1KX@;LkavK#LS>7}EvQE_&+-2uw93t$Tj7_?1{V6b537e)c z7vu_jp~6w=gdlIVlF4u1^zF;@-!Hsd0>^gz`+2R0+;;K^x$R>gJNfm>!Qz@V#e)dL z?2GUp03a2beO;y#30wa#W(vU0fTC;?d21EW`fr%T1C0fY8~=*mv-=CXKd}3xV3MSU zhKZAG6-+EGT!bG$)J4k#7u^c)a>0dnnA;X^B5`sQurSwau)cexqGoF}2|Jdi7i8Gl zS;^MUGH^Mn>c_;Dgh|H4!O!Twe+xg;`0A6-;Vo~R#zkD5-X&@Ly74lVG>Jg@c_?3w z0#p~EQ2b(h0~7;Pv8W*kPlTv1YW(nxghbeeOPm5)C|TP1d5(TGGnv@+wU=lc^X~1+%sBW5y>s`MFc8*&t{q zAW24!1Ey09J-q_1y{xd1Xi71p7iD@*2ybl*N-mMjo@k50$S9$$bl&`Ly6-Npcr-cuyP0^t^2)-}Vd33J~Z>l;stUTkL zYiy%MmwwujBJvLv&aK5mgHS&Q)UQVFLOzs76R%4FAdhCg2dQPrmSh)f0_acW?Xpd@t9fZ#TEOQf7*CSE!t7>OS~j%~6&$8;n<?eBn?zJ*_qD$zq)ONW^f1-O!?OsqvfYBMm_>fCtK7CYCQ17o5_lV8}6A!4_PCs7LT^LNdKja=q~v z$tg>hiKR<%MNp_);V}kXIV_6EWc3A z%Q$?cNp5;W z2ZnVhN|#;=hGB5&m{m~u1vqeFA+YFX?Hx40h6{do);sfjw%PDI!8Yrg%jL#Jc%Xlj;;V(Qn5oo7GK1-mP(Baacw8<77S?GHF^P;vaZ1)#5Uqm%JykmHj{RC z7MOtBU8W;bJ4Mw<<03%Sn;TE>q@8Es733p(@r!Kbp%L{s!v-Ee=H=A*7l2Imexi1u zasPqZC&0yL9jG-V-_KonW$yb;2hy!s_!3c&9OP60fRzkj2|LK5RbW1~=+iJC03U=I zff{UtG6m=}UHK0PrS5E&-gwu68a21Dm$;xj4w)dIUVA;!p8UXe&u_bOd|=b2Jw2Jy z>)^WyPx7a=-Bs9F4+iTS3(VaetZm5WH`IbH7vRgI^&~>ZAgk!2JEY3RcSxBq#c8w> z<5YS3L^wRLz1(smV_By&I~HN?`pEd!QfcdWq~+FK{S&d+M8B)$QbT8lps6BD82AD+ zXNRbj6oTq#2eFgNX$^dZ{RV#>f4^}6uWEdJ2Y4c*cxy*`DN^<<^f@*xg!C1^K~8fR z$H#^mcjIl1_wB&%t~U18`tfe6;%%G^lidtd(rOSTV50GRtjGFs;ivI?x<=VgY-H_{ zR>ektCHd8U4*#NI=MWKNp3khffj9902`wz z4&WCd3q(57C|)a7B^+)h9LB!JOU=~#Z@7WhYdt_a0vYr#PTswGrvaF;Q>Dk-R>gh= z`K`yl;JAhzk&YY{DEm6{Z0T-Rh&e`0{${4+=EiSX#6@95u!HlOLLdUj65Vm&rNgVQ6PZ&y_^c{5#B$ zEg))~aEDNSyLUFfJU+^U!R@VQRhCuGK4Z1py#Dr?{*mj(wm$rhH&;dr*S-C-=Li&V z;pfClJ`Kp`kt`r(V<)N}C0h%+w z&_x_Y#pznGV{HMq%>V;oObGFUuLruY08OwnL@I>rGl$(qYpmio2juuRm{h~&h}*yd z8m~e?2ZZ<^!zX_yfYTAQCDypB2_cfeerujQgPfGtuVN~5mX!BVv4v2ETY}*V>!EEI zjN15E*;|;iNG!|q-g1n$jb5PMdFQ3)mUDA?M`>cBPW1Gzg7t*&C>)JW9FB9SEC- zX8B0LZ3;Lf4v$_6u=~7~7%$a(ARu6J6(juYP-Mm;S9(&_K)=+MURJUP%*u5Wp;FMG zP)n?dXh7r4_>D$?#;FNJ6IO{@VF;E&6YC=R(z3Ko+AokSK=EesJap~w;+xcqYAs+G zmv8}F0HuxZ;)Dbz)cAk|pWC=c(n1^L7Dw40vp>4mus|LY@zrLTR|-v?r@g4*$K$SC z$n2aryh*a@@PyMG%DLj>d?ywPQ9<8)dd-eEZru3B9c$9TLO>rauo}w|K>@On96=@~ zqp}ihKs(@B+8)LXkIF=PnBKf}<(pLOgX z%nMdjCgbD`da#g06*M92c>$rRUW>bc#u}B%v23!tQODiZ~4 zaIgR>N)1rEYoLdh5m^h z)4AEaePCv0z@DGYO`S0T>N$~Y;oqU_zX`g&1zKqcO+csL1p~FMR<1emhL~Pu6P*W& zXokA$QL4Emfc9x3m{|;Ag6d5Zo55!Dur*EdC?Zf11nQ@R z<6w^{t-SZ{A_O$An<9~zWSVNX!JVPgMv(bFi)QFeDtNL@|G@F4I|}Y-mW>RmDY5li zlT@0jd)aU6(8&)&f^Xu!c>u+Cz2Vf_i&livIg_!TQ>sngXgs33qfeEq8%?=%XvIZq zhgZrPKbEaL!$aUUu7S9*-{W~Ppjw;smxq)}tHtitEBkc%=xQ^s zQVx~=4sIwYmVV?Z{xp-o*KQY9*v z+Xy>vj@iYj({IDzi_ul$u%1$5>W(va7Tj4tWgYx0k2lX`Ddx&z=LN2+NRe5u?Vuj7 zg+h53mDzq zM*==y;Qd{1Mjfx?;V-aZUVlwED&KSFnR|e>c#VF3L)AOFdtz{X*?#tg6T3&fA54_j zty;CNoR}kix7$x~D*FDW(W+!Jl~y=&3N1WFiri+TM}FwBC8kq8%GUIc(fdqXvMDtb zV0SkHO!yhmn<|1PRYRq~YHBI)uCS(g%cuE6{&VzJDQ4I6f3VzI`{33I~ca%6+S ztiv_*a3Y;fOb19`;I3`Ec5S;WaPlvK8%(ATsG`nbCKGfh+r2>Nqo1pbVI8?VK2m5Zh zCB3}t4v%dsm$!|D-R0%!TW-Nc8?3KGLqd$9P;fYDYutCy{6=}awmMzdDC`tB7SgM0 zarwsiix64(9U|lqxfzCg|0#8xvwqsX_|s`Bts*alc`jHHM{sv_el9>JKp3n!Z#;$_ z9Jfk-nawGLuv!FIt%v|w9`>+$?X`+k9M|~yv8%nylLE|hwp6n!&8nqr0QldKk(^1c z1zeAyy{P*Zxx7~eOFJMV1Z0}WcZk_-cpQb9v0C^pnmr9e165eB8W4tHPtEu!yDJ~1 z7eb-cnrZ@?x9aJwQF?1Y&f}CT8#I}MSr>DEvcVVKXbR{z4Q{Y0_wVnstRGx&2$?sA z0~-eCc?ePR^ItLvd)*wwXYLgnt@6W%CEC6XgX{gV`Iu*ZaDz%GIeb`dogZB9i_Sx8 zM9>DG|N9G);Ywv#`02yz z@Y=>BjfZz#dBNeUt~z`HBJ4`MP^#v?Tq={@GC--oQY_Iz6W=`Zn~m*wa>H`T@(uWG z+~0Viacs@2*IjbSbqfnEp$r027WA0=8C=IVkjIFOdw{-w6W;Hn?+?;Oeu?n-om`D^ z>2cSBLC&NhnQHkm-P62Of`9$9S$+p`j3%Rz0cRe#Y3WLmwkPi;~-w4t9S%DMUJ zc+sO$NC%WU!Eg{M;tMzzwD&)0`~D2xzf9j7^!++`{|@;%kx4OoABFcnz`LEc|I7F~ ze1N>z3p-cfu-tjI6TWU}2r@kHB=h*QJ!h8_dI?7+JXn<^Mv?C08x$d3x6UJ{8uWG8=x9= zr=b#OpmRaW^%~Hu``l9VfKgNoa})TkrM|=9JCFLtz&F&zY-`Fy*w|ep4|9Xy2D2@t z9!6#rI14MCIJ3|=1nvyDW8kg?_dIa7fV%}!t*5DWve13U;mJ1rmmG%&{D;AR#c_DD zJ*JzM-eiS4g8d!-|4BIC_IH+wlRB$aXRul?)APJu&s)Es<$0}vZ+xcdTJcW$!D?yj zrZH_+d^bcl=xo-;o<(uK(Vfd3EOU*;Y%;^2#c4I0;GfyrbQ9|=5C|VFE%#t6X3ITf z1s8l)3nYU?mUR}R@YQI+7WyUTv^Kw35pE5Ip3@mY{~8|r@S1-i#kZ||L{P&;9>rI4 zhnI@B@`LpU$fFmnxDld#fu!(ePPxB=x-cTL`o9xMZQ8fqz*;iUW_VglI29 zp`Tc~P*vf9I(c;P#uX54fn@R9xa^X!t%_ejvg%h%2)Bp}5KuRZ)}ohE*zn5R+6tQ| zj=@LM=U;e!`Z5VACU3kkxnIzYNIr?b#!bHN96p!db#zz$JPG-v|NQg)n-OkN5M-s? zPCd&(PjhI?*Gif3e=}3A84UD_*dDe=yiQ$EHb<%z@VazH69;}$=Ux1SWNJA$L7!w& zz|I@U6JQ2z6)V!v3G|8XBGqD%Jz~AI$cvnDp9{Jsw?b0ur~aTEyyOY9&Fu8ZCdR=X zlub+^+@gcM_1@VxF zid9X;s%BtSiPAZ$Mg%rFP9=t;W-`fXY_L7`+cexHF-M2VkUd%Ts*HZSUT^msRo-gS z4*B0ihVgM|Egj8Y$?{jS{54|!*0y=!B@203i-G!9f_o6iO!}lwIGRDYH4pXJ*T7x7&0sbggojKe zf`W`~Fd7QB@?mcosw9~MFcv_Gx!B=v{eWL@AVh*C1)_`gy#|Fl4q#X@d#qVWDwuL zDOr!ftO(514Jl4^Skq#b^JIM%cO)sFUkL|jWUyaq1iMCLmJIaU0yZtp@zeNv?)?99 zj+!-d7HIoV_e=G9gNclgbd=^u&^0h>z6Xe~AV2ahIc}QjFE2(jM zXVhkkxb$3&SQE9RI~;by!^V^;lDL^N-9+WXWdF?IP8Rnj+1aI6^3zgalkFKk2`=!YXv5B0*X&H zD^$(yEXinLr?M0|RI3dMkHzh_z(WQG5{bdVL}DQ0;d!r@=RHuw7s+Gz9`2I=W)az; zp=@S&IAd};O=hQ)JXT1i3I(tcld!@=`*L|W@cVKczS3t?TET`s3ug6KTN^YHw+ zwrTYUJf!UUSm;CWK>UYbTP5c%5c41iy=ET27~Hjd7#{MN>%ru0@F3h;p10>iCg4Om zO~YL309pK* zgz$E*fFxbhzlkfz<$ss#$0qo!+wy7nu#uGUyEyK3SNW;4S8v)64=H~r^f4DakYX*g z?nnL$XnXp|@?96gLms;=`Jf9PI&GC<+B(6gwvG`y9o@J=zo)5doG|sW4dXZHB$a4R zUD8Y{l_6!d2gVbOFpoM^t6}Pm(3$GiCk(9_(>)eOH3HzwkRPkhtmx?ehX;M z8vyYDfT*V+ zN}<9WGXsX2B$1h_YC$Lg=;TTO&IX{8OxzZeIGql6GM*5$Su(N>3kw56!UVX$;eT29 zGLqB1yhJq2CuP^e@Tv3Zh)ieJ5quMQ z0b)27+tUy&Xb7cP@UlY>laWnBa1e}x_+eOx+>dli8)jsLKcx)Dl(J1K9Vpku59j5H zxWTE38qy9pZnZ$(-)Wr02NwkG<`&dETIWRJOp)DD7P%b<*DPDMCL9Wd8w;eA&6Y{V zZLh^FQs^#|zq5pPPdJA#Di z^I(_;kD5& z>Td3oXw;jU1Z&$Ud%kZZJ!zY*p7Eb~iP_|rW#o}yE+e!P8OC>!-?DtvET68HibTZ0 z!sCsQ$0i{&GEB3OKz?SQ5SuX&px=bLuVpjk83JX12g8FXpPhB6f?R~qmrhT+Lae=W zkS0y=FgUht&(4l*?bx<$+cP`1ZQHhO+qUg*_PvYWU3_;D_s{jy9q~j*XI7%Jv$DD> zQw~rxd{H;?Qlsd>190Mde*&`{*uBic?uZ(SD2=EBrOojnVV=2j@~34H;9vOyy9`R+ z8RNINe+5o|x8gSOxXu3TE$N0c>iF!|7}9NmGcr|v$=8lwD!WMus>P8O)ejRNS;`tpAt{r)UYO-6W2m<lzRir^}h?-}}Anq!Q zKj=GdCC*ltAe!r)xQHR;K`q(bje=AX=+p^*@XS0umyOk)5BaS>uX~`!zdg~wyQ>3L zE@~QN{*uBIYj*WR6k88y)f)43)Gg{yTHxMVO{1I+@&enjb*@9!iQ}hfvK{_!FC;XH zxN?Dlh)xL-u5(Zy*?RGdmY<#alNs}u&Qq0g3I2TeFdw?I7#Rg1Ob74)I#|N)GQq0K4RotbO=?-f!n^MsyPwu0M|%*M*%rF6B*O={&H=2v81JRqhbS; zA{26%Dy0OBE-+QNfd^nf{9yKh>PDPAvJvID;`wOt^uIxA715P#y8;cuf4AhMUyX0j z@{-@6|Ecq&b_|(w8nf-wn~~f8%Esk>tN-lUa07=&g93-o z5?N9{YgF&t`$$^PnRqZeA#d0hD7cJ^1sPfRUx)8eaRGi6xeyT_Abr2Pb7kTN<_fDN` zLshXUY(PWUQhi<}w-EGZ+1%|{&Ek0@|JUNd&|xyfVGpO;;oc=pa;A%!clouCP>F^12)P(5dI&&%K{cFsw;-bdF+YI08tTB%I5-R~;opQWfRnrQXw zoet&#hNLaVu4LsnlemTbU$FblOqJ+}`>5)dOjsPK)d8*AeBk(8^sdd2-Vo4!>8{j{ z50W^2IoDRHfFd)OGw%sPG|08V>RW?WPMuRZ5@Ys8MaKy{AnbWp zDjRs*Xj^(Zia0hKx;PH&M{Lw{GclvC(dZv)d>7k3?w!VSGPaYnGf2SHX*|6hAANWr z0w&of7O=4@$)bUkuz@Mz%RACP8{G)44Q^CJw7-v3UA7awlfoA*FN-m^dU@C*1=Gs# zcU==?lh9n9_z>&pU3e4MTU|Fzz>TK&wkxbV3#C@emo=V=VTaw$%!fm9A7*xwmf z1zFX+cCV?l@MQr#xEg$+ra!Hk0G1(VXO7DJY`Ly$uD_`05GdSAH7jzsey5@Y_9COO z;#8Ic7bt4|YeZ@FdmXC?PSQ%FE(jg9`n$Vix9#4<#d+~&??Oo*_L&d1|F>Hj)}1Ba zu3A~qX21?gVwMtCWmk&%YQQYAM%i652`L9ILMVM)6QVhN!$e*(RRV^tIJDt|Vf5cPQ|@+#I1cOz(4oeM7 zwy4!=J87c;f00Q}Qmr5nSYw76((vi4uVVJ#as5Lf7=jsIv;*gF#{6en**@vC0AMG* zl)m0~k-g?8=-}(%_vd8P@Cu8lnm-~+px^v)*QUJ6<#IIZ#0leb7 zdV8MSN7d4a?40x)b-eb02Vo=LRWlqk9XlH%N0YG*W=4!PY;*i7EbTQHh^t(d1UHYLK&Qn7NON$_iNpN9NMOc;fQHmM*27Rmhd@U{AR z66gZqGqtVDH6_1G7N*yQw0LSM7c>@LSS7dp@}gpazPMOnOri3jPzsUBykw?FB^}z} z@k|uBu)B8mJIPqI4477Mnq6B-_gEH86cL+8Zv@GN5IYNcN+aR?hsO^?g)0^9ROrg) z903+60Vrj{R8Oyp8HNn3^@O(i#KE(*BtRN|k|Fc}%OCAz^(ySgY8f(-F=P3~LC$42 zfVx#G-BTk|o*R6p8+k#c>B^~XN&zSk6{c|2@v9Y^bYQJJW=X|{n-z4Jq;a{3m3e2* z>Dr4ZGCJwKdUm82@M7#MiZ=!wuvZW7(0%z-XbHJqj36pEU$D{-ZyWY?OwetQ=@~!R zVIDQi1hWTXqV?fqZkx&U8kF>Rz(CdW>hy*3CuNk)Roh!^+}(TFL_$A)Ybj|hZZ1+c z|K@b@iAi`8Fs`#%kG#H{xM&tX795F}-CDg?M$|!h$R2Yy|8?rDBDhtm-R92m9rS(Y z5SkTmR}w=@knl@}Fp@9|Ow4H_1XQz5@G+5RnZ;H<= z>de+}peqJGkJ1HSXo(kppnj%FS#L5QX)Xa*8~C^^a(lc zB&Op<|8Y2w*aJ7eDfSdhrl_ac&E}f!_EY-y!t?I?*7irx0Qc-Mnb>w&d$jhQ@SP2w3(Bd4 z@L?0(d+r;L$z7d${AW7Uu{}dnyNR)o*JJC0q;wMA%X!$iGd+p|hqNVZX_+xcnDmM}2(vTp{4~ z0jHrfd$^T!RNO|m-$N*cYiJED3vpKjQlsMSp%`HX?~e&E4e32Yo@EE>O7y{Z%* z(ot}0qvU!LKoK&Rg3Q?6qXxn)qSFe}Pen^fKcdv=*eSzm?KxPoNT` z50jixonpkRO=g>Icb*Nsqh;aI z_!RQmzcSv+Voc(}W?sodFc@t_19FeV3!X$j5uQquE_7CJn8!$i%L%HggM{)6?UQAQ z`H@eV5o)@M+G!uHJzK-r=}QQ zF-b71_}*s#7YMC?#JlpRgDHg+?}-rA%^aixA7#JpC^MqI-nqU(>qT zZ)Z~0NmAK|2adc*Y9NG3wH>;P0aEiUhW)a+ZG&Vhu_r@t20WQvb=sRuH6@0?>2T== zk3Okpe~l(wULeB30^crf1aD(PkO%8&@t}gIJJ@7T+LKuUwL!8&)_L6 z@84t=r(Y8mdi(uesd(9HWe=$9bq zU!bqrg?xe*0ctmlqOFi#IFeyarTjMj z=$uFc%o%*aZV*}p7>v7uavcD{K!Y*=ROSga46=!v--v?W2^5|2P>t~YPEum9t&=dwI)F_EYxG`4+pL`@6a^**_fI^8SVo|bOE<2o| zxGDH;!fuoj{yz4~-7kv%CKO5xrAMW8_5m64hBJJq6tM@9hPcg=B{x@^LQGHG? zH1M3YW>D`2Z+oicFa4B4Z-IdSzO*H?f2)b3qsGZe6U?5{$%-SHNazW0dT4#{@Oc}UCxR+(4k`HF_FC)iT%&y8y(Ui#FbR95Mq9a3q9>CBz zHF=+z6gEVjY+*wkLJAEv^<`Wewob>hYDf!GeL>J2xf|82AeB+wy#s6qLApH@QPlW& zC?FrJqZU#ClQsu{ln5-;!`$PWt-#eqSUb;H#z&6?&I?{vFrm=Q5etbp(heJG?(yI1 z(UV%dMZC9uR2?2)vGrfDKvvV!zu<{zZkoZgZ2@}FJA?iAWwl)e&~5{T&ku(huRVp5 zB58ekF%#bL-CjAXz0x@ML6f7;OQ$w-AdV!i;JT1bQQXE`Qz3}PF(ybPkFuOEIsHG6 z8@&W(iIqX8n<-;0#NG}g(N3MYy#_g}HxZ=o5jU;i+0mSA3!zg767H=aNii&Fnej`D z^T1Mvy^DJ~n7m}#VI!q7Vlks9$e(Vf%e=oUXs4_?Zhf}1Q4a&tL*QUh>5{o54CkLe zuHS7)ZvUiYw{5j!u=3&2G+9(KaR=&rG2p=s=R301MSqX$WG#BjZG4q^k6}+%PgHNI z@(Ov+bT?ID}s%2p!9l ze8pp?96}Z%aeivTTTbL6=q8$5ex6?`d$)u~*e?Hx%fH|lEn5=%sunHlK0igKLHOQ< zm)ko0WmAqSp1no(@cC_3BD*2s{x!`{X_uQQJK{-9Vc0c`=PVv{){K-zSS-|H-zk(GO25bRMp6O3tYPL0ndyw*3HVXo265(5`Z73+$Au96 zx;Yq=nwXYWc)^aI8X{p% zJ8Q_my9vYHFv6V*_9-J=cAaiH$mi>SK(O7lM1mrthr{hNSeZtxx8q(OneguG2WJv@ zZ}%Mk?;mdB=Zff9ydR`tz_7VDcc>V4;xG+603Zv%~5J_Izq?B{^Rf*REZOwx3zaRD; zwVusM-zp2ZO6y!94Bg;J*n@{kV-HX=ZmE^e!<<2%97s>pdV#7y8ns_z2$=JpS7Bs^ z4IsTeFqN+@#vkk`1YmP`ys8ZduY^EcrRV62Pn;-Xj}>Wz!|m$Ct{xRE8|;fdJ-6Y` zPCIdz5=0BcY-dOgUH=${khDM44#^C@V{M~+FR_VS6xlVZR^1}hW)B7Kkw%h*ITkk}RSh+0u?-~~OsZ()H);tQ0b`zS%K%!#>?HGOH&+L_=4dQPzfTd}U{QmYN$ zf@+JrW8H(Gx7&({r~P}$XDqERbFy!_qoYlkS(y&)GEq@+aoNBzjCAe>^r(lP zQ@mTU_PuWGEUp2StI+=E#&nSn(yEv1pgPvkII-D8miWT{*Nz%) z6T;=h_Amm~D4N100*=qAmta>BPd*;;Tuq8RI%Wl0 zD{)3MlZ#&PxmrgGEz#w!~$0gD!Foz*lB{JJ9~q z;MIV5Jsz*Qzaoz95+L{8G7S0_xO!*@R;YU{Br!abg(|!}Qz8AmmjVE@|9%r9gL&h> zn1zI<&?N$Y$y^;fA%ks8?Ogk91Abt*;@?Q@Ag`qVV{>MV%GB@cL(2x;0^EQrv3H@@%V-aV z1eTfcVeE;i$L~4@=hFf40=a?OG3z=1>4i4*l`rj*DPiE<(+&1`dl_VZhi|t*TYHiv zRaef254@A?r2`zkM)y0WF0aqJVa+Yd%IhKk3^4QWH=S9UOD8SKVA(D&0CCh+j1h1z z9@w7*%j(Rc`Z+_0`;0Ff<%8=7Vo@C(CLANt6H@2Zjz-G9hqlJL?1qeVDdtv_KT*f+ zt`4W{aJ|cm3Geqlau}zGvngQuLppuo@u^Z-TW+Bu5uU{RMPW4juo}gMR3R&po_o(^ zM*td5hPqYr1R8ta0(0rI3nLGMa*-lsMM=+MV5#^vapHPX%72D?*|{^SxayXn@={|)b1lB6YYWA20gGx3Ybxy>)hD_MR z@gii=OaPcv2H6^IpWnv1PE#<{25Qa#q$ZSco5q}JR`LcX)#D(WSt)F5VdJ{5ew^Au z*h3(miAp)R)Al}`mI~>T4Pw5DEnV%sX}z!JLituEsqzMvi91Av+vIKC+f@Zo4EnU? z$-8Tf6S+FRUqjCA!rTwx>JGauC&>v-l+gm+=4OPd>FN%vmM5T5&V}galR`zg=w_3s zak=P}R_NeC+Ih?>M}gX9%qnSt+C|Lh;(^*#4O;8S?txv^)+j@?i9W~ZI(SC-*Z~W* zd?DLF2PMY%IJO7mB3b>hz~F7SuxwBX`91cAdro|-OCCqBXbQY^AU0`FN4*Lda)*LS z%zb%lZ_J0!vMpFLG-}Pk?BB7>?fJw8l}llMyu~Ky2i5h9%F~k;dqAv?YXyIt$j6?7 z{Nm$SsxzY;>YMe|qUu;*i1ycKe(NBzt3Dt;hAY& zCFAti*P1`Z8GS~jT-F>gSd6}cT4`7bkya`>%nQHy_a+R;T`7@OF4MHzkN+XNR%9BW_DZs=_Zeew6b3Rzwq%~F~=T_m6$4-d_29~o6;d&7iQkD&OZ#rR*@ zO3IMo;CA7uQkGfke6@6|UhQd2JmKN>(hsl5)j@M zP;wTyf=LBH_Uc7#yS{OAO?aUO#(cfW>gQywz+AA-Xk&FFqh*}6adaZd+?yUT zJzdl26W(0IUPd`FyfBqF(QCeoEN*-xcv>vYw#~tf?9FwblxC~r0b^Y-py>~7o!N+1 zh-5$C)l98tq(R{Tr(PX-`)yev)5lCYrM4n>q8X(%IQ6)qu(uKE#hgKAo6~mB0GG&d zy(ijwPhM3%|BA@Ea0xYhX5Vg?hv$M=eCE>JlghEFWmhHlY^tfaq*>PA3D>MNWSNYs z5EX%qMedA0H1y`CIiK>*;(T$hQ)}@__JrcW^HeE;Q}Up^Ba5t!EV87r-)7ulU?))S z*1WHp?wY-?Xz?n*rqJEZJ+*iTKP+UFS@?M*z0t%aO>*k>tz@|XQ#HU`*qgpGo75Y; zQt7#WdSeUoo(5e#@|(0T#g$&VU$h;MmmLBV2uvfu59Fr3*0aqiela$A(60S(jDo$RYJn2Gr+AL?yeB!i=aFF% zUWbjI=#*rh$hpTtFD_zWYc^ZCdA@x6x zxagSKCRr(Mb7}^VF}1qw+OZ~H zRe#XeXtF5U(ex zz0J1LnkUVB6l;Jp<3`A@>-5n*JDJCL%WC#}#M6-H!bf`+`Mrf+dCvEB#`9rUcjn!t z`M81PFG8Yym1y=3>-RE@Ryz@Q$qn%#8r!I$!;0aBxO9&R3um&IFAzuDQ|;{s zSalQhb%jq2B#F|)c`C^IT_hCVe)i0m(gpeyf+bh#w)@r2-foiwi4Y1i2h(U5g5YC4 zzw`spd_DVk$D75;H}|hWEFD;t^4T+Zi z-D_+iWDIZrmuUG(AGk7$R)Y02%J=5Z?h7rpgr1!Hc8H3)T^v7FJ>)VF1r@_cuvG^6 zD96{R!|Z^zgaBq#duqn5a#c!9`9o@OiQEI6?mBnR<@a2vadh!Yp&)ymaRC=LyZAB!RnVF;WqE|cWJ*UHn%*%231a3ZFla?u-}S#)gkt%iU1{_NU>5S~z$292eq z)Cae|jcU7I*>B`zo?S?5t)C-FQ8C9^i$^&V*mDD@T|o%LyM0)Iy$Zv*%m=&X$E_-7Tf1Wp}xG4bhzTjmf7RShrIX8AL72LHvJsL$6I2d*bD})A(@~n zm~o;CAJur!E1y23t6T5<&G-+$fd*@{E^tTON@zEkaw1`QF^w9D_Bt15EAET-r2S&y zpmLZNn&p_I3y`bW#+c^X5h@WLlc*+RbmxdCES-%@**0V*oe>i_9&4j2);4jv4Qz%a z=cp?Q1Ca*q7p(&72F(36>&+05x79DW4V+I~JY5$DZnaDKrB^_fou$O186sic-`wDjIQSA|~ zm3e%Exrw|Qf#uVpx`f|e@B}@=X+y(n9Wq|7TOHC3CuRJ?^6FM5X7;wDV!$7c#nIQ8fC`}1zsJ!5erm3 zE|dGEL%Nvb?~VJOtvZ~15MoK^aTz@l?Gk;l!0e7avD!q@jVqFJ+-O`FaY1}3d+D@p zWE|-nZV~l73fD%uTIGMURpT@xB+C>xOMdtJt9pVr&zE?cdODh7=(AFb{7tg9JXtTp zKh8l&`_4t~oEg=4)4AFjIt(@f4=aUW0iNZWk~9U0VVga`Ok>UuUY_gfcj$93I1MTi4i%~j1_?{ z1hm#oN@R`dxs zBU$@5I)hQL6Ziu{>3LRLU#&jvrxsV=ATLKI&gsIpKa>aKNFH5TRlU>3J6TO>xJTE-(~r>VJP)*%orl-%0$zEF$cpwNo2;CBQO+pMVK;9_$II6 z&97q8cNV{0{s;qM!y;?u3(hArAuY{D<(JxmEj@FWwCLqx4&MW*yNP5C^~*eWLhxW2 z_nh6;rd+J{xFfnvowH?>L#$MyrEOrFCX!zdgYN@m^D|n@v1EjyYIic?hn15{)K%a2 z>oL{hN_kYOn%umYMnb(N3FUI)J>I|9Ot~)XUGZ|;<>dhY0Js8b_5vrN0s#D(eHLDA z>aseny?n*6E)ERHUy5;B<4Yf56Mmip1@Os^2R`8SQp-sP;NuSnMIaT<01=Zf7>ywn z$pR7*Pbifw6wU-|J~jEv7ldIPAUA|z;wM&=VjQG)lw#s5l%#4LsI;VN;!oDG2P(7L zFmBy+QM=6Z+`0{n_Yf1zy(bs#wt<{=5L?W3i8)<2X)}Ghe6M|zm)voIT74IUtL+}S zto`Z z4m*Tp(gFD^&Cs4>F3DLzUboDwC|$2e%{bkl%I!!)H&+NvBX3rIoT|A`yu4znhS{uk ziR0X=hTedwUI5es)dPQ5$6@8rwyyziCU{CxfN@!KJ+odSRX z*m;)uHw0f7woIR<9mgRS8DTjN4foni#UGtMP`Trriw%=JAWHub`}*}A0OBygJnach z)i9zjLDe|%Q>1QS45M+(+@hj!${pLXf&7(R!R0Kf3q0Xq^7~EyxoFHxT0w z$9@r#AH{wZ5HHPs8BssQe(e`d(|QqBUe$Uf?CHcfwDC_Vo8jco+&44%DUsKB9($!G zSsuHED%u|Vl`dQVkxwaCCfN#=Sf*GmS1#QN7MaFmFHcs^S$(+%h^KgUpK ze+L!z4f(S*;HT#U{Bim8{4dN{Z@Nqb@bv?MMx>Bzfr!l$3`eAt?f?mmBaw)ukZOZT ztuq{trIhIc3JgQ}|86G;2Ake|q6IR(NHU$?VyXi)Jc&x9)_k%JHoeJmz1Cv73ph9m zhtuwCq7^#1O0(VWe5w;XI*ZHW_H42pKD*2F{r3Dio51x?1JDnVPv)ylR_$H?sX}?P zQL2Y9*ls{>7{{e=w8vLLnsdLxVXA#6PlBd>ugs#VeYZ%%x_!UOF5ZAqyEh;a^INPArF5=fJceAN38(e$fKs+Zv=*swETLSs zRJ;+Z@od3jrbMhBt#Ym5e5O>Q8L#v00h`Wrqy{m6C?cKCY^(vZ{%As@#&om}wS1{! z{XeT}f4bnjS?>M@>GhAo__3;*WJefdT;5O1f8C3vx$*!1_Vx@sqw#MUy$7#fkRf9+ z#9}SCeFa3KGTEGtHUcG7sy17kj<@_pWU@M4AD6pX5q0(*3IxqR$RM(?>Hz@gBDxkC zJsLMstfE()6`C%M*Pn`4pPn?@##%0M!etvhl}J6*N)@!sRf30@dr@G`MSrCpjwu$E zDp~za972g^W?9h>=7wY23t*&a*$ZmtPnm+@Iv@}M{Vl2&7SrB`T0(0tpCF7{3}Va> zzB-{tbDuH|#C6+;jqiDDKp3uCVVLw=jGQVFf821=Ub!Ytslpi6LT%Wcr6yL&(imD} zb;#Md2H6J)f+R$je`V16sV3R$;urv&eLyeDHo*Yr7=(;{&}_;!$sywy2)%W{h#!(T z1A?fvPpQf-6Px0&Xsl(>>dH3RW8)YQ-fh4j>n6d3>ll>QZO~%tCdsAa7#RO`z$7o^ zSCHyn2$`>7oanDW#W~UCzm_QFTns1zztjxl1!&w36#ftjp(yZ^8zm^@`kWQVQLLKF z`#fm)lokc4pV8?K1pI_XOf#a$lMOQzCSLO{PV>KP)(%PW4}YtyLMgWq8Og%pI?feR z3C&BvcRrNiw5ajCY@cQ_% zdw-}L0D!-=nm--yX}ams$h<3puW!@lBAYvewW-cTqwg8a+jSeDES6!tKY;G z8h=+Jk7QK7Ks=sCponVK{$MP=`cE#=|K$P97s?c>`SO2FsyCR=R|yo;Y`Q<3&D;Fn z9Tnod@kAPZ9QxN?Phy>)*P^}6%LTK#oTF7dGRPyO$!zCy}n>y0*tZy5wGf?&WO zo;eR|>#f$y{j^hk_i=(EZOZ3 zM^$oUWA#bJ6UkL_@bMpMKYpuN0r~Ow5#@!1N{EV! zjgO3tQvRkOFE1%8wJB4}dw+TR zT&03P8nR=AnN~$|Yq}swK5#Kz8Fyr{x-Pd+&raUP}m2Bk2bXOSjT2J9GSWnH~X)_?l z9*LAMTMk`DqqsP@Gez}aKK~Ed%QV%=A9%01jMw^gr;zbeO!|s2=-+wQE)4_km@J*X*o1C#c4Vk`d@yv_-Uybeohk zdYa(wL+4i#nAKu!8i@?pKUD88*J*-1OxEWZbS(0`aWQO}({N`i;lbz{b}2A#cC2R{ zIB#Yg8iS zAe!PYM=NT3_pte5QbovYYRt%^5Nkkk-MJq2aJg5=I~MRfh~?bQk(I`JEO-( zeSF&+9QP@kPgPUKYRV`B-chYGO85H(RYvXLgI327z=dFJ#e);1`{)UJmu=+t#SD_lG?TpV4t6nl{yFjCK4 zQT)%hH%U%_gVu?TkJ|Nk-By^p5_M#yd}w7=5l+zVB1X~vrJ9sko{7M6i4${Vq`Cup zN%0S@G8T5rI8pCM)(UB`V{2S?SGa>jg$FosBGv-vZ*&2*vyRmKryFAVJM8D69ORIX?E2PC#foQuusD*f7ir^1@2v9X)IVf{!g=HN&XZ7R}6T&KJA z%5%Q$-fCtUUtGtBYi@Zf^M_b$-o&mi&ywmNG4oQKH=Y$>Yb*Ltdcn>t=PauhWW7%z@@U=?4fJn8Xl?X|aO~MK7T9XE)@z zy7$cmwL1BO?miRzLl6vdN*@jqYh4a3?g>A95S<^rq%IU=NQEAhTBl3s;Qe`bASp1$h;Fi-$&g>Sx4F+nT*z z@pbez3G-hOPgz-^I{2omFseJBLxY>SYb=j1wCv0j z2M@=Q4MVh8W?e`wE`6@l&dro|w?~e*PmZ@DMqTSlR{JztD*4gr#&@Oa*8?Z@Y^l(P z<`3QqkqocjpSkjSaW7@zK9*-kwo(JuH{lU0n8^$T_mzu2#TI_0sew;NyqFJ^)mxWi zjdyg2TD8qqwdYMMqh%X-fok$+(@hJ`cPokNjfLK);+su{bLmX&B{JySl=X7t5l?k1 z0xB1BXdZbhoN6cXU&;Mq#0ooBAU%`RrUE`h+cE1Z8QAh?u;lMSiUI-@orIBFG4We5 z^Zr3h0s`KP+>SC|9yavwqjUlEl6qCDvSO;5VQuV5>vc%1{>&O-oJZUzGKzeg)6QQ< zp(SVhFTC-Ob`LBtfq*w>GvQ#E2eE=D{WQHk-}^0hHw~ij*(s>cooub&t&!C(+aEgz zs&6yv2A z+-{F{4)(rGpdutEs46TkxLoh{CVNMPUJ21uCt zGAQY8^D;Q;YG>OJF}~S>p|KCE28R6anqF}*Qd87aS6AF_4hGZxb%61oQG9Ex6fR@F1qfX z^Cn*2o))>E-d=7$>+fH(sy{ce-XFus?=>w^!TU~>SH*0IgQQKc|MnVWvV4Q=I4!RIX; zN4@>shQ0l}%)l3q=7cUzA~FzQEv!|$WqaYf6p>0d2Qb^Dp7PBWWETAFY#owSxj;DItRGf7`soDf2+Cm?R z9FYrU7K87~xgzaNq$`kb?6goJAN4iX#E{kl)*q0@Ng3BT z^_&31KPnm%fjT-86A=*~OMr6Ed!r2op0d z){X&*#GeS0JTBIYZ2yiE^QVz0!wO3LwfZaAY+>$QB;Lh8zzu)Frg}h60DwQBKfqOU zz;SkbDR00)bODIyfLM3nI)L$eY=-#vxtVcnlt+{A__&~6Ezd>dk~Fy-?8E~sB>mjm z0D|bHQXk={ZNY;qM506YK9hMfhIS6e$1DejpA-^G`iA|P0cEI1t32Dz^so}^+)X>% zb5@G`BwNtX`ovp+UC2tC`-mAO!r8Y1vi;4qe+!uKbEYffkN*`Z`>8n87x_=6oO%rR z()SD(NgaQ8`~A?WUgA_LQ0z4+CVH$$$;$)1u_vX}F0neH-i$v7nZ`KqlZS-d<<0YM zt*-9M3s9^BH1t66ko71g0@$Y%-&ZCJM9!0Rl;PF0D0KooY?C1r zj*3PMJzjDA<F4*pAs#Q->APdud%$@Fyk( z5KU%HwW%oc&SZB7&vH9^4|tMdUNL;T=%I615B$LxhR$0kK9VYi-X#L_dhb>#sRxr6C zH=4v&wCK%I4+mRR=h$thEjT6bY+q`wT+L~7r7u}3>s?Pn^*7gHELm#fYh;13_qTi` zn+xY-p2SkLxC+=v*m^_OR)JEsT(R5nL#9oao-ybNISt6zYPY;`mREr(YYc-0mp%Z| zp3(0KgXM%fzydY7Vd1oW8;LM%9SnD^HBqYWCYb+(Z&X;2X1_?-l&(Ir?L>h$N`(FS zu}?Ww!l#xl8EEBxw;&EUYoqfTHe23mnz&)_`>11!6H)V40``jrTHVO zc_?+q6Z-!`)c=#4)N2rGjt2}n{k{lLN|p;Y+uqQLXFoJtcNh$My&*qTY-gO79l;~; z{~Z_6eSVHmFdne5WJ;~>U=S`i4O{H1*i4>4G$8S>3Dp|?{wQGdjFAs2)7jkNzlg}j zRR7fD3oUKvjo5JVPk@k&Xca3p`#qp!4Bh_^vYKD_lxgq%7;f(#S{I*NVz;a}!TTzu zrY}?Bm)m(Xx~CPm9)`Ja-B+KxaNoMJllykL+V_K$oiwcGtQxLby*@wttB1eOms`lC zX7biAei(WKH+|{z_!pP~et!c10sIR!A$~3p05||3GeaXAdmAfj01!c8NksrG12=n1 z04x)GBMSg5OFc(x04xBof1p25KtE70KRA^C!|*eYj5`J#k-~=&u$#L2Y4LArr^$-3 z!iurv5=`i#pvi5PerPfNX!4ng58#z+h6-YyYm%?QQ4m|C!9|cvnU7TjSw1TqJPkwQKhT1@kVDx*7eE_ z^XPlFfp{*+JE-cF^$siiyHKyO;tVl{< zkg{a=Rc|bP5sL=gVo2w(q7}0=V-wS$%wjiZU$m7$b<1RnR;|iK=gy_|$Td?|i~7yd zOy_3jb+0uO_|q7#JhG?4trZt{6W-JK&#G${DKi!UHQhfslgM{#M7bf;xe?Up zWh>^nT~;XS>s`6onRrF(7Q0ybABaAGZ%yRE2+5Njn>*t`ArRuen;)!{*4fM~+etPn zeExm|)VFJ>|C`gFNCLIhI7SMbzDhJ4URYvQveQz~;^hrQR(g~G#=PUP5RuOMtNa2$kQ%TpPw^xK7-kg>gN;QkJfnf=*yGIxK)ThaF49z)^rheI z?|2a%^;-Zh<4fvsu*4LHr3PbH4>$-lf9d>=5Sab9AiJy8m>><@K<}0lfLc>G1nQO( z)Ds^MTpwWx4!8RU`HJ9`Be{4{?5bf56>0g96b`$3TRdVNJSOq}fo@$Ym-)v?DB1XL zdkQzm)`*UH&!mqSP1di2Te9-FQbV*<0kBd1IzJdG4!bwiOX;9d^B+i3i&3^!h(A(O z-7%nDJ|U$aAo5f$f3W6aZ+(=J4Zl7UatgV^EyJn8nZo}D0g5;U4X%+gvIe5Bj^VdC+EqIOL3t)6*4`^kl%%x;)=u zfDG6N@iW*6Vu6v_u)0vs#l>HGN4*9Na!rBhqOLr;p)slgdhj%u-n$Q+W18G@sqUul zY`;HcozsJT7z``d7+XVoT2GCQLJ7nWQe%LzX;Jr0`1F1!N>1l|Hy=LTE?;kV9rI?d z4}+l|}Zf971+-$n$^U|!RMt5__dc50bsU0)!s*plMew0dQ@^{zaUDS}$ zS^uP|eWTdS(Qs*}1in+7+z=4x(~Wd=yL>Av3QsU!8M3l_hba;h6cF zegZwhQ#Q190Us-8kFpy7a7sEPaAGmy*5QH5p2-#Qh<0advs^gDb}c_Hu2YwiDF62B zj!GFV22r_>=9b(m1BVap*Z3&c({cNN;+@?RrBWp9gTV*_CweOD9P50u-SV$M`qAZ; z$VWUwUvJZh`Yf64MGxxp5k+r5I+i&4y1x|!9`~7{ahs!Dby?*~G_}5xt}@n=oRpV9 z5DYO^AafCDTPF9IoYLayBT-zx|IT9|HtfP=1WV8X-`9XZYDQ~NZ%2YhO5Ctz4UW4a zU+*h;S}iKA{H9B=@6YxT0J9(gTu&&t|!NXrg_8xm3-#m&fbxnfQ_7 z8Q+l&6AvF39S3R%`iil7QrEABi{zOs!_PyY@;yvM2+N=tG)~VTEFGs%;G1TS%E2x* z6`Sjb{=WhrG2qV070h!i7Rd^^*4)i`YdZVX}$rPL`8B zk|E=v^ery2iIq4jZDcpruVDQ-mw24@sbmi_ovRW0MzWObO7J zrIMAH_YO=ko=YCao)5YDB-uuuL=I*Dx@3v5JD>1l*3TikaP=56#7Z80HGP=<8|gSAnRP>5|=62DFwgyZ?`Xe7I`Q{se4y!h2TzUHs4X&jEyAg zfmMMGe|e{@HeRde8F%Xf;}TX@xC}fQc<~qiKN}dus7E83Jhk9BjI-Q|iB>mptqm>I z8C*NhY7{OpHSxJ%+)Um|hR8d~+2knldNL=u!WgEXMOKiFE_F%Zgr9$R%Lx_}nE!(R zE18}_|8L9f8tKo0_K`p%C8*zLNk5)L&~)uL$^d`GbJJ&|iaMf7~BO+&|Di z5Ci-t`X`_vkQ2zkP$>LA^_5v)H-9%&`lJ3Be&?^Zz7P~gSo8wW&(sqGO}#L}6vkN7 zp}4>l!5q_JxY1ONJ57JU1E$`1$aFZ~F!jO5roQ;f)DOE&{jnEGL?u%)5tE<$nc@a1%G-U2fqPyvH5ff%mzKyYK<`a1TD@oxBqt@owIYk9i;O z!zX-*58+e(&foDF|Kb1moCkOSU-Jl$;2WOgNqo!GJdN*omgn)kff4*VnKKV z@I^kn)L5<>%TrhRDyl#g6{?>i^;4{VN>omn$|+YZ6{@9Dom8olYIRbhPHI(1oeHU! zzv+c$`Z5H27{LhK%>owS9u;yg+t`Nt*~uO}ph6x|A&;t!C)B``YTzkt|7mUc8O{G$ z&A%K12kuB@kG3E-5wbYHr7ZT6XY(P50Byhjw}@y zNs)fpAV(O%D8@43*0t)f+?>nKH7nLwYnR&P*2TJ8PwQ>{ZvdFH;kYcFnex?V4@dwyowp_iWqEwrw@r`=1@_i+cqmMGa&OiK%aF?^ksAxu>1rsH0Ci z^7s&Q!l7rJ6ne$LpMR=Ef(!*JY-me6s@AOAJ`Qn=Q=H=x*SOOI#+hoarPg}F3*PX7 zFMRL!5GzUO>#eQO|8HZJAW^15l{T`Koz!U2V_%0l)~U{QscYS0z=H-&GtV+Zp7f$O zedtR+_#?zcnxZ7hQl!epwzjict$OX}FvmH~c`kFETis=Z@ur(^xraREC2#r2SAO(o zi2t9oO0;CzimhW4+t@{&HhuPYxZ|Dfe3!f4ZSFSG1T!qK!o!~SvbTL~*iS)7kSDsP zzq!IeoqZh@2K(CjDhx+V#z>K)#JV=MtzFe?*Y5yFIKde%aD^M(W0Z+zT4<$5JmVGb z_{7(K4k08)dSa!@Rcbw(+0JenblB5@j&!0kUFb?Ty4Prv%(BQTk9yXt-u0<({1T!< zQiL~7nmlFJx4G@@u2HAG9ONh`Im<<^a+BNLXN<{aTWqz*Jm)p<`OLR|4bdSv(iAUU zzH%Gb!VdP(q|4q8cC?e7?P6EE*&XgT))aFrvBu+`_qz9e?mNGQzi6!o;5f7}0Ha%N zmbGm&PHNjWf;!1W&$eybwr$(CZQea&KMu~1vA@O*QVr52>ubuQ^SFeoxPhBk!CLNI zQnI}&x+f3ksl1ps@_s(cw@d1WkBENB@A+%StcHxSDOr6Za&Dz`7B=!7G}N4_xUNm z=8yb6W2`X~!J=4mwqI<=gy_pYvP(9L$SH7-fnr*`8h5n*)RS@!`zp zC{Exs&fy}i2o}WGv7Fmj%^kTr_vOK*6_wlLNAh@{%CmVPFXy$qxx9LPN&HSe$`|=A zzvQnO6EU{lR#~zw(Vcxcl({UfsM}th7{@7`#RXi(H7wyuDY_2FzUdiiuEAQrme4Nkn z<(it|Ba(0OLw?C0Go~Vpu{qlZvs2yKpTk+mah%3^To%kpt>YHfa(5ocqj@UN59X$> z6*q7b zD_F~&Yw9-Cr1#|hJd{WCM4rxbd2vl$RZaRz-pqUXIA7%3{FLACTvlD#G{PuTY{~ZQ z%HA9pi9{Miy8SJiM4E>#X&D-z_5XjR4$O2|YH#k!dRB1@OSy*S!3L>yT){=0!)ctr zQJfTPm>R=EW^*w6vO7DnXRuMKGuyH`6KtF@`8$8~i3A%bf9ALRoFDRSzRKtMdaz0I zMLx|(c|Y&u&AgVk2BXRAc_lCAxjdaG@@SqMj3tld;XIIgb63{0iaQ3glGWVCa<1bF zF5(<63C5H2ID?ZohK0=LVCDuB$)W7ep6txFY|aE*29wDYql{!s{LF9pIX~o=!Bpa7 zzRTD7BA@1?yq}K;(}@RpH*XF8*^M~>Nun%W_@sKfd$`^md)BsX+upt2%e~8M+qP}n zwr$&HMny%(^!uOv{^_XioXpCq=t67q($@xF9(ZBk*>D2R7Jm~J&CwFA(E4BG{S=(+ zOok{wP#UoL-^jARkwt$KbAw|D6ov#+NF&Fy75`8A2&I2LQ{RH&V^g0-eK+c>QJ;akIej(TL&!@;pX;VSetealG%&-q-%y`TVy2Oy{n3Vp0SbQHo2)+B1DsN;|bIwmOF zG>dDq)ltuldS}%8qrM&WO$1G>h6dd_#(RPjpQ41zxST7vlB>9yYq*x{xSrc^Pj1WY zxIK5^j@*ema~JN)-MBmVkd?AZ>vf!uejaJ=#l5)?_vL=vp9kJd@n{~yV|g5p=OH|uXYfp(#j|-1&*gbMpC|AFUdWSpifpbEK#3=*3{JEP zY#NvhB4Ev=xA9rc=T`p6u;>5P(0QIkrKD6GtYF_uQ!=R~d5;C-(N- zfym@My4BmxAyeh}03eRA=ju8IA<<(F}2~ zZObs)>7%y@qn!rZ$|=tOJ7SwK!s#Qn4kMffTkVuUKX1DoP0<0pFa+Z;152YctXHx12ySJ@?d(p1+ZQoM1d&UT7qS;-Dqqg@=Ve@tyVk*V z2{}drxirkZ&|qh`&^I;HmrqZGx$9{`X5`w;Y$s)M7iV$|Uwd#*B0BCLW)_fs46;5z zycy!r*52we8JC8CL|GAMMUoY1R%BUGA}eZ?6(zHxR92MEigL1|+^i_CLBRSl3bd8B z)*>y|5-rs-E!PUI^h}M`YL!-l^?I*KYmVk>p5|+T7HVT{qD?*1LR)GxZ4T1QaTX*f z>5UC{Eo5$QkYT;kXC%EelViOWrP@~8X?yLU9kr8o)-KvryJ>grp*^*i_SQbySNmyy z9iRhskPg-%I#h@0a2=tez}f-@@~M0#pUW5WrFjd;A=1XNC*;n?H{pA2TP!5uV zhY=+IUIX2H0 z*dkkE%WQ?M0w~{Gfww|$jlDJT*3?@wkaj}a*$wRKF_b4F-fEr{9BT=B+x9e*9^;8T znWyrkKYE6Kdf^oR;b&|+fRR9nKR`mQ9Ys=vRX96{-rK!FTpYj-w z&B#(dQ}{ea({LV1q>+b0v_J{UQGqJ>9-|#PqYHr^=U!msdMgId3v*F~`TiJ$g;>xYJPO?UJ z_KNkgK{m=J*+q7h-DG#!L-v$+|0%mEvfAg~H>|QI+??K^hIi+WeggP=fA|deho6CM z`#TPQloEIW9Llv}0s#Pq(eLa}g7oKpw-7Bh2Nexg;dC%ds@MjxD%xj&*sC7^4FKBm zHyb@6oKsncS@9i{R$kEDFbH&#zMJrIJ3Z5sZasu z+y7sxgo_>+V^yl4@eIbLYSqv>f-%=mmt`5ygyU{u7%;+#v@#ke$WT&{(KV!FbW3+l zVvY_$y1Nm7bayil5CKPbNLix;2?!`3{d)~!izOovi8C?; z+`_e|+`|PxSME-7%qHhM`usvZr|m!GXo=cmVJP4z<*KfE|8K1G>eu{0XoCUb2)`c(LVR zH}3mH5E(X5&^+y`CT`$)A)%a7V}`~-wZJMzPzmLdsAmw$G)c9hYTbS@ZyFdGiQSk4 z1sI!Qq&EAVB#-t5)^pHQNtDdH-!UE|{yDBC84epwfV~W7N2rrVKX892>tstlO0pBv zx*l89v^9jULMkF zNIQd^ok?PjMY4FVYlIt6M2Rk!9rx_lTmSSpod&k~*SBp{{QBJSPk=yD=2%dt6mUD_ z)3M0-V%;~l$iqkPG2Iuan|3-oax*DGVr+(RYLK-ereB%$O~Mk~Q+Y4seVB5wBy%$b zH0nxrA^lM_y9-IQJt*Hq!-CG#V}%)Fbjd$C41SCv*%25qx^B3nH-@S{d>EA_;7Gcq zE_^ydKFsa>j@KXdmomG5S2id>CL2uh+5y}Tl+c|Sys=fy6-((-a!K>XU&2;OS$qjY z*A@DI^(F}9OFYj=gf->(9kpk)`F}fZ9LH)jxvf~8M6KW#$*4v2J?k|y_jgafGZQX+ zwe&38zUs6sr>%Qz;;(MJqNg{Bg42E~uXx%5*wtFNq8QXu{ZAni*cQ|--byPxJ(UJnnzWlE9B&6O-nK}US3`-(Xgh;FgRL4z&&kZIG=RY`rq*Oo9 zO`7aL1-a9xs*EtRE)mTeJE1lcp|aMiZOeVgOTg_Wd|Ul5$#6}Tf0qopq9`tKik|&6 za9S+GlQt__1W~e496cN?Kz|8&FfO{zcE`1B^vQlp9i6VgQFk*gPzdL>S2%yV9(544 za%jB-bC`Sir6C``un%J-E!~mHdcE40NFUTX&voJ@tz#EI8+PYSIZX;jYf6&Y1UXFN zB^M|KTu1M@?#auR8a4~k z)GOM2`{i+Y1w?u(_xvLGOGe_#htXPm7qm>%`-?y7%7j zvhbOGXTy?z9SfN`ZevK`;p}!F!`k#Wy5Y)RwahErjlv)9eDFVXCD?>n;(pwKCyAJ@ z_{C0f3kF~OEiwpYYVS+OavJqNMG4-CCFF``g!s`l9)Ner3dB&Vq3vTIzY+pTr-fCxm?V5{i$r`UrpLh?`*->oLe}0B&Tb(VO8QG;N|^AcpU#2)-&nE<{|+R6 zgiroW^zUCVFw1u2pm~Ww!4*0+YEZFz(qYk|^+p^#!`@u^W!+G`pZ` zq}}buz-yj2^b;8iAJeJA7Kr2vB9Z34i2&QDx1q&qZBGYmIFC_a^lL+4F@^n8NRtnQ zzM{$98;7(hhb<1XDeSs_XTN{+=vL35mo9MVLfb8+YWpC{7GA2fhb z8s!Db0OBQYu#acFMX7zdjX_hTVXJns<~!HADd_Ti4LRFQU36=oON6nmO@?mt?^1r#G3}+HlPLb}}B}ah95*OM}W# z16&jlQ(#gCG2;9Nk&hK#GBF}1r>GvjpECBfLm(zo*}2I%Xg@%tq453fqw0mT)Iq+q z7d9;V*PnJ=^@;^lc_!*8bl!yBg$@N?sk7Vy8p4d^dfCsll6s47ykb2%oAs8;iT+;@ z$Yohjh$Vcxz)o%X7UcOomx>~ik=x3dOLL=lnh!FmiIu7@ox*bOn^;U7KFkZM?((|y zkwz-dVn)V(i`R8+?;?Z1k#@$HLw`JEM&#Z)PKHsgYvFhCDo(J><(Nd88{wF>hT-UjzVX5`p)nL13j<3^g zedE$p!FT@O!}!L6*2xu6Da7co<-F%43uVrr?S>P`gPBwqIue}V;cE> zci3rMmG`U}_w9sJ9eb9WqKiPys{!yYo4m+ACUALMwD9RfvOgd})X!;)JWN&a^3g@q zt52$PeFO1?*PlwOm|k%zf7O{Tk&J4TylOCmlg+1>qbo zAKfN0;{W*b9trc0y_7!Aew+vT-anN5OzmJmkaUL*!y<%CV(Ceg{g@y?P9ca)koad7 zrJo;JVjyNX$)*GN8ZqiJEV6kI_RKGV>I^suWKUw2Eg^+zGZC@yt}ixtY{YqZ|JwE= z{%i5*BgQlbWkFZ;F0kC{p7j^nD@4J7;?i^zlc`FcV5}H5J7t62NWrhguFh4Z<-VFh z)VcT}#PF`S468IBuD;6xt7ZONV`e*zRjbgZOmLX;Zm2tc|93!VodQJe7#lJ1^9s2( zg}?DMii+}E>veNsr(&)Vty}^Mwkm@=Fwj_~M#bcql=7A8x8q_W(D+;ot8t5GqgZ{K zawM*y#V_nHH1gqw%J3C$P~y%ZrbeEJ>MDR0#QJi{h#b31xg39f zR4=;WgY0%l1pM`U=#C**{^Na&Lj&O<5M|#j=1cCH?d1X;8m-;v>ApjG-(eplq3l*e zSJ7{QzWpEP&5Wlr8#8jM8bm!ZTKp&WVtLrI!|nDbYDNgubrYM&uvm#zQQNlr#jnd= zMow}*4|`OA*tI0v_cN~?(ZRM>5sg500!f#{Vr>tGPX=%vL`-%|t!AT+?O;cf;x6Bl zY2{?6w7BHReQLPAm%L~R)lem5T?<-0;Wk{N63o%O7q6{|Vj&X{}&}6hI ze{4F?f_>kZz|F?S<3OxO&s-kP#V!YAS*oEO68kZmAKSrxHi$BhtjaViUN;FxZ`zke z=ZDh!HPNePkLS%b|6FYB1UL$B&%Sifd{g==jOK)MUgB-(FIvT3*+ml0I;ve>MH7yn zBm)L-PwBTVOO5rn>TV00eS@b{b7M7JqGm7Q~qQ>VM=nAT`6l6P*&{N_mkg zzmLA}nFH^6JJW}qG~Su==O2u6q=fxmyOf-{_-2)r*_WBRlLAD)HVdkY+Vt+R=+&BO zb=zhbDU&%V<%l3>1N{!TX_1obVUCmy+aU#=`3bXN$B++tvl$1*5^>S8M@E2jhWiY5 zbF(l93bQ!x5ipN7Z>f)73Pi6e*XnYXW26U;b*nC~P1i;KKJI5Qe&eF}yy%1q)s1lp)v zbpnNb?!U3A#Ab6<#IMrzlKv(ePJ%x%RBw*6bF zwfp;(Du$VS41APH{HU3*aHO}QX}6eiq*>OKN2<1ZTQJe>$u(~&{cHvB?~SZI_8%WD zo*pAn)!=%OT>Qf-xY651x8FSWk#c7rn?7g}UJ8mX?JispHkStaxyziXAXE}q7fwa) zxtnC*T^8I{T35CXP6H3Z&Uy#K-u*f5=viY8KY^gG_z&v)`uJ({`D*SS>^@77PDps^ zSwl`cqy-Mt#R}Htm5K%(N7MI|qJBR~fstl_jgcN=OvPpeAwfe$Zi_;4AH56qpe1?e zdpsIRP$_tM1jt1&FSK;XM83<~b?Zww?k3E1x+oi+&d|un3gcAVN;7_^{}vso^u+9; zK0Lo_fF%#gM_|X3M*T?lNAA)#l|IG#DwQeWSEr5F=OoY(BKVts-|7Db4OAyY004La z&6ov1lU=y@-vy&b3`WBo-Djhb55$2;gM7eTSd0!^u>e1VwhMb; zi=YUKVtW^Y!_V9IfB$!Vo_L=V&+|KHF9bm_@e>lgwJ!?4H6ZaryA^P?&!FV3c++{K z$}m|tpR0XHDB1^y!3c^#9wlRqM!aC_QK)Yr*CdAzGI8DXdL3&ov8L?KZa_#AJ7Ccuaqau}tV zG&YCEV&F*R6dFMTsEfq17)75{RvekJgr1Z{Bd7pnkyHVLicBP@acBespeGV2Vl*TI z9Erx_(BtV8GKbD&5R8ChX{f%;beG3b^UvP8<}+9D*IKJUzEJ~zUJ{vufN(i zJqY-i>F_i|;mc6!O7ERN+7RI-^|zBsH`7_?-kJO%BV|s{Cj6fB zqhB~#=Fdk1^m1!jcH8b>-CzB@-W;1v9xYz1*8DiEEb!U<&(F{`Hl_76+>JZi`Z}|! zLZ^ENbUj^ma2>=l#XN?l3m@Ev2Gy^68Kh_2?9yXD~NpZKgXHwWH zb{ugk*io3t;v6%;z+gX+asVa#g2N!-C6XB-U4b)jY!b+0zwU=a+bV8B5 z?SwV}Bf5YoQVA%G^#CCU&?2FVC=yawCn#VcYO5h90i#M`QW123mLzjjMHdw3i!Bj2 zy4n(cs~<#uK7^3pu|DHX?rc#1Ch_R!C-MeOp(LuQukUs(yiZDn{V@R5Mh zt+k3c_h3xPoZ4L$VQ8(vZTHEOeZvi|s7EVq^831H|A+X${Pw1>UTk_1dr9?VYXNnO z&MDKpM}61vRaYC~OUu$W&!x2tYH^yqc~%ePg4S$Wv(a{UnvYT9ty)gnee_&nVRWIx zsk@X;|6T5FZT$|4*M}?gMhgGFdt_$enP>Qpa4_Ou&Uj0HyJ=g98X)#q}a;{Tn4Cn+MoZ1)czCz)GsX4S&`shixma@iev_ z`{(kB3*BYh7S6N&WlN@$e>WA1*|rq2Z35AbLSq3B2@RZp10eA2`L@#DA|U)5-mIkm zaFr9K;5MzDUV#qKFzgPxH-n<(7318j{2UmG)W%3{fX(|e{eGi_DCg2AH*B?ZZ8$5BN8?AnJJ`rls4bAoK;7pJZH^l!&@_jM$KTdc?+z;_%d;nymc1 zB>_DuQ|XkHwF=w*@^J6rmjYb-VwFopA6OL`r|2e)N(B5?4__9N4FT7`M-9|eT+Si z$xnvtT$O7r*V{ZgJTj*ac0hBdjlI9#eSA~P_w+5{ExbeAmGg)GY6vgOaIm(^Jox}8 zk6AphP-pIyzA7-&W|hC!$t$^Cr#*BCQm@u9ZAW?okN&J7zJ zJ&xh`es5HAH@p?I?AY9)iu{!H)oZ8C$ozWW|D7d9jT5>Sd*s{`zHJ8rx$9yJ>k(S% z3w+(MnN}ua|HtDFh1KLh-`=;TJ{_Y6i;bNhSY#;l?O?5}z0}R_OJHRI%zz0W&&Q2pQ4A?coS0B46taVDf|Hm}e?~9jAEy;N zDfHq24j4+ISA9YZsu;JiB7Yom7KjFsD5UTw1cHF^m=hd^)e5ZRz;xUQ z4s>+?XvRt*14}VjMSZC>1o{MBpe;#1wXyUI3-q@o*g6y4q{xbm?+I{x5>}(eLmWz~ zYu|fmHe<&GvgY2P)tnQ&Y8nFa??`T+;RhTD4ihmUA*JjC4}?r$EvLF-LE|w7nerE&DLYBR(?NNVUE8X z_}FzFRPD}--Sy0~wukEP&GDY}O}2BH);$9n;9f8bb-RT$ugpIb=-*;om;)zjn;+k! z_)eR3ta2~`#dNKnwf5m~&iu*+?X}OsVjuQ3K3-ok>)26#?ULd0Vf~fftehD|I~1Ht z)`pG320UI2;TJx0T0?POt$XNhLVRqI?weZNt|9xzq|0}=EQf|?4QF>{;g8DBhqpgh zJiTZ0<{#$T>l~bOW;zbH96+93HXMDVZ$*Lg#~TWS2Mn8JAzAB$WZn3atTCBkU7x_N zgL93ie^_m~%=8~*{XYmB5g?s_6X6#i2`<11xQqjGgn$8RD8-+Dmp$MxgsAVLEnHd% z*O2p}C6Uv}tnvS%Di{qRqL+|4G+Zbvfy|&Ul?+Q&TvbRJj4aW`(Um}Sn=mP&XrhLk zk^)KC^>`+WK_?T`fQm>ct0WgeX5a#tY#PBBOcIF{lytqR%sAn|GT0niGF!B-{G3A? zm7oq(#Z#yxADNLt6K*yP&X^-Y~ zPmtjAF3YL#>eu%>X)mYFT-v>DL1zbNfqrwU)AXL3y<5$y_MePd^!PFTUPE~8!N*oB zUde3oI3APUtp7ODG0!0IhL(Iv^Io7*fdx=z0tQ1t%wwh#XHWliuS{aTB>j##L# z562fgIycZ<9rie?s7XNY|8Y_AMmT1&Uf;s!Tm1Ut%Rg_dIDbF&?`_kt(TWL+vIgDY zhPySaR1x{=?)A&eC%tS$>nKE$U5>@9e&X1b%KP?NVags}S^ujOF23EJ zTGIkz<>x=7nySgKvogK>*1KWdp=i{DBiVy5h6+l?7`zQ|VVi)RghJ-Pls^tPIRsw| zXewc%B5cPp!}jNb19>sC#fRQ_2_a*_d@vWKxPUhu#{1|Clhs1~mq4lXuY%HAvL%=R zAu9QXe0`qo7_QTPS&AC};q5>+PYS6Ale={-eB+2KuMH*+rGHx)?s&c%%#zwIfJjrhAyjUK+#ETEQ` z-kE`#t+3qIF}S8KXOxSUtx~YTZrq6WT>X9b>D~I9d`ALktA_$FqTEhyE)OkkeY!Ge zM^{?pTI!T*TZ^)r8fM?TmN24usQQU z_LWkomVHc7v)5~Pl%Ym3ljgblDK1AR8MjZhG1ha>JI~RVkLDSD8a>UrO|3nU8B_gn zX=Rk&=l0!keuCwr-9KLNJlEb`Q#n{&+Bqr6$)}sZMQ#$pdL0}F1Nqhe7h(L*9YpHJ zBR~Hz&>3Gmue{z&_G(N35>Ctr^g^>Ez zMH_orcej10MThNOViXcS`3a%ud6&(wKn7>&nzal*6jRFZ!@5)CHXk-i8Q3V;YOo=m zEGx$#3C{>_x&<+1T(~0O!exK02#UakeH3zZM3kAV|JS#P{&}BDI?3h(ZRs3S9B;_N zfc`Iy3_(SBP;dq=Ky=5+*~w|nKT^z)@2F{UuGIk_vUAE+Jgd7f{`|>5qys& z#@EL4Z#(Q-J3Fo*xy5tysH3&J(e%`p3wr&wx!5HX3xclHwglAYUYjjj)bsEhj9#vp zch;hHSLCDXE@rb|Y*e^HUg$YMxm2~k!en69Go2k}qx%Ep&Do(|^x^|C1Ki*wR& zSHPzQtCU9>vX_aUju;hZ1?R6ukD^Br7kVhK8k)AHJF;m8+~CaSj#n{nQWZe1{bBM@NhY~1Syr}H!KyI4&S%4gK+eAaO7VG* F0095As-FM= diff --git a/src/librustdoc/html/static/SourceCodePro-Semibold.woff b/src/librustdoc/html/static/SourceCodePro-Semibold.woff new file mode 100644 index 0000000000000000000000000000000000000000..ca972a11dc428209dd66212e382b884f168e83f7 GIT binary patch literal 55360 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

d?~=$y_z?$}zMRxO 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

-nf}~4k^lgCB zxbj}|YM8!1P$9m)9Ir0D#*``jeio9AXjoMpwjwTC>RZ+5X7#c2{6w8&%8OeNT0z4? z&Mhv{*TcasL0ahePMk%U>m1UK(`!<$+F#YfeFbwAOIv>Kzo#2kh^|2YfIDlVTK2{I z9j8gLj6~gYQ)CVGVn6pMg&Ym{W5jNo*CV=FE>~Y}>d@6J%T}tyUy8c<_~K00`37E5 z*z1G`X^eHn+oKyx!phW$P=6oooAi4>S3nl92YN>HO9*q~8 zJY2w~3(S!mt2JYn8=B5OSP>J&aTYCX2!hqH-G(@O$KZwBD6sz!S^IT$e$K2lr&w5G z#(+UH4-vOVx*h~CnatD#v#XtGM@H*a{cq~J37k&bpXEfTeqYhb?ycKymx0D$E zi>tJh@q^&JY}$L9`PA>{$4ll`)Y{+r3!@pm zmtCc;DWhHcz?veCWvb{`lt(%h6Q`WPE#rh#0?JAaNS#TfcDYLZI6-pdp5hY~x^(h< zo6jj-s8XQ{)glcq*%yK5vdxVBicX+F!?ULrpmvW%-f`R){&EChAm{`0vDfQP6GAs$ ze%)K53L4>JYuJR@ush2N8$!I?q6pn3d8HJfkkdlDX>_h={_gq7i>TK~Tf+`qBQR1h zr*ykz74=9Z`1U>R?zn)6)w^L{WUjR}tO<4WL5LvXX$iWASYIlpE?1n`YYQ$wgD@^; zqY+^z4o=D!VNb0sdtYMkjeRe%X6L$wk;^r;TS#t>&)8lEzH;W>uF~bbQER6huxyrU z#lo>C!=R+Tw8Vuf2){S3X3U!&bwgKU-Bp*A(~K&Ci4hW+s?J`(uz>@2ZGYZidmpB5 z8o%M;{+kRuMcTV@uFZ5ty|5Bj`4;C;1hyu%TicJ)j=UP#b}adS?kaR_F<+N)cG$QJ zoo;PepntC1_^EA6>P6ghG^)Ky?=?1F+bp}f6hGCulJbWiF1_SU0**B11m>ios|C(0 zcZ1+@?qtxyVp}(tR|3{MqD_2@w>hx z#p@3RNK!*aZ$G+tHl9+8=l4r=T!AdE?!p%6F%WsyXltQ=+OQBYdD4{z#40!dzjgAjUd?YxBXZ`qPnZBGa}@ zBdf8tc?X)!d$XS9GvfawcjvwsN2g>v?ny*Mx@pI9P(na-8?x=>t)S1J@ew3`^k(k@ zFV)Md*JKoI=^t02vaUyIt_a{ZtoDRCKO437D8~yQMhti5oqTSlLh1HT>{!Aoy1^35 zw&++#hS%J=P?cJ@kaTg(87S;JOa5iUbj%(NnR1|@!*T<> zj-sM%*#ozn4Hgr(DC#bVX0F%elqk-Rjt3Yu7*NZt^iR41J2gC?^jN(;*zn!De$*V9 zLrM+d7s0++;lZ)^ohq~AH*L{3jP4y52pM>t-#Z+|!I$FVVvF6-i*2@mx}tLs==0Dj*HZ2ySYHC( zB3k2ET|UOH!+2R2^_<)YRz7|p;-%Hyl$}ntQztjc!7 zECusHd{B*>IjLQ5Iaj*?=!P1qn9mquxX{pKp)saNig)9GFr(FoyVxJ9;!*9bMn9&A z1(Iwa1FZHcjBf$mB$xUI0a2lYNkxTGl8!+K2&Da||qc>@jPch5C%D!%v zyTLlA_O%{!-=1XZ$z@WSK2xluQjDea4&~~}ZsZNk^oc2;iJ`+m+5FaV!`7swH#YQA zIx$-5`il7Sf&|R>g!7UniW}L{w9IcncWxYZ9Q$e!wemV^=^NSDy%$q<(vS2TxuCmN z!XFtkxE+rt(^<`?v$z|o>VZ!+PL}HCZT~sFY@3V5e11TE?R}lYf8F`FH>~pnf}T7- zV@YOo`ZJop&`PN158q;Ei-D2?X<=#fkW`XqAusF{*EqbXJ0%lY;?RI#a zqm_XnpFLqsgSi!scLI2WBYvFfXjcIhN_3Z2*~?Wm3&Tsg_C>UB;YOTST3Vm1^?X27 z(ujXp{R3fD*bfi`6qP&4=FA!0PJ_TCZHe~JD~{0WZ3a#^D~Xjiph!Y_w|7w?hjKJ8 z`GXMfhx=!{xvuoLYFe|D1fZz&?TlVY{iP&nW&B{)3bJhl#v%6dUJ_OTZB2pRME)}5 zI76){C~~7P&3&;*8bO);K-Hf!ZlCsgAA%#@^N+_{TOF}a^dw7n^h0&lrI;p#VmiPB z^QD7?AaV?$zFgL&-_D?Pie5(LXL@+Q1PW6|jFZwxO4^=BDtrI? zYt-qiDc=Z{mJ#=&=5?~wZORRzX$rsS_IrNGHV;X=@NGgGg;d-Y z#3_{VT#>GuHWi;ouacKeoXMHwfCm6HuwAe$9mr^0qf0wjmRGClKHm!;4w9NZm1R>W zvT(yDbGGl}L*Vmt_W2F>8AV~ZMCRU)r$xHAi{O%*_wYe9X-4W$0SYj7NprmY{%n$33vxpFZa0^u&U1u0m36@kY19ZMzq4=bo}@BYq8Cm$mo-#8QyT)( zKltcQ)EeK*lPHR9B5>ZSibbr7?T=5(?}IHV$`jX_7445v(gNzs99LKQTDj*Q*4TmF zOU>?iW36z`&W$$`=4NISfz<=_H7~PMh4U?z`=Zt=47$IZE&5vebm1R!twp3-NlQdn zV7nb;NgL>?o*_v7Y&J~3tyLrBS1&HTVdrOGW(4~y_(s`NTsU3G+fnh1yb`sO`(oEm z*ypnDS6*8_HI2ts?O0(P`Ja|Nfar?mYs>>*hdG}S;PV67mpJqn6R+%-3Up$bdupX> zHd-o8ineGwmRAs-o{;raHzwffSD+uxYcby*wZ`8cQLO1jDz_A?shF1*&KEt^EO-mA zRqA+Z=3n2~r*~THsD;BsvQpOH*u~d57UaOxPU2e)KaR;&7ieeyDqM0Tuq zmT!0M0s64#cp~QJ(Zx-+&RLDTji1MrhfSxr2}4jy^&bg21VIVi>tCjsYv%C@`NpD8 zo~Qd9<-ElB*VrcQmmXNTI!ppXL9{7RQbX|MDfgkK7$Z|L<&UHXVO$eVo+EUTA~jdQ zzcO2jCGC+OPr^N_!M6}D^c&6OZO%k^=Y%rW7F)aedYREye4ZEW>uMKog7}vWdT#mD z?$1X+gFH!f9Vh=q9IToreb?Lj0geg597MNz=2v|4zB0S31X6Is3kz!8kaj8>G+g-A z*8Cy3@(NQ+l(pL3Y!f`BeLSQb2F3J<^GT=wDpk>eubU7~*O(GlI6(gZFH50y=I4a& zRQJ0JqD`}YgY8d~3m%YD*UrE0;WFI05;3}X^5iBZ11AL7sU$!F-r1--;{Q_J`|;G@ zM}CBs`gjD?sa;PELlG8h;+o<^2dV&#vG8%U6?uZH zT@g1ps@QYcKj(LRZ9hU(wP^)6ootshX*u$4cK2>aXU82azi%tIth2k6s{Ud^ht$6! z+xU5i1#QWkKduvBMZoGH5oo?{5D|)oxu6{yDHvotZT`AxGlrB($|g=Mc1d^3!24xc zKuM5DDl`TOy*DQdh5elI!Pw?_LhzdD2KN1I=vu{V?4SYskH`O!3VG*cNXDFnW$`gK zWfq&o50|T6rrS#jb_?SbcO7Zm;gkNdz|_cpxBmR;IMFf-dFy=rvR`X}-JOQWJ_G4^ zf;%BF!E}P%$GOjSt=WlCjcoWTAvUdfMtq_qOih;a0)tZP>!! z)G-!m^Pi0x_?!ipvs9i0{Qi#EO~24;w}k`LIBP!(4*nhXU-XT~f|}d&XaZF#0&$s7 z3i`Wm|H<*>^vCgJi~qo0@u0sS72b+K`Ez?}UcI&NB7HU3*_c>Zm>Mg1*Vj>Cni?gd zccQvF?NIb$W6t$mQ#%#c#d?9afAidL_A#-i&ek|U4}-YAKO$IqUZC}hdqz&N`HQCB zlQ}9)-_|q@3D!-E-#*-Zo_WW1TqAa59vErIc6=jtq`vzWJ_U5%d6|YO{tDI%>h?PN z2yfi=4TF;IOehLFw>m}SQWFUGCn{X~{gnN^gcQX3_#HT4h@7+~S_jRaN+^!%B=~8w zNAsu-7Xa6&((ESfLZqH>B+0&rv_DrQ>(o+RADDJ^yy`uI|26(|L(mnefp*QqW4EF! zrm#*HC9E6b{u2(fZsXdFs+?vbk0y4!VHPeTcInv;rOlH%$fX#H^6j>XnCtzBD==a% zmlOH^6&>y4%k~4&A@Rc_Vg6Nr`!hR5cip#767DHv#Lf5H$sKa!R+nf?swl*_=&@ZX ztT6W0WcK3Yts6P9eFQtvT^ADdj0_I7G1Y^GWzCw-xeTbG*aG%bpk6TW=BlXsU3nVu zCX>s|=Xl1qC5UM9DNR41@-Mc%6^`7&)dE{m8nBle@y+cdfAqj)$SYwQNWCVm+f~(hfV7q0}XC_K7*$) zq5jlcC_C9)wpGKqRs78pX6YIu#LzKwW%kijR`}wU0kJcs#weP*)y`{_m;yYWH}z#7&v%{^8I^d-}1C&#G;3P`hz|>mFR>_bsD=h zi!`6hkGuJ#$DiV!@Y_$4Ag)XFw1tUVc?N3tJQkyuM^-OrBB!nQQ?By0op?hFQw?$L zKdS|NWXz{5@`e~BbNkg|{n^<3N@NMwblK3VWY3knwQ7w)0?m4rRXX^bCH|ES$YpDb z&5w06Srnp~N|4YCIcmK&WhDHO zt1x-R2hm?XMkkhFt(NNSQ(k*()D6GSm7%Qi1y75aLU7AUz&$wjn< z&vl4#aX5+xysMkGm;EJO95;z#H+6EYqgq@V!5SD#Nv}Ednecj6Qcn?^VqDymr_QW& zPb52yyj{I5xiY?dN?1{W6OEg7CG6{qNH%6>;tT_zvo3P|#QxR3NrGlk8*6eV0bMD~ z>tIU;2gVl&j_u{OYVtp2OWX?OW__z-oRMvexZM1s!D4n{RXmI91O(=3y&7Wd9D!rT ziG|_M(sM2C#oY_PZSTO|>A6`b)&uLWK1OCD+wtABP3k);C)9ASrJO&&*&(W66S2(N zRZ-}pMAEbKiJfU9t6&x+UgND@%oqE!%VP?pfAP#a6ih=)1Ko~WLn@STD=#2Gya)Ju z4(!GiZJTSDs`Pdom)KVxOPd*iY+)x@%T>yR-8O@G*)95de6fIV-Xr{iw>j^i#SRZXo%eb?? z-Tic*Y>k^*oE5@vbQS9AlCwkz^OU>P_F(scg{_ZaJ2=H;TaB`eZh?R?gl4VC4hbr_ zTaf@npy(zrnx(EWF2zP!VAATyCh-cMr@FO09r~Q{xkYud(Ss=8?6S-y{@M7vfjg*N z#li%|3)5W%^BTu+is(yHeWC_ zd0fYHX;MWxgK{NwyHN4!9J)diT_84|;y$RloEeW|v2>*plR$a!N391p5}GMV(&Svn z;ZW`;q~-`yqpC^OdfTO?#rmK9Pzo%=X%rX=yE*WDKmT~RJNfOezTpE!!&c`oL1Q-F z>bA1$^f3R6E%amQd8O3WsawQN9Fr_u(2}Fmq)I5^jviQCE1*HCS*%HF?fS7#XvfGQ>PdYsTyReu zXhL`{X$1HkCoAnPL8CEAAH9+k@EXmY)uqD5I#S@oGWZzpnQ~0%nddgsz z1Hk8T825BsKY^_UHdmA}|6`GDlI0+1ZSTr;$D5NyPJUa?`k4DK+808Xh!IO^+4gF$ z`tw@JI>tCUeCI>6UC&*a59yl4eq$ckPTnO@YY899sn$}dX4?hDvu*1FNV?LTTJZfo zJnZ57I6)TRdy%2SucM7>hwl&)?kTxiuCwOm6>EpYA9|g~`>ZjMk)Kj!qOsXRb;@S^ zQb8SnAdrRS!~3;i6wCjt^xj3hoD)F!(udcyF%TpY)g} zAJ(`=m1HDLkpa)|d;rgRTa`)#{66$x7o3}^cEcKRcb5!jgns*Dj9mh4&-Y^{`b|cw zAf+%4#8|ydw1cbj$1ZC?Qo3R40Zm7B4nrerr~SF3fWUaO8T~=tD(|Oot_^N?i!jm+ zpp%IIRWp;z=2sE;0HJ1^lCn#DK@weOf%5QPJ)oF??tKx0`;a>O`IdN^{FxhXLMkNu zK=-Q_{TRl+Np?Ds3<>VO0Gvu*>}jeGVkSW;C{4WD{#L5#r-+E9chUu-{PXAUR-t~ha>6T1=;iy@D1y_}%>RKRU^|=65 z>^UN>EbCJ$q%)<=3LgiAVuDBvQWPsi??gPjNj(>v-QPolFUgH}$=C^`)vZjzq2!ki zLxx@#w6BT|M1bpOEu)(C=XpfUHZ3HBy9wp)PgaAb-s>|}ca^O*p^D4hOk~dh=D~=8 z4eh9<6p3t>*aCfD)7aD0gt6$>dp4%YiZSBl+NG;?mx=Sru6oLi*Jbxlf^N$Dc-M^1 zD%7C1G``F$wh&Jszds@onJ?)Y`6e*Sk2k4z`9w`!Lw4 zxHOkd@@dFg-p?2fY_rEm*619ba;nyzW-UGL*(<~?i%q$@i9bpk z=Ak-gFn_k!e_xT#uJ*W8Z?PxGmG{$`)(ATX*N9S=Vqp(2Vjzj}#>5f|3gnzmn0~+= z!d8nKy#XF#uRE?I!Wn(+_hI${pOj8ux{(UMR3dqv<5uNeb|)kL({LAe;Xp!v_s12Y zt=c>2G{DcJjl=Pb0wPlfT`Xl}^eHGtX7W%_@ChQduAms>Gn`F@=cvUZ09Zun}dqCEH` z+waAYR5KP@rlA{QzOb4>TSL-s!N)iC+fOuapG*OT{s%PgZ|Av(|1?35sQzz0Q|Vz2 z=KBuDrRo9JHvpDyci_mZ(W}qsOJ@BM+OF{K@rj~5SLOhEvWK|P`|&TP&-Uo!4s=EU z;{o;P3xoGJ41w@Zj4#AY52N-q=N;2KB_I6EPpUvqkm#w)Cj#G3yntXRq~DBQ;ECYe z3FohGXE%%--wC6u;Wg|T?Z+U+*@9(TsIQvcG~ zVkTD_ImZ`gqmH3#Xt$BGfdzx6?=`gZwdMy)J~zgLz#Y&k!t#GG^VJ*tF8Dba24`*^ zzjNK3pYcn!6Q2~DJEG`P(n);rcY3UQnS}mrwIC{O|2FA_GWplpO5_E?{Fq+$z&YVH zvK{E@Dq>3IX1MmBXR$45T%wph^Fy}6WW|wE7h~!_$6_{K^+PpfSD;)krFMnxJWIfgfxD zcZ5`h)wQ+N!zY!*CVZJz)>6eNvt^J}J#qEE!G`Y#z{h*6z zC;#03Kf>NQMw9647Vc@=n6|BHThpAjjcMDqZQHhO+cuxJji zf2>qel~m5zRlD}uE9YUQ$MdVE`L%h|wl}-a4RnOqf5HF~tQ?m3;FpLoAtMOUuN-xk z`Da5c>s{$0z>r9J7N&}b!Fc2YC--HnlmnkNUQ2ERg1Z`5@NS0yF<=VPAfQM5v24CapSG(_7sPwdm9!CEq&+2xehOiQlb zk(Um`hi~E!q=Gte@baX<_mP~!&qHd=xi-$KEiEb@T*QoFFE%4_=L{ng zI~w8As%2n{g-`2&dhw4-kOokkkcLl4!>ZSla~=`%89LsLQ+l>%Ov!GnT@+BD4S4Vb zp|S8UgrwBpYP`R1jK2_TZeC#EL$Q89Ed;p41X7@drQ^=hPyon9?Qdr9fr z1FNEl9am!RL|}*^p(f)%CH1+t;gSfk8KnLw_*7lfJ@n~i5H@-R(I1bC8Jj#BF#WlA z0%tf5KMtsmeMg#ZXxIGHDd_KE^{78M=Z}#4IYq3y(|gZ+$H*|vn4&1m3ATeQ>mS&K zj+lDQ?_|w{cu*4V1!MbnUtx}6^KNuWxZbHm@;K~R!@2}^fhS?t`MJYJ_=S7P>-ri6 zI2)=~R7 zrx=yKUn)m+WiMPWQYRcqP~QZO4Fh7k-6B;$wcR6qkkC=7>gA71W+9~OVM!R}UIPy6 z#!6UgK$GjDgQc=e7=)^#A!|~$#!nfV;TuP{0ENl({Qea*$|+l^ZYV%V_82`1+EaD@?mWp%(x4+_HHwCg_<0!e}2nr-%N&Px{wKcZcjm zt6RYFd^SuT)SiZDsqu9WBb|hV*vPo3tyjy8+f;T}{IQ%p5t*wO3P?I2pJk>6g9(wZ zJ)p$eJIP`&OJ#0}l|w&}xY9T6yQp8w3Sr&q1YYV|K{0QO**kVnJIHeMUlH?8S;N~* zSY~vpC)1p15XMD{eF8RJ;hX2;1!zTaaSIhwqJRd2L#E?GaYU z_!T|xy#MC5%JWv2_FpoKkvxQ8bq6u~{a!B|w)mwekqDXR>ZA(8y42^Y#{xVrUEeVA z>cGpE>|jBzL~@jf2|d4G!;2epOd(w zZ%SI8Z792Y>f*z%Angd<;YxZShNV)2)FIu|5*+f4=N^dhsI`JoHri_m+1l75@zKpc zt{#_GaaMu*d~Tz%CIrWRLr;z;3ox#yW3GH{H(8%AtyrQiDj|Wkg>QnWP^cwFhKGdj zF5{jP3*KAB^H19ZymW5;i{uiJ9jR2Q^kFET(am|&8X}lB21Edfu51;Pqffr>@zFrcoQ+M#6!a@s2LY2z87XIHS@pAHfegGx#D$N8Y4z zkyy| zcw`Z`pR@*&+mL?~zo7S}1DEVds3=%y@W3QaxVjXJ3$t_L9ZQmoW>vqeXe$KXmb6{g z6#xR1zlfRWU12A(l_#$R3~78P6tVC8fslEhE_-}MDeD!Lw7Blp7Gt)a59yytsylgI~%sX~eEzzZ|4{*c<$ z(p6tSlLSfy zxx*V6kz0*k9ranM+dGM-Svloh${RMsvk})Cb%uuxMeb1^_SU#!TSpRJ)j($4igL<` zkqF2}cTV9Wk+xb|Y0}C&9wpU_J%8{c#!?PF=0A6qMOZc%DCCHqoXOh-PDV^XsbICwb6^#2eLjPq|wX;pMY~Zi8iaSqxBrA-GzoK2?hO6kVg! zD%UlU02R>FJRFJp#q?`#hxFNm)Ng;rsaHPG+Tr8Ti>}&;7VcA*6vo*&2Jh!^&L<5^ zoieCDQ%6#s!8hEb06I8I8!pP4XLodYmOoNpRouJFvN+0}`a8M3y9g6_!uUo>?DIl7@4f}e9#9cc(zX*$)jn}pb!JaFs6lhoAPy@xIp@Pi7_;n;)x13CEd_a zQB3L-N&h93cpb4X5l0}Z5;%52jFMNIj-Vc4Bdn;cf`k%6;08?I@6+WssJhtsHb3DsTUcBN$08CgcH0qNUws{T8q8#Fx-_pT5b(JK)b@XdPU1my z{1z;n15Z#IbEop$a4xj$L96Zf`+Nf=bL`qD^XK{uasEy%;s8uLF&hj0oGB&@mDna2 zM!oXTvK8S*aVGdIJlG8FwA^tSfF6`YOI91yul$ZF6zD4U$bJrZKm?PqmKntGKZ)!@nCO927u_dqj+CtUq4tQ zyfdn!COQ{e!wvpP*AQ;%Wl76`Gbe_@jXp!<#c2gVHnw4I`s6LiUW{d+5mH?Cfq}wH z-b-+A&Dj1I9##ZKXb%7v`3g*;Sa*ARn(sTb*yfe|vcSlF^OvLyz z^@6ODARvpGXM}KmBHY5K+9pBL6s|Q!ky{k`N}y_3LeHo>tO=(a-x!3@mOBJ1nTevq zQU372!Lgfjl>lG*dErNP*e(|lrhoe4G#0%mX^KJO$az>z7(X{IDUhoeR)9M$g2o25 z8G00=8^6sCf1I;=-Q%F?O97Vf&V3d=T?q^ZQQip#LINz((_tfRaI+*1Qfd}#y8{~o zH^8qzdZg@uMl29^S*SU9~|9+s++PINDf#-_CN-(>}t>3=t^1{EO(%Q`U* z97jQ->nOsDYLqr|247NB_wjmKbzv@Z>nZXXKYj{bU1|32;YT?mdaqlT=B27S6e|{p z2}Gw-;dAkn7cJE%|COI4Wpx(Rn}E$2qAjVg)_gE$wvUaUuxKF-Qb>9sDqgw98}DZ{ZFFg11kdEX&T(d;P7+xk4|>FIEX!K3sR z*ue&x(yKTfOA>SKvK3**D$DUmmq40GoK8GijjlMm!&tk#*@q3^*g=UqZ`ip=hHSqP z|8EWPiG$v#zW};5V9~cLT0bm*(V&}Oz}96n9X{fT2O44S&Jq^YNo=Q8=?sAw;XH*5z+03-0YQ+laF zeZqXw7FRG*G`}IT??AM^$(?wXI~X)@|2ENsMV|UNdZ=e%O$?A!a!tI8zCD@1{?V|_ zIk3c%sv>vnnyA*XR4=c4)l||@$I;!gQM1C5qfKE1O~htn;cnyJ>{Mv(PDF90Nt~Rb zN--Crq845fVvwke)U=)eNxU3H^rY3VbKm07q2~bTf5viDyE) zQFl|f8q>no)~|=UQ3vWOa0fvAY5jt;z#-O1qL^MJ6PRD%)lCRVesTMvAV-j-^G8$G zh(&vURy^zJwu@xIkD-r89L2PFJd0sWzJ3K}cQ}>it$S6c)KqwNR0IoP6bUmX$%N{T zAz_qs{-Y}IIWS73lH{N+72{;xI$7~=CpK*xmFcGE8_Z(}mPG>cYaq*OPPxD8Ve_q4oVSMAVd?OPr^jX6NKs@pj z8I>~rsr4G`kkK@QT;hIW=ga;44fVxhK314#&bW0Hto0Hw+Ow>C`-@l6{+6Q|KcEZ$ z-(v$`c7eWc3`^!o^-!zaS$^m=4T6U0N3=#!+Kv0QDsx*R>MabaL%Ao@`Cej}F=XhO z5;CoCt9V<2yJNJ(q2aa&X8XRx@p)?kvIBp|(X|bb;Fa0XUHvkC6+DEZ1cY+}A|t^r z{Mj(UY+0_`SmJua8=!3v=zuV<;5~DpQ5rU|d5+YhUHGp|zoy>>H|LMA5@MBB+G)~v zXI@Vljs|Q-L{ceEUL0jJzReZ8k{T8V9{zY?1ImFfiKi8*iMdsB4%i{Fj_r!%W+*J- zO^%M{K!^lHwd7O*qC&f5l49j`4VTOP2T=CsU+$_2vWcd2^nVJ4l6!g; zzIZ|ODH$cy@U^R3I?T-dTJ6_6y&GN0-Fh!4@HP1Ssuoy1l&eOv`HaRn9KF)=tsRA0 z5pVs{h~4dfRr3JWJiS%>1|LD)c!$;cI$sDpzV>myU!HgXW1j9zeM?7gG(Ts*6k>NP ztKV{-Qgc6J34C`O1Y)0Fy)X3mzoGcP`rhxK|LZ=WTEA6e1sY;(zY_^|fronAUvhk3 zYuw&eD_#bl^M<6Gr7M)N-)hnML7zu_eEfAb0$dA+|6Jqe4_&JTyzd)b5^Ng&*3%8$ z%@2}h`VhdGrbrk6w7vf=)_ywTlTiHU7{g%&RrY5DiuKsA#4&Sc-w~&VaS!^H5ykK? zsUdZ-epVP$(suP=-RC;z$J%>?Y}wd4NP0H<>##;10pj{{-pMUf*7 zsE6J0=34Fj|5(MEA|*(Zxh22|Xbg*Dj&(V6rRTT8ik6bg);npSpB+LWtz0-y79!9K zgcG1=D);3780zj$y52OvN1t3EJ0J^(n|~ppzNP`WzUIh&t=VsPKRk{eM?KOguxDmm z(H#K}^rhM(f>yeP(2Lk_U4;wL7&f<+Vy>}?yQ$AFZiXl17X3JtHcqRuMh#kqc@S~K z(na=Il&5jywLkD8?K-HRqdNA%EE3(B2&_vsii8SGBw*t7`uMil`AZ&Rqn8E$jy8YM zvi-GIeL;jcd>16guJ@TiXS?$=M*HN_e3smS|vZLiULfJnCrwC-7mH$wH6j5D$UA3ES2VthZ`oq~LpqG*^m zP+WK_^(f%Nc#kn%kAcJ%>><(%rr2ZxjD(~hi|wg_1oCT=NX4g5*1`)7I{R^t!7e9D zg$iG3K7^O3dmsp*PPNewQh^!n*#8(JXO0}Mgf;>Sm1_$ci6LVM?j4~3H-twPHlCC+ z{49i`P&))G425aF?}tCpv+!+R^c`f#SO6RZPkHo74^|?l61a>+z`w9!%7VjIJhwl# zm2?xRZ8IPT249z|+aJrE$YmgymAa6yL3Y(b#Fma7aL#3sm013mBS)T&(SoG!=+Uk`zIM7D>~a zJAlsInYz16$*+HEXbQPb4VDPu2%geQCISlBpWx_|2UwYy4Pt<}T} zftaI8xfE+JWxqPWW2~~E1$(yH1j_|o3O{yXL#f5Dx#3KJ>RH_fc(I9c)2Ol%BO=Lc zK#l)vZimU-1KmJI zk(JyrQ=v|=UX$Qn7e>8B#+1PN+lw)dmJ|nTL2tw#seVO6u!XMD36=(i7RvYl)!Dis zM47H{4nNy@)Nm;1^>-80XH0l({!{_c$vdPPggFcXv7olR!2zDEG5ESWu{CMyagH=x z5Gy6`^Di)yKt5Yd1x7(^H^T=>BmHr3E~xXYE^~_CDvEKYgC-NY!vM8wf_tg80s68T zZ0Tc|WEfOTziH6>6Cjh&!)?#$q@ZyVe&om>6Ff>kFz~hT%gz8%8p47pJuYN+s}FY7 zG@4RcXtQy04K4Qvl%diOwB1KVWeGh&sxx3R>(@+y+^Y}!j`P^he^IW!N= zkE0rd8uC~i*(WByNhQn6`f`MkFfe|Q=wVR2(W}K{5t6jewoPgo2xJxn`J;O z?TH|x{!pZkHS$;RXD5x@r!!?UCuGX|1(9Pmr)*%m^gxzs5}ShkM?mnp2l}W(Qu}r- z>gqwbO}xP{WwJUT8fe5}UHSgQ-+@@KxQ~&Fvj(n7+?*8N8HlYh*IPJJdeky!z*Brq z6NpjQJG02-%v4r_j=%B!!)Pcjj#HTlIwr{@v@L~8!dgYNw`=x^cO}5m`(;@~B`jFd zzPVY(YHp7>!C9`qJNz88FzC0=NFy1T1G)_hE0O5Ge0C!kZ%WU-@r3@>8{?r7!ndA8 zbmB~q`U_5aGA>8ZjB;67&H*eK6L%~+w-$A&v^0@wF}0_j=)i%>jQSE7R*T>R_~F$v zHVytg1%iS1p^NSF_fFzfN)}9VR*$f=$;B2&vP6!EFGMU+HA4c(_E(o~fy_Hod54uH z%4@~sMa(8&spoNw;OCNxc+1_M(ft;7djSvT;QZdE&FEDa&&18_-`R93mD2T&n&lhd--*AyK@e(3HacXgYB91+G zekP){wV5&`f#g5`eKlC}cHyqCHxKxuB`qd9%I7Giw@J1SLK6$lXf7l}=hD*J)D+ z2c+X)PgglN^1YCIz7%Ack+sibJT!Gv^*+c_hDN_B#4p=KPpasTxwunl$ihF=6A#yG z&A}|^F@J&*=RpnL5>ZFM{-!SYnc#sxUkWWymcGpKC>ucEDEOxq9vXjunjl{p_wWefhwf_zT8T z*81?wi7N|s=-%b=YT^%WSD?D?H`a*3L<=$F- zjwXYcb4Ex(foq$v+!gNajIBlko*bGP1$HkJEYP)owV4=~H=Z_TKH zgE<2WlpKt`BnzkBPH5znZjQJ!en)MVnn^wdk}9-knuK~JSd>YJ*8Lx@yHw{xw%spV zO*Xft0Vj^4}Wev-g@@=pmI>X;GkbhF%JxO z-?O#jrh7dP3Qh{2hNNk*SO-fOXCwEb5$Nop*&${flv=sPj-v9caPTth`5H`OIogqv zDLuzxN)aA#5cl>y{CIwmL_qW<{SI?94kvDK%zeVydkLbS7lmKE{3*cL7zjch0U*57 zg=u15%jz;HGz3Dwy>V2MdxwN6V6pQEAQf)!7W#;(eLf6 zn&mfLEmGevpTH57X|<@GRiy2hXhD@b@emJ=2u-GNM1fQR24w}8Swc6h^rY|_e5%MQ zrWX^qO8zGQ5DgC*GrVKuwWQMEZ!g|Fk786LwWxf&<7a(p}O37ez z5LA{_oUNj+rT?Y+)qB)da}r3CXmcV15T?X4B+!aymeXzg_i0o$S$(UZSo;X8<+%cT zn3omamI_nHv$i00R(_da@7hRn5h%oE>d2>|<{)+B$S&p9IfM+h~l@L__tqH$hT zNL9SZerCN4`NxorF$edGC+s3r#^wCuV@H?BM`{)ib4$j!ucLM3cG#HHOA(1v=jhrl zg1l{U9eaj*7MAc;=byoE)JvUZqjHC$d49(3mbE}n#S1r3f}2*sWJc~XNy@TzZ!d~h z__q6nL>@IKT~}5d$86sy3Nea>?h10pYhiTQPRwfY`nAp8-19Ob-IuzXujY9UpHs`6 z^pWkyJ_<-joqDQJTtXNeuC5%8qL`72*&5a+XH{q?JPywW499fF|hNm`>J-cVND_S4fB_FYt7&qefp*|U3z1Sy~egtc|6^T@~7@; z4>QdP-17_hOKp#s<@9TM+ZLZxsb)%%30J;twTpK*wsETAaz(b0woxIAau`$YE~J;u zM*wN?NOtx+lTkQHOv^d2q@f}~(*l8pLwr`@h2uK2d&5zpV#akEW`*q&-q`sS1ba*u4~Vq9A)Z#94wz5SyGy>3rlEe zSaXG2vhV4V^YzXae|JA7`mextz#hSWgs;ZiRCbP~RSMP7a#7T`QwXf1xcD6c8=g#@Iu?w^n`i)=KhXvQW z%Ut~Qjnxgq7adE-8e;SEce|IRhxZH=%N}EV+imw_Wyj=@*==5)`CX*+H~0rq9*Bll z?;4L%Vk=p*hx9|4&)wHtOyDR~02onA53C-Fc+_A0Ay9y&xmdhFULsBWW)eqkV`+!cq{DPN@eeKziRMKp=3dzr$ zgDaA<`)qN9-S&>j^{ccbqmK^if2s^JQTJgK6W~EZMCAd=Tq|+rzm0mSb1*__5smTi zwZpS<_tUfCBFljSKwXN2#D0=qx%(p1t|dFclajXE6~v~cvuB=n^L&z;Q_$L(dsXA{ z(xR#YeAgk!p4m`EYH-bmI4dv`0JxejYqc=-5~iuo);kQ%b^u+GAA2nPcozYl{fH)~ zM?5RDH+4|_Cy6`ME7>gcqJ}}aA|Js%FGR0A-X9tBm$$mB@8Ld_>?RdpQ4o{dM;yL2 zy5c+%v5qU{wtRzIO4GHmI>$2m*pmfh*?)TuHj*kP@uH1j)7hQm>Cn!o|h)$_~(9T0dJKe=PKl+J;AkUQQ6N zE$|(48_>4lc#8KfRuvZ3)$-0A_nz9R@0b=Nv;f$aGT7Hnz(NLDRtAiDJ-R%mIMA(2 zmS|rVXHaJ4ELf9WX(wMSezrVa1zUQ9{S#&5g`!wkb{eJ`&+>uJiQrL_A?J!xq_%_wg-4Fh)T zIe8qLY<4dVZZ505a%*PRym(%HS!H9UK|tI#tkazT;)-LA5OO+Ljmo5_&nLSy)0WdY zB(TeD6xn2;ueKP_)|0C>9FQ5C{Qsk^vt{+UW;M};e;v2=?ZorL<@mEFJKdW$GzjSH zyCbHmk|y@KI9l;XpS-x)9A7harSQodY$J}nAle+wqELofI{sWcv*0LBiYY=VfW2_q z9Bw0lIjPtsLlDgz)mmzE-e@DIWKMa*-=)Z$HQS{CaU~@Ya}Ndw6Dh@Tfg43A2QSqsWZbru$l5WV?k+D0MZjRa>#u@g+ zd}0?W-!$z5O&3k=NaX`g7e(!`0gX#y33v)Y(F~H!qrn?^jTYo;b#X$Tw7zjZDb0p;X0m#>2@s*q(&igUUCYo|M|d zi#N!gc-w;ASCgJ#TfpY4OHbg%n5WeGjcdI}I-^ty(mq+aHK7o6I*IXy`??~T++&8Q* zj&Dh*xi2T8Z!xI58zA8q<9Gk}p+Inus7SHUh=c@=aTV*I#-=e&^WZgaqaLw+NcfbRt#EWDGkY1^qUfjiU}!EM#VZ5@@Vv;Qj5$@ zboAnri?B^3)grW$BI#tC6E4geEveMZDlT#O<}f&Nm2(wN2yAoYO%yuP)2tyjr97vq z9nl2Eqo+O|el-P^=Jx4g9EavK>vMXKCs1SNxK z65L|kr)J!$E+x%IkikY+>C}xzYU?sCseDFq>r%XDNepKxSyL$lXUSbt@$CzgpNeq> z@MAlQ2@UX)qQ~QLQ>hRQ^3UBQU z|H%0%Eilh`U&l)lJ7IX=#w!##kMu~oO)a-@-h@*vRJvg91WSGfet!zvku;N^2%zRp zoGG3>GItM|DQE;}xXb3GVjYRP|ItlRJ5q6%(M{zzl5v;XNpU^WahKakMLH6G3%gE; z1)#kt|639OILSr(M+$E;y$QAZW-rp+1uZAuZkd}o&&MC#Qa6jC_t{>I0%NiFNN=S; zDW8N~0M=V8kfwM1=AQ7a7D)V^C{THot)kp4G-@V+>s-Zd-q>==X}vt`)WuLEb(+wT z#85qX+R%~3P)mCn(UDM7Re4&`kx^4)d79CYQd50#+R>3yQ;T~V(h+Y{m1&k~Q=uPS zR@@@Cte|Fyvl?Vml6isIQEXGJb-|volvKi2sA0Vd!>vGh*3ywJyK?0mA-jz4B%WQe z=uCMvm+c&KUBKd;a$V7RcHI$rUG7<4n!QoHow2ySQP`ca%Ehhr(WD2bx%6XOOG%Y$pwT*zHSlL1-VDLZb|9|hDWh(vDyWjN40M0>IH&F z;Z7091-(b*PD$$pzDMa!@jqp*N9|7O%LUkb9)A(i1?hVke@W~G+ItayvD^jAdli4_ z>;>F=K~E7QhxAz*ug1b6PU5GoTDdwjIgeDkd;5qaF=0#*3tO~NqJ9}f^lu$Ayo{id ze2qftDLH)~*asyW!-jvJbVtYUytEdrMVHIm<#JzKzICs+Hqi}MK#Na1vbT8o(} z*g_9ZEt%AaoxfC;*Cuz+8s8`xjf0Cqfs^RkCGwOIspf6cgT^=vi#CQUZC2^Xb{zWg z_xoYS!4%-yn)@l5+<4K!S9ROW_C^%fg&oOOX=`W6zY`%Jytms&{v2b=Ge>)yg`)8a zaj$d2#I)!%*>D)xNAowPbHRzs?l&;4Tf0$qw3A;H!hllAvNG!s=rDdiRdH%K77?oxVGv}vq-e;` z1_e*7L4@ju=${VZp6YSgvvPSgb(9vT);l%7dd+-l$VX&_lo3>NGpJHqvA+Bzt}i`0 z=3%VQ11F&II&QGNF_@3dM{cXjz&c3R7Znd-mNB0_o9qDa;$mGSTx529T#sIz>=WU^ zY~v%y0IXW(u$^y9{S7?0iY8DUfMdr&mp*7Bv!g*|^VW>v{K7|2ylqI+HjUG3Ag;sgUj%Mh1W@4IN(V&rC)p<9PT%0W1 zadaVtnU?EhR_|lRT3b6`v3AYe2}Z|*PCoy`_0t;#?)#iw#i1S0%Bm0{BHB4(BR?Qr z6Pi88qp+NVXex$66Lv?io>!d)@$ncZGLkj_dF5cYOZh1#=CkZ&(Zg}#uK+WVvET&R z2s)Syv<*vHf>1JDh0)!)iBf*TH>(+Wy*zcDC1M3<*+En2#4$eIcQH(JVddX;Z9i=u z)}L1V>>>FLkrNC+a)bPc^>^49+hNxHh}|F>-$q@9GPr2r#5oV1eh=fyi(m?67*^u7 znH4QeFXR16K2#iL8M86EKKVQt1O$$Jh!Pn3S1GiLRR3@nD@{+5ra9L9;KEE~%n7`~ zIzUi93ROoNTJT7I$%`h#NIN3>2io8#=lRIu96UNgtY>TaH1{AX;DBbrkJh`8(3%VQm^P_s^pbS(Mi@RUFL%ux1B%=^1qnr&I<^5Q|# z`2{c`xbAub#rDz+a&4J!Z(ESz>8m~6EilveB7C?*c-mPj8j0XmYymej&CW6Mky^a( zPYTfY4<(qr~=fnVc>@tnq0$MsaMZPwd^ zx9KvN(tY-u(6k1zDX=R&!q_-H029^JPhO#HLW7(}mG8tcyk^YU8`&xx|if&R7;~hwz5txCZinkb2@W ziE}Em8^q|985rfn6O$erg<}5HFhjJMVHHEm+); zG+pDfXxYiXmdWVMq2juYG$FH`)EnJ>2n73k;2>pvh!XqYiicHZ(eu-}0>foqFAt@Y zT8*IUOA&XVh-AW2nM7rL?a;NBkO)|R~IWa_~$>sUVAq78K!?%P$h z^X@qVfHf>Nb6gJkJLA80rtQEjgzjuY3+16AT>0<6*5wJp2Q7 z_eA={-8z_r>}V{ty850r!IYKk%qB3cCB>0l5oF*gaeS zulv&f9kBs~5CX71=s>Dhh1Ay|G&vte?l+;NFR9M&sU~f z!@beI|49TALJ1)H-~l;b?QakFM*Cy`J0a(n3nK8t2NVeY3UiCLN7?t^iH&b0H)C}U zkpGMy-`^mhZX5V9#E1j($RegL`4MQW`=#AN{Xiu@@-hqQK@?;=I6NVt1>8NsB`+%# zdQ(AU$Y*j!#zIW+U;Q^WzoeOdgV*;d?m!#R!t)4a*`+WBNVrWf3VDI2GX*l4)*!;4 zClqVfCzxhg#zviEte$5yZ`I8=oCtXzso1Pfxbh#x;7=ux&v{$``oXr~828>Mt?M{W z4Xc5*Ku{!Yf}a260=iRdrB_tYM|)4c2y(*kn7;i;M}CshhzyAbiL;6nmxh}~B`Ly| z7SfZJVH^fuK(JZQsKd2lT90HE&>Ec4>ax-r{5isD8_~WeS)*A=(moV*4CeK|Nu{)2 zwruOnb@VyO+2uNEfBCwGfFy!Y$nvXS{y|FiIon81r@y3dZO{v4J|@Bdi!8*|GN3Gk zG5Y(yN+V9l`8R=H+@JX%-mp4%t|$uNr|JG|Jgb1uhp;*Ec>k@6m{!0ARiQAF=MBkt zj_7nN;ovLg?!G6`FZb2b_weB+jU`lH%0#XikYdi&K$!v1$`_@xz)&?_R<(S3hTjzO z+|jH?2y|KFzLdFWLR+!sn_`j3_V!D5;t* zu?|7uwqCJW?}B^#R~w_q$!?s@FkL)YHJ837bsQFL;QtfNHG*eIFn^N@4-u|8jYf!3Xi%O;ejI@m0a0;;ufjtsWnw^48=*J& zyMB(r8{!N&;+K4`Pj`Zq7J+wEIOqA!IEFKXY9IR(W0Oz#ET4CHd|B;t-1i;PsSv9B zbPxi5k0j)kH$Wju>7Cu5I>yr)dND0OYna~R0kZ*pN*%|9e!Jn9MSIiYB0&oY?YvWub3w_g_XO+t$^t)^7dLs_~uYUIw4-+59!4;|L}> zcuC*i+T@tw%Lj?~?s^`@ZDLbslS5%`;&dpJXc`2!mF3VJhuBM6#l0A_rC-6643mvI z+VneEy}PwNkE27*2kcBVK84V+R2vr!U1U3zuEd`WFZQ_|Le(3J*$w5q$x6-7Ss0x{ zIga9ET&prZd-OG%+3%x1<4Sr7Yt-phC_CgBmnvmqSJ~Z;O1zXNVK))t!=DDJX|&G~ z>ow2UFw@;2*O9~Vi;)?Ob6KWe7e%yAi3e&~=8mIo27((#aisKiiPuO(60i;N7)NuO zk{8T70X{7*_dRs|#4UnJtzhb{~6_1iO>?w5^H>`{;$$0N5@oyRr#^SdVu1aw;m`qxqL*P#Yg0LO$( z$JT8xWN_k@mY`;OLu*=f8JtS4Naw0U*o(*Hs*`GDq4F!^XJ(#>E`?*haD*Km+;=%6>eVN%b z-^f=+j=BpM zF^t*|4uX;aL9yROK~X>@gts9IfEzmwAfb8sxPdn$=chV*~`F)>>`74tx3F=A>Zo#+(H+U-!@Jb-ID~S;mRs zqAqPT0zksPW;lHxBMMXbvX-_q&fb6cc(gENka<$im0nfds2VF3^ptYjrpP&>>aIn$YTzE{HG!On-y(0}X{#6IyIcm15S zz;{49a%&i|QIG@~S}MD@#%e9ONdDzHI@}eCRBCLw=%kiGAi3CR{yr*@tD~9`Bez(x zwB3JFej>OcP9c#}nKmR(%;R~V_iOf0FqZB2jaHHR_wpGHGMwK)vE%Kx=(K zwZ$IAR_SVIhFp7s$BlBcJqm{51a@Z_kpi$!v#vJcFv8`BQFSD!TAvZfnKa0mCR|i6 zh%?9)z=k)jfH$qVQlDeU8H0c~8Ht{ZPyy~J7tDSp+$x8!H1IQW5OeWCH))Mx(`t4N z({rU|!?9&Lrxoi`)N@?7MeS0>b6U5R<5I?Ra;N3$8L{?cqAvJx6KihLWv#Piai>w| zx#y|{X$`w2o?okDMamE^qx0=Mx9eN4g-Y>cJ6GC$bYM=_r6Ec0o|fQ%0~jOjmNe>~ zAaHN`HLxg~Z>LdHI_aX2dhy=Dn|cGQQyD0ysVzZ_MHA|UeWRc&pbCWx2B_V zkLu$$kgcLmGN#4*z_bh#s$u0hGPk^<${^dDy64Z6#8Z{^(!e19nSv{B#;{DLh;xx0F}f7wcH2sM^-nOae~Iri!H zj|~x-jH$-tRPL?N(fKIKTm0)~YU8b0FzyFSpGwEx6Q-O!Bw%>yD{W_1d)URkM?2o? z=9B%Wwy)Y=gmySB0wsOcReg8GQJ@R-I%`NKW0R_*GG}_DSE|&kc>r}pbXL)^hlD2; zM>W%^?Tq#ma{RjZ4?J)-L}4s?1yrSgfWt9dfP3>jY=mLYFt)hQ{ zEK_GFp)0f7mF`px;r1fR1dc1~tTrE5-CY!tH15*55E3{7Q-Ht%E zp1%Zm7H0`ZK=W~9Ob@vU#VUx{%SUsQzRcLDKYwJ7z`xA&MU|utv1%`|{1OqYq5iv2amaSXz-$@*R3pMcfqfB~U zI@S7^n|1c1O({SY=T^7!4waCKnTgtkBH%edSmQ3>qc*UD2<4b0upmOEi_m0{mx=!fE2wM zDJU}EypiM&je_?NBn5b(ai(;|VXzo17V}MUbh&{A#kqd3xcT8Y1%({K{qX@bA_0vf zQv%79x#0j%pBrxZVl#a}w8O%P4n#@_i9n=6L!;HuYq5~s$^EFfSU4XHs^>(+!r`#G zs(Oo!mPaH7I6D=>Q{zHM&i1`o{c;smIou?I;FDtEG^t0)qR8-ir&FnwR_@Cb*amD3ig zEMewl8vE}KXARFJyl^r$x{=zu{$qsZKse`@iQs*vxwFkkyR6D5eg$cyy~Gu}(b1qeGR;MRwsoWCks1dSP2+ zIk@ffAaA*9K_wCWs54{a*3L5Pb!M|-FU;6dxt@6MiQeWD=4syMz9w?x6~Ud&;gc;_ zf*7JNiTMm-J}|aYiWen<5^~F)4%ph-O3QBV+cj?7^V%v}y$@hn*&#Nvu&}}5C`GUg z$SsrsJYK|`Mhjf2p+P241J!8^DX0_3{tS&t3BuvCD0aXK9T0FBFs9eZp!9$a&?>|h zf_U}$iwP7zrfW6k6vZqkoT)l=4nxmU3Mg*CxiAAHJK&{P^3g{^L3Y9ll<4IpC|Mv= z3W*9M21MtS!%y#!p%*nQ(9%=G{9r$Hi$`+gB!!PhZ2^_z-lsmlvq(> zK;+OX$y5%rfNB4+%{#%!C(z|C#3;bQ0iY@KvsX#XWKYL~IIuh^lT@6KI0Y-wQKyR*sAT(VK+*~|*W zCnxq2&p6@b)05S=F#EU3jVMoL-OPdbWEAaYi zKVekc7o4IgCM9Wdhqg>iHmyr&rb^lVX3}Gn#lRuL+I@zk-FIfzUQmg&X+B)To7esT zciD^jQiwfr(71qlR+IDIHe;>583*1vj3@}t5hE7v0^JcOz_)1NEC2}|0A|j*m4Oma zEL>J77msGL?ht5WsL;kR>^qQv*JRl9kEUxxFQZWq9w6qRpnqWi>Tbc-5pWSndY4qF z&(P4&@B1VKQkgIo^@v!0weNM~1mO4$r~esItBKJB{)-snM&W^5(Y8Vtumw1QO(GnS zI=qM)UZm|%WG4gI=3_gQP}1Nd@%XAkiN4qFMfhhcVs$R$sJiqchr;y))@Y8NVRj)sn*tzuF$?`EWAex7$m%_?WJV zjD0G0A`s(9;^7{W$_v`u+xpaF`uPriMCXoPgU?PET1J!B$m$o^5v>weUQ{v-l!BO4 z0x{{}Jd=3uP3hg5xuhL{>h#H!5V!r2N&mKApNlI1M(?}00;|7(B#(bIK3!;x@m2n6 zd^%Q$6#5*r{*n~M1TKBEvyJlQW)_XSvqcklPKUG;nLX92eCwM7X5$SVHt`AHMH#F7 zek>!S>moj!%caFCK4kD2&Qk91+p8+LD+Qh24T&Z;Z{zgNEoqj2=ec=87)!QxDyrF6 zig=Hx(a%R7%9Y(ekJwQZn&v{h_EwbEWE!vB%WjpBnvkNFA8ID!-BCdc z?csI79&|jYd7+DN%OY=ObMq@ru7{H)5>p2+cGWu_GZOOP^vn0e)||kq`P=7B3|X&xp)%($5Wwdsu}^W=7m)!5GlZLj$ztB6JQE83e}je zreo|+u7+^-cOwrh6RFnRAeHd07m|K#)oo7@HFni$;u!)m^k#X~QXmrj>xk?JO3*bI zX3&tL46~X@@&LMFC3}{$k(Zu)s?b~5o{p@Hw^k^~HbF}E-F+E;N7kFQ`!u$}|I(DI zB0+P&!qcB;=$aSr2bNN8zn%Lx+sIfD4VN`^N?M^urfe$PG4Euu0R z<-%c<k0vHT+*iE(SncBE_GICU0j%CU_e9 z51kby5RZn!9Ef7-Ky^+d3O|J|II<^^K^;1VAjW~ktP1Ee(GPNLP;oIJd-VOX1i_NI z9FP--_akj5QvyhM%o2w4hB82Q2Ydi}J()_x$OBo%@`c1rJ;@%>xZzO72rUM>1@p8d zdSV0sKVzjr92>&}iBLEeK*OwJ*bKCKZ8MS=iH7$>TbL~_K@GiuM4*tVS^CWFpAZVKVK~0eRCYt^Inirc6^F8C+I;wk=-EwQnYPc6K`73iF)~d4`W%caL6ub_~~^N?U*CIy~tmu&k~#+3e)rk+l1_gJYL3JjU4&ml#uoMO~}A zXM?|_ayfG>IL3LKzAgRvHenl4A}k%Rg*cs=>sSuDAX*( z#A__XXjFox8eL>+KSgUe2i#l}gK=haA(|1O%bv?UejPmiqdA;S6#0)LwO=H1ND#zC zd?FzH&49^(iS<9PhK~F{S`EZ|X3*ZtI`%3;amunKG3m(!i{kjphvj*Y^>ECsaWyn4 z=pLf@AqV#DNuk7Cb_=7&zrSE|r8oXUZJ#~jdZKCBF7m$oi!hW%UU^lDR-#x-xf8~`zEqgt8-ffU} zn>(`4Ai7h&nDeoSLN9lBPahU}Do5t?1N%>1*~foqU0IC}lgsN9X} z)aY&9^`0c%pDxwX98&h;gO*Cjqbc=OLN8wVn7-?O6UD31`?lsiiyxqwX1OVhHV`rF1!gU82(->)71C`Rd2*AhS4P;M1@q0xrh z$Y~OE9Mwtehz@xore4+-sin4m0mU=W9r^srr(l6|1SJ6|s{Njzj{kt5i{UT=0i?wx z|7@p!O0)mti7>f?#s??N*UIbW97IgKWc22Ej^0QYpqM( z`qk*+p{mtJM4k2qBNL^h9R7RqimjIDJIONJ60Edt8+H!rc96@^7qrF{yJ~obo3lR@ zHOQuDlH*4ZKC{>(2n??O*TG_gkN0?Yt4&)7vAmDHi)AC;mz+Yq*-(Ce4#$-am zA0*OqTZQ0zKXSb_|2*1ia|aWO_Nf-J5bt+XId>-lf>7iJUfc2TerXW zYbI^DmUX)BfNpJhhtNgfW)(ytft0LF4|PTL;!Wrpf4M{NFMd62pJs)tpK7$NfQylP z8#`KWBaHd&YR(R-){n~a8_91)o+i0YvQl5#KVah0UQ$wjdUE)a`g`*!zOF|qKE z5V)u45~cjxkFtL8ER9J@+rUz0&2W8ttqq4Hv)ICd;bY{080e#q)d5=0Kgl7k-hA19 zSj3QZQJm!J(1@-E>yqogkV6#v5z2vE5^nY-S54!5<&9>%&b(abtfD!~u%WrgRbiUQ>H)1q4(W`K!#^4awnk}nRkK{$D@7?@5y*t-7N;;zAmdL0n d&xU0F2O@Pp9zf@HhMqK>r}n002Tsb2$J2 literal 0 HcmV?d00001 diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css index b2c48bf089b1b..ca798931953b8 100644 --- a/src/librustdoc/html/static/rustdoc.css +++ b/src/librustdoc/html/static/rustdoc.css @@ -39,19 +39,13 @@ font-weight: 400; /* Avoid using locally installed font because bad versions are in circulation: * see https://github.com/rust-lang/rust/issues/24355 */ - src: url("SourceCodePro-Regular.ttf.woff") format('woff'); -} -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 400; - src: url("SourceCodePro-It.ttf.woff") format('woff'); + src: url("SourceCodePro-Regular.woff") format('woff'); } @font-face { font-family: 'Source Code Pro'; font-style: normal; font-weight: 600; - src: url("SourceCodePro-Semibold.ttf.woff") format('woff'); + src: url("SourceCodePro-Semibold.woff") format('woff'); } * { diff --git a/src/librustdoc/html/static_files.rs b/src/librustdoc/html/static_files.rs index 34055f386fbc0..9fc1d76185fb7 100644 --- a/src/librustdoc/html/static_files.rs +++ b/src/librustdoc/html/static_files.rs @@ -96,15 +96,11 @@ pub mod source_serif_pro { /// Files related to the Source Code Pro font. pub mod source_code_pro { - /// The file `SourceCodePro-Regular.ttf.woff`, the Regular variant of the Source Code Pro font. - pub static REGULAR: &'static [u8] = include_bytes!("static/SourceCodePro-Regular.ttf.woff"); + /// The file `SourceCodePro-Regular.woff`, the Regular variant of the Source Code Pro font. + pub static REGULAR: &'static [u8] = include_bytes!("static/SourceCodePro-Regular.woff"); - /// The file `SourceCodePro-Semibold.ttf.woff`, the Semibold variant of the Source Code Pro - /// font. - pub static SEMIBOLD: &'static [u8] = include_bytes!("static/SourceCodePro-Semibold.ttf.woff"); - - /// The file `SourceCodePro-It.ttf.woff`, the Italic variant of the Source Code Pro font. - pub static ITALIC: &'static [u8] = include_bytes!("static/SourceCodePro-It.ttf.woff"); + /// The file `SourceCodePro-Semibold.woff`, the Semibold variant of the Source Code Pro font. + pub static SEMIBOLD: &'static [u8] = include_bytes!("static/SourceCodePro-Semibold.woff"); /// The file `SourceCodePro-LICENSE.txt`, the license text of the Source Code Pro font. pub static LICENSE: &'static [u8] = include_bytes!("static/SourceCodePro-LICENSE.txt"); From 15c30ddd69d6cc3fffe6d304c6dc968a5ed046f1 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Sun, 13 Oct 2019 01:50:03 +0200 Subject: [PATCH 11/15] Stabilize the `never_type`, written `!`. --- src/libcore/clone.rs | 2 +- src/libcore/cmp.rs | 8 ++++---- src/libcore/fmt/mod.rs | 4 ++-- src/libcore/lib.rs | 2 +- src/libcore/marker.rs | 2 +- src/libcore/num/mod.rs | 2 +- src/librustc/lib.rs | 2 +- src/librustc/ty/context.rs | 6 +----- src/librustc_codegen_utils/lib.rs | 2 +- src/librustc_error_codes/error_codes/E0725.md | 4 ++-- src/librustc_mir/lib.rs | 2 +- src/librustc_typeck/check/mod.rs | 5 ++--- src/librustc_typeck/lib.rs | 2 +- src/librustdoc/lib.rs | 2 +- src/libserialize/lib.rs | 2 +- src/libstd/error.rs | 2 +- src/libstd/lib.rs | 2 +- src/libstd/primitive_docs.rs | 4 +--- src/libsyntax/feature_gate/accepted.rs | 2 ++ src/libsyntax/feature_gate/active.rs | 3 --- src/libsyntax/feature_gate/check.rs | 18 ------------------ 21 files changed, 26 insertions(+), 52 deletions(-) diff --git a/src/libcore/clone.rs b/src/libcore/clone.rs index 14d947ccf2402..86dd77f10f324 100644 --- a/src/libcore/clone.rs +++ b/src/libcore/clone.rs @@ -185,7 +185,7 @@ mod impls { bool char } - #[unstable(feature = "never_type", issue = "35121")] + #[stable(feature = "never_type", since = "1.41.0")] impl Clone for ! { #[inline] fn clone(&self) -> Self { diff --git a/src/libcore/cmp.rs b/src/libcore/cmp.rs index 1ac51291b93d7..1e2e595f1dd0a 100644 --- a/src/libcore/cmp.rs +++ b/src/libcore/cmp.rs @@ -1128,24 +1128,24 @@ mod impls { ord_impl! { char usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128 } - #[unstable(feature = "never_type", issue = "35121")] + #[stable(feature = "never_type", since = "1.41.0")] impl PartialEq for ! { fn eq(&self, _: &!) -> bool { *self } } - #[unstable(feature = "never_type", issue = "35121")] + #[stable(feature = "never_type", since = "1.41.0")] impl Eq for ! {} - #[unstable(feature = "never_type", issue = "35121")] + #[stable(feature = "never_type", since = "1.41.0")] impl PartialOrd for ! { fn partial_cmp(&self, _: &!) -> Option { *self } } - #[unstable(feature = "never_type", issue = "35121")] + #[stable(feature = "never_type", since = "1.41.0")] impl Ord for ! { fn cmp(&self, _: &!) -> Ordering { *self diff --git a/src/libcore/fmt/mod.rs b/src/libcore/fmt/mod.rs index 5a039144f667f..07dca9ad214ec 100644 --- a/src/libcore/fmt/mod.rs +++ b/src/libcore/fmt/mod.rs @@ -1935,14 +1935,14 @@ macro_rules! fmt_refs { fmt_refs! { Debug, Display, Octal, Binary, LowerHex, UpperHex, LowerExp, UpperExp } -#[unstable(feature = "never_type", issue = "35121")] +#[stable(feature = "never_type", since = "1.41.0")] impl Debug for ! { fn fmt(&self, _: &mut Formatter<'_>) -> Result { *self } } -#[unstable(feature = "never_type", issue = "35121")] +#[stable(feature = "never_type", since = "1.41.0")] impl Display for ! { fn fmt(&self, _: &mut Formatter<'_>) -> Result { *self diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs index ea5536eb50cae..ec19392450a4b 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs @@ -85,7 +85,7 @@ #![feature(iter_once_with)] #![feature(lang_items)] #![feature(link_llvm_intrinsics)] -#![feature(never_type)] +#![cfg_attr(bootstrap, feature(never_type))] #![feature(nll)] #![feature(exhaustive_patterns)] #![feature(no_core)] diff --git a/src/libcore/marker.rs b/src/libcore/marker.rs index 2d2fc4102e190..86ee673cea941 100644 --- a/src/libcore/marker.rs +++ b/src/libcore/marker.rs @@ -774,7 +774,7 @@ mod copy_impls { bool char } - #[unstable(feature = "never_type", issue = "35121")] + #[stable(feature = "never_type", since = "1.41.0")] impl Copy for ! {} #[stable(feature = "rust1", since = "1.0.0")] diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs index b5d61a3fd4e78..c2f85b9535e78 100644 --- a/src/libcore/num/mod.rs +++ b/src/libcore/num/mod.rs @@ -4728,7 +4728,7 @@ impl From for TryFromIntError { } } -#[unstable(feature = "never_type", issue = "35121")] +#[stable(feature = "never_type", since = "1.41.0")] impl From for TryFromIntError { fn from(never: !) -> TryFromIntError { // Match rather than coerce to make sure that code like diff --git a/src/librustc/lib.rs b/src/librustc/lib.rs index 38877dee71106..1fc157eca3e89 100644 --- a/src/librustc/lib.rs +++ b/src/librustc/lib.rs @@ -36,7 +36,7 @@ #![feature(core_intrinsics)] #![feature(drain_filter)] #![cfg_attr(windows, feature(libc))] -#![feature(never_type)] +#![cfg_attr(bootstrap, feature(never_type))] #![feature(exhaustive_patterns)] #![feature(overlapping_marker_traits)] #![feature(extern_types)] diff --git a/src/librustc/ty/context.rs b/src/librustc/ty/context.rs index 41d069bf6ae33..2dea2216f380e 100644 --- a/src/librustc/ty/context.rs +++ b/src/librustc/ty/context.rs @@ -2440,11 +2440,7 @@ impl<'tcx> TyCtxt<'tcx> { #[inline] pub fn mk_diverging_default(self) -> Ty<'tcx> { - if self.features().never_type { - self.types.never - } else { - self.intern_tup(&[]) - } + self.types.never } #[inline] diff --git a/src/librustc_codegen_utils/lib.rs b/src/librustc_codegen_utils/lib.rs index fb2099e71a31a..f2739a3b30c92 100644 --- a/src/librustc_codegen_utils/lib.rs +++ b/src/librustc_codegen_utils/lib.rs @@ -8,7 +8,7 @@ #![feature(box_patterns)] #![feature(box_syntax)] #![feature(core_intrinsics)] -#![feature(never_type)] +#![cfg_attr(bootstrap, feature(never_type))] #![feature(nll)] #![feature(in_band_lifetimes)] diff --git a/src/librustc_error_codes/error_codes/E0725.md b/src/librustc_error_codes/error_codes/E0725.md index 9bd321e5f82d6..b96a5e694dfc0 100644 --- a/src/librustc_error_codes/error_codes/E0725.md +++ b/src/librustc_error_codes/error_codes/E0725.md @@ -4,8 +4,8 @@ command line flags. Erroneous code example: ```ignore (can't specify compiler flags from doctests) -#![feature(never_type)] // error: the feature `never_type` is not in - // the list of allowed features +#![feature(specialization)] // error: the feature `specialization` is not in + // the list of allowed features ``` Delete the offending feature attribute, or add it to the list of allowed diff --git a/src/librustc_mir/lib.rs b/src/librustc_mir/lib.rs index 6d19cd63bc32e..cbb6408126a45 100644 --- a/src/librustc_mir/lib.rs +++ b/src/librustc_mir/lib.rs @@ -16,7 +16,7 @@ Rust MIR: a lowered representation of Rust. Also: an experiment! #![feature(decl_macro)] #![feature(drain_filter)] #![feature(exhaustive_patterns)] -#![feature(never_type)] +#![cfg_attr(bootstrap, feature(never_type))] #![feature(specialization)] #![feature(try_trait)] #![feature(unicode_internals)] diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index 50c1a74fe911b..8f3e274b79fb0 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -3129,9 +3129,8 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { } // Tries to apply a fallback to `ty` if it is an unsolved variable. - // Non-numerics get replaced with ! or () (depending on whether - // feature(never_type) is enabled, unconstrained ints with i32, - // unconstrained floats with f64. + // Non-numerics get replaced with `!`, unconstrained ints with `i32`, + // unconstrained floats with `f64`. // Fallback becomes very dubious if we have encountered type-checking errors. // In that case, fallback to Error. // The return value indicates whether fallback has occurred. diff --git a/src/librustc_typeck/lib.rs b/src/librustc_typeck/lib.rs index 9289f3c7ef30d..0f147f92b5f7e 100644 --- a/src/librustc_typeck/lib.rs +++ b/src/librustc_typeck/lib.rs @@ -66,7 +66,7 @@ This API is completely unstable and subject to change. #![feature(in_band_lifetimes)] #![feature(nll)] #![feature(slice_patterns)] -#![feature(never_type)] +#![cfg_attr(bootstrap, feature(never_type))] #![recursion_limit="256"] diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 277475f6fffd8..6ed2d4b8477ca 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -14,7 +14,7 @@ #![feature(crate_visibility_modifier)] #![feature(const_fn)] #![feature(drain_filter)] -#![feature(never_type)] +#![cfg_attr(bootstrap, feature(never_type))] #![feature(unicode_internals)] #![recursion_limit="256"] diff --git a/src/libserialize/lib.rs b/src/libserialize/lib.rs index e45d56c320cd8..13d83337f5f6f 100644 --- a/src/libserialize/lib.rs +++ b/src/libserialize/lib.rs @@ -11,7 +11,7 @@ Core encoding and decoding interfaces. #![feature(box_syntax)] #![feature(core_intrinsics)] #![feature(specialization)] -#![feature(never_type)] +#![cfg_attr(bootstrap, feature(never_type))] #![feature(nll)] #![feature(associated_type_bounds)] #![cfg_attr(test, feature(test))] diff --git a/src/libstd/error.rs b/src/libstd/error.rs index d1cb0862d82a8..45f1160ca794d 100644 --- a/src/libstd/error.rs +++ b/src/libstd/error.rs @@ -465,7 +465,7 @@ impl<'a> From> for Box { } } -#[unstable(feature = "never_type", issue = "35121")] +#[stable(feature = "never_type", since = "1.41.0")] impl Error for ! { fn description(&self) -> &str { *self } } diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 32023a5b75bfb..acf53f7f00348 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -280,7 +280,7 @@ #![feature(maybe_uninit_ref)] #![feature(maybe_uninit_slice)] #![feature(needs_panic_runtime)] -#![feature(never_type)] +#![cfg_attr(bootstrap, feature(never_type))] #![feature(nll)] #![cfg_attr(bootstrap, feature(on_unimplemented))] #![feature(optin_builtin_traits)] diff --git a/src/libstd/primitive_docs.rs b/src/libstd/primitive_docs.rs index a72951c034610..b4495588c9949 100644 --- a/src/libstd/primitive_docs.rs +++ b/src/libstd/primitive_docs.rs @@ -71,7 +71,6 @@ mod prim_bool { } /// write: /// /// ``` -/// #![feature(never_type)] /// # fn foo() -> u32 { /// let x: ! = { /// return 123 @@ -201,7 +200,6 @@ mod prim_bool { } /// for example: /// /// ``` -/// #![feature(never_type)] /// # use std::fmt; /// # trait Debug { /// # fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result; @@ -239,7 +237,7 @@ mod prim_bool { } /// [`Default`]: default/trait.Default.html /// [`default()`]: default/trait.Default.html#tymethod.default /// -#[unstable(feature = "never_type", issue = "35121")] +#[stable(feature = "never_type", since = "1.41.0")] mod prim_never { } #[doc(primitive = "char")] diff --git a/src/libsyntax/feature_gate/accepted.rs b/src/libsyntax/feature_gate/accepted.rs index 0107611460b09..dab83f48a03ae 100644 --- a/src/libsyntax/feature_gate/accepted.rs +++ b/src/libsyntax/feature_gate/accepted.rs @@ -253,6 +253,8 @@ declare_features! ( (accepted, const_constructor, "1.40.0", Some(61456), None), /// Allows the use of `#[cfg(doctest)]`, set when rustdoc is collecting doctests. (accepted, cfg_doctest, "1.40.0", Some(62210), None), + /// Allows the `!` type. Does not imply 'exhaustive_patterns' any more. + (accepted, never_type, "1.41.0", Some(35121), None), /// Allows relaxing the coherence rules such that /// `impl ForeignTrait for ForeignType` is permitted. (accepted, re_rebalance_coherence, "1.41.0", Some(55437), None), diff --git a/src/libsyntax/feature_gate/active.rs b/src/libsyntax/feature_gate/active.rs index 2819ee273d9f0..23718f562463a 100644 --- a/src/libsyntax/feature_gate/active.rs +++ b/src/libsyntax/feature_gate/active.rs @@ -318,9 +318,6 @@ declare_features! ( /// Allows `X..Y` patterns. (active, exclusive_range_pattern, "1.11.0", Some(37854), None), - /// Allows the `!` type. Does not imply 'exhaustive_patterns' (below) any more. - (active, never_type, "1.13.0", Some(35121), None), - /// Allows exhaustive pattern matching on types that contain uninhabited types. (active, exhaustive_patterns, "1.13.0", Some(51085), None), diff --git a/src/libsyntax/feature_gate/check.rs b/src/libsyntax/feature_gate/check.rs index abf9adefd3c44..f966850254f9a 100644 --- a/src/libsyntax/feature_gate/check.rs +++ b/src/libsyntax/feature_gate/check.rs @@ -521,25 +521,11 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> { ast::TyKind::BareFn(ref bare_fn_ty) => { self.check_extern(bare_fn_ty.ext); } - ast::TyKind::Never => { - gate_feature_post!(&self, never_type, ty.span, - "The `!` type is experimental"); - } _ => {} } visit::walk_ty(self, ty) } - fn visit_fn_ret_ty(&mut self, ret_ty: &'a ast::FunctionRetTy) { - if let ast::FunctionRetTy::Ty(ref output_ty) = *ret_ty { - if let ast::TyKind::Never = output_ty.kind { - // Do nothing. - } else { - self.visit_ty(output_ty) - } - } - } - fn visit_expr(&mut self, e: &'a ast::Expr) { match e.kind { ast::ExprKind::Box(_) => { @@ -567,10 +553,6 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> { visit::walk_expr(self, e) } - fn visit_arm(&mut self, arm: &'a ast::Arm) { - visit::walk_arm(self, arm) - } - fn visit_pat(&mut self, pattern: &'a ast::Pat) { match &pattern.kind { PatKind::Slice(pats) => { From 8f6197f39f7d468dfc5b2bd41dae4769992a2f83 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Sun, 13 Oct 2019 03:17:00 +0200 Subject: [PATCH 12/15] Remove `#![feature(never_type)]` from tests. Also remove `never_type` the feature-gate test. --- src/test/codegen/enum-debug-niche-2.rs | 2 - src/test/mir-opt/uninhabited-enum.rs | 2 - ...ed-types-ICE-when-projecting-out-of-err.rs | 2 +- ...ypes-ICE-when-projecting-out-of-err.stderr | 4 +- .../ui/binding/empty-types-in-patterns.rs | 1 - src/test/ui/borrowck/assign-never-type.rs | 2 - src/test/ui/break-while-condition.rs | 2 - src/test/ui/break-while-condition.stderr | 6 +-- .../coercion/coerce-issue-49593-box-never.rs | 1 - src/test/ui/coercion/coerce-to-bang-cast.rs | 2 - .../ui/coercion/coerce-to-bang-cast.stderr | 4 +- src/test/ui/coercion/coerce-to-bang.rs | 2 - src/test/ui/coercion/coerce-to-bang.stderr | 20 ++++---- src/test/ui/consts/validate_never_arrays.rs | 2 +- src/test/ui/empty/empty-never-array.rs | 2 - src/test/ui/empty/empty-never-array.stderr | 4 +- .../feature-gate-exhaustive-patterns.rs | 2 - .../feature-gate-exhaustive-patterns.stderr | 2 +- .../feature-gates/feature-gate-never_type.rs | 17 ------- .../feature-gate-never_type.stderr | 48 ------------------- .../ui/for-loop-while/loop-break-value.rs | 1 - src/test/ui/lint/must_use-unit.rs | 1 - src/test/ui/lint/must_use-unit.stderr | 6 +-- src/test/ui/lint/uninitialized-zeroed.rs | 2 +- src/test/ui/loops/loop-break-value.rs | 2 - src/test/ui/loops/loop-break-value.stderr | 34 ++++++------- src/test/ui/mir/mir_calls_to_shims.rs | 1 - src/test/ui/never_type/adjust_never.rs | 2 - .../call-fn-never-arg-wrong-type.rs | 2 - .../call-fn-never-arg-wrong-type.stderr | 2 +- src/test/ui/never_type/call-fn-never-arg.rs | 1 - src/test/ui/never_type/cast-never.rs | 2 - .../ui/never_type/defaulted-never-note.rs | 4 -- .../ui/never_type/defaulted-never-note.stderr | 2 +- .../ui/never_type/dispatch_from_dyn_zst.rs | 2 +- .../diverging-fallback-control-flow.rs | 2 - src/test/ui/never_type/impl-for-never.rs | 2 - src/test/ui/never_type/issue-13352.stderr | 6 +-- src/test/ui/never_type/issue-2149.stderr | 6 +-- src/test/ui/never_type/issue-44402.rs | 1 - .../ui/never_type/never-assign-dead-code.rs | 1 - .../never_type/never-assign-dead-code.stderr | 10 ++-- .../ui/never_type/never-assign-wrong-type.rs | 1 - .../never_type/never-assign-wrong-type.stderr | 2 +- .../ui/never_type/never-associated-type.rs | 2 - .../never_type/never-from-impl-is-reserved.rs | 2 - .../never-from-impl-is-reserved.stderr | 2 +- src/test/ui/never_type/never-result.rs | 2 - src/test/ui/never_type/never-type-arg.rs | 2 - src/test/ui/never_type/never-type-rvalues.rs | 1 - .../ui/never_type/never_transmute_never.rs | 1 - .../never_type/panic-uninitialized-zeroed.rs | 1 - src/test/ui/never_type/try_from.rs | 2 - .../usefulness/match-privately-empty.rs | 1 - .../usefulness/match-privately-empty.stderr | 2 +- src/test/ui/print_type_sizes/uninhabited.rs | 1 - src/test/ui/reachable/expr_add.rs | 1 - src/test/ui/reachable/expr_add.stderr | 4 +- src/test/ui/reachable/expr_assign.rs | 1 - src/test/ui/reachable/expr_assign.stderr | 8 ++-- src/test/ui/reachable/expr_call.rs | 1 - src/test/ui/reachable/expr_call.stderr | 6 +-- src/test/ui/reachable/expr_cast.rs | 2 +- src/test/ui/reachable/expr_method.rs | 1 - src/test/ui/reachable/expr_method.stderr | 6 +-- src/test/ui/reachable/expr_type.rs | 2 +- src/test/ui/reachable/expr_unary.rs | 1 - src/test/ui/reachable/expr_unary.stderr | 6 +-- .../ui/reachable/unreachable-loop-patterns.rs | 1 - .../unreachable-loop-patterns.stderr | 6 +-- .../ui/reachable/unreachable-try-pattern.rs | 2 +- .../ui/reachable/unwarned-match-on-never.rs | 2 - .../reachable/unwarned-match-on-never.stderr | 6 +-- .../uninhabited/auxiliary/uninhabited.rs | 1 - .../uninhabited/coercions.rs | 1 - .../uninhabited/coercions.stderr | 8 ++-- .../uninhabited/coercions_same_crate.rs | 2 - .../uninhabited/coercions_same_crate.stderr | 8 ++-- .../uninhabited/indirect_match.rs | 1 - .../uninhabited/indirect_match.stderr | 8 ++-- .../uninhabited/indirect_match_same_crate.rs | 2 - .../indirect_match_same_crate.stderr | 8 ++-- ...indirect_match_with_exhaustive_patterns.rs | 1 - ...rect_match_with_exhaustive_patterns.stderr | 8 ++-- ...tch_with_exhaustive_patterns_same_crate.rs | 1 - .../uninhabited/match.rs | 1 - .../uninhabited/match.stderr | 8 ++-- .../uninhabited/match_same_crate.rs | 2 - .../uninhabited/match_same_crate.stderr | 6 +-- .../match_with_exhaustive_patterns.rs | 1 - .../match_with_exhaustive_patterns.stderr | 8 ++-- ...tch_with_exhaustive_patterns_same_crate.rs | 1 - .../uninhabited/patterns_same_crate.rs | 1 - .../uninhabited/patterns_same_crate.stderr | 10 ++-- .../reservation-impl-non-lattice-ok.rs | 2 +- .../different_defining_uses_never_type.stderr | 4 +- src/test/ui/type-sizes.rs | 1 - .../ui/uninhabited/uninhabited-irrefutable.rs | 1 - .../uninhabited-irrefutable.stderr | 2 +- .../ui/uninhabited/uninhabited-patterns.rs | 1 - .../uninhabited/uninhabited-patterns.stderr | 12 ++--- 101 files changed, 130 insertions(+), 277 deletions(-) delete mode 100644 src/test/ui/feature-gates/feature-gate-never_type.rs delete mode 100644 src/test/ui/feature-gates/feature-gate-never_type.stderr diff --git a/src/test/codegen/enum-debug-niche-2.rs b/src/test/codegen/enum-debug-niche-2.rs index 0f17976ef4965..7e00dc5463f68 100644 --- a/src/test/codegen/enum-debug-niche-2.rs +++ b/src/test/codegen/enum-debug-niche-2.rs @@ -12,8 +12,6 @@ // CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "Placeholder",{{.*}}extraData: i64 4294967295{{[,)].*}} // CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "Error",{{.*}}extraData: i64 0{{[,)].*}} -#![feature(never_type)] - #[derive(Copy, Clone)] pub struct Entity { private: std::num::NonZeroU32, diff --git a/src/test/mir-opt/uninhabited-enum.rs b/src/test/mir-opt/uninhabited-enum.rs index 904a9c43c1bcc..409be8587cf0f 100644 --- a/src/test/mir-opt/uninhabited-enum.rs +++ b/src/test/mir-opt/uninhabited-enum.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - pub enum Void {} #[no_mangle] diff --git a/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.rs b/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.rs index 707bcac78bf92..408e55f890317 100644 --- a/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.rs +++ b/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.rs @@ -21,5 +21,5 @@ trait Add { fn ice(a: A) { let r = loop {}; r = r + a; - //~^ ERROR the trait bound `(): Add` is not satisfied + //~^ ERROR the trait bound `!: Add` is not satisfied } diff --git a/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.stderr b/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.stderr index 8c3463a2832e0..f85c8a1a515a5 100644 --- a/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.stderr +++ b/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.stderr @@ -1,8 +1,8 @@ -error[E0277]: the trait bound `(): Add` is not satisfied +error[E0277]: the trait bound `!: Add` is not satisfied --> $DIR/associated-types-ICE-when-projecting-out-of-err.rs:23:11 | LL | r = r + a; - | ^ the trait `Add` is not implemented for `()` + | ^ the trait `Add` is not implemented for `!` error: aborting due to previous error diff --git a/src/test/ui/binding/empty-types-in-patterns.rs b/src/test/ui/binding/empty-types-in-patterns.rs index 2b8b1b29df8c9..facb70d1253a8 100644 --- a/src/test/ui/binding/empty-types-in-patterns.rs +++ b/src/test/ui/binding/empty-types-in-patterns.rs @@ -1,5 +1,4 @@ // run-pass -#![feature(never_type)] #![feature(exhaustive_patterns)] #![feature(slice_patterns)] #![allow(unreachable_patterns)] diff --git a/src/test/ui/borrowck/assign-never-type.rs b/src/test/ui/borrowck/assign-never-type.rs index 4f30ea1467023..52b2e70d159a9 100644 --- a/src/test/ui/borrowck/assign-never-type.rs +++ b/src/test/ui/borrowck/assign-never-type.rs @@ -2,8 +2,6 @@ // check-pass -#![feature(never_type)] - pub fn main() { loop { match None { diff --git a/src/test/ui/break-while-condition.rs b/src/test/ui/break-while-condition.rs index 6064e6ab00235..7aa5682b923a6 100644 --- a/src/test/ui/break-while-condition.rs +++ b/src/test/ui/break-while-condition.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - fn main() { // The `if false` expressions are simply to // make sure we don't avoid checking everything diff --git a/src/test/ui/break-while-condition.stderr b/src/test/ui/break-while-condition.stderr index a08edee07ea0a..bae3b6765e21b 100644 --- a/src/test/ui/break-while-condition.stderr +++ b/src/test/ui/break-while-condition.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/break-while-condition.rs:9:20 + --> $DIR/break-while-condition.rs:7:20 | LL | let _: ! = { | ____________________^ @@ -11,7 +11,7 @@ LL | | }; found type `()` error[E0308]: mismatched types - --> $DIR/break-while-condition.rs:16:13 + --> $DIR/break-while-condition.rs:14:13 | LL | / while false { LL | | break @@ -22,7 +22,7 @@ LL | | } found type `()` error[E0308]: mismatched types - --> $DIR/break-while-condition.rs:24:13 + --> $DIR/break-while-condition.rs:22:13 | LL | / while false { LL | | return diff --git a/src/test/ui/coercion/coerce-issue-49593-box-never.rs b/src/test/ui/coercion/coerce-issue-49593-box-never.rs index 5038eb3ebf458..b71c3663a4f63 100644 --- a/src/test/ui/coercion/coerce-issue-49593-box-never.rs +++ b/src/test/ui/coercion/coerce-issue-49593-box-never.rs @@ -1,6 +1,5 @@ // check-pass -#![feature(never_type)] #![allow(unreachable_code)] use std::error::Error; diff --git a/src/test/ui/coercion/coerce-to-bang-cast.rs b/src/test/ui/coercion/coerce-to-bang-cast.rs index 8ef1948084654..ea1384a1dab55 100644 --- a/src/test/ui/coercion/coerce-to-bang-cast.rs +++ b/src/test/ui/coercion/coerce-to-bang-cast.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - fn foo(x: usize, y: !, z: usize) { } fn cast_a() { diff --git a/src/test/ui/coercion/coerce-to-bang-cast.stderr b/src/test/ui/coercion/coerce-to-bang-cast.stderr index ff30ebc09c63a..0e17f32511f82 100644 --- a/src/test/ui/coercion/coerce-to-bang-cast.stderr +++ b/src/test/ui/coercion/coerce-to-bang-cast.stderr @@ -1,5 +1,5 @@ error[E0605]: non-primitive cast: `i32` as `!` - --> $DIR/coerce-to-bang-cast.rs:6:13 + --> $DIR/coerce-to-bang-cast.rs:4:13 | LL | let y = {return; 22} as !; | ^^^^^^^^^^^^^^^^^ @@ -7,7 +7,7 @@ LL | let y = {return; 22} as !; = note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait error[E0605]: non-primitive cast: `i32` as `!` - --> $DIR/coerce-to-bang-cast.rs:11:13 + --> $DIR/coerce-to-bang-cast.rs:9:13 | LL | let y = 22 as !; | ^^^^^^^ diff --git a/src/test/ui/coercion/coerce-to-bang.rs b/src/test/ui/coercion/coerce-to-bang.rs index 1e06934d09f9e..d52f79fbb7a98 100644 --- a/src/test/ui/coercion/coerce-to-bang.rs +++ b/src/test/ui/coercion/coerce-to-bang.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - fn foo(x: usize, y: !, z: usize) { } fn call_foo_a() { diff --git a/src/test/ui/coercion/coerce-to-bang.stderr b/src/test/ui/coercion/coerce-to-bang.stderr index a46e97da8159b..b6fd5bf43abf2 100644 --- a/src/test/ui/coercion/coerce-to-bang.stderr +++ b/src/test/ui/coercion/coerce-to-bang.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:6:17 + --> $DIR/coerce-to-bang.rs:4:17 | LL | foo(return, 22, 44); | ^^ expected !, found integer @@ -8,7 +8,7 @@ LL | foo(return, 22, 44); found type `{integer}` error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:18:13 + --> $DIR/coerce-to-bang.rs:16:13 | LL | foo(22, 44, return); | ^^ expected !, found integer @@ -17,7 +17,7 @@ LL | foo(22, 44, return); found type `{integer}` error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:26:12 + --> $DIR/coerce-to-bang.rs:24:12 | LL | foo(a, b, c); // ... and hence a reference to `a` is expected to diverge. | ^ expected !, found integer @@ -26,7 +26,7 @@ LL | foo(a, b, c); // ... and hence a reference to `a` is expected to diverg found type `{integer}` error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:36:12 + --> $DIR/coerce-to-bang.rs:34:12 | LL | foo(a, b, c); | ^ expected !, found integer @@ -35,7 +35,7 @@ LL | foo(a, b, c); found type `{integer}` error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:45:12 + --> $DIR/coerce-to-bang.rs:43:12 | LL | foo(a, b, c); | ^ expected !, found integer @@ -44,7 +44,7 @@ LL | foo(a, b, c); found type `{integer}` error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:50:21 + --> $DIR/coerce-to-bang.rs:48:21 | LL | let x: [!; 2] = [return, 22]; | ^^^^^^^^^^^^ expected !, found integer @@ -53,7 +53,7 @@ LL | let x: [!; 2] = [return, 22]; found type `[{integer}; 2]` error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:55:22 + --> $DIR/coerce-to-bang.rs:53:22 | LL | let x: [!; 2] = [22, return]; | ^^ expected !, found integer @@ -62,7 +62,7 @@ LL | let x: [!; 2] = [22, return]; found type `{integer}` error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:60:37 + --> $DIR/coerce-to-bang.rs:58:37 | LL | let x: (usize, !, usize) = (22, 44, 66); | ^^ expected !, found integer @@ -71,7 +71,7 @@ LL | let x: (usize, !, usize) = (22, 44, 66); found type `{integer}` error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:65:41 + --> $DIR/coerce-to-bang.rs:63:41 | LL | let x: (usize, !, usize) = (return, 44, 66); | ^^ expected !, found integer @@ -80,7 +80,7 @@ LL | let x: (usize, !, usize) = (return, 44, 66); found type `{integer}` error[E0308]: mismatched types - --> $DIR/coerce-to-bang.rs:76:37 + --> $DIR/coerce-to-bang.rs:74:37 | LL | let x: (usize, !, usize) = (22, 44, return); | ^^ expected !, found integer diff --git a/src/test/ui/consts/validate_never_arrays.rs b/src/test/ui/consts/validate_never_arrays.rs index 9610b7b22f161..1270dc4ee30e6 100644 --- a/src/test/ui/consts/validate_never_arrays.rs +++ b/src/test/ui/consts/validate_never_arrays.rs @@ -1,4 +1,4 @@ -#![feature(const_raw_ptr_deref, never_type)] +#![feature(const_raw_ptr_deref)] const FOO: &[!; 1] = unsafe { &*(1_usize as *const [!; 1]) }; //~ ERROR undefined behavior diff --git a/src/test/ui/empty/empty-never-array.rs b/src/test/ui/empty/empty-never-array.rs index f0ecea42f39c8..38702f8d28f90 100644 --- a/src/test/ui/empty/empty-never-array.rs +++ b/src/test/ui/empty/empty-never-array.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - enum Helper { T(T, [!; 0]), #[allow(dead_code)] diff --git a/src/test/ui/empty/empty-never-array.stderr b/src/test/ui/empty/empty-never-array.stderr index d865b59f0b945..defcd256f7d98 100644 --- a/src/test/ui/empty/empty-never-array.stderr +++ b/src/test/ui/empty/empty-never-array.stderr @@ -1,5 +1,5 @@ error[E0005]: refutable pattern in local binding: `T(_, _)` not covered - --> $DIR/empty-never-array.rs:10:9 + --> $DIR/empty-never-array.rs:8:9 | LL | / enum Helper { LL | | T(T, [!; 0]), @@ -20,7 +20,7 @@ LL | if let Helper::U(u) = Helper::T(t, []) { /* */ } | error[E0381]: use of possibly-uninitialized variable: `u` - --> $DIR/empty-never-array.rs:12:5 + --> $DIR/empty-never-array.rs:10:5 | LL | u | ^ use of possibly-uninitialized `u` diff --git a/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.rs b/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.rs index f0cc9ea70550e..c27089d2a0590 100644 --- a/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.rs +++ b/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - fn foo() -> Result { Ok(123) } diff --git a/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr b/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr index 08c36cece4cf9..e599a9ee150f4 100644 --- a/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr +++ b/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr @@ -1,5 +1,5 @@ error[E0005]: refutable pattern in local binding: `Err(_)` not covered - --> $DIR/feature-gate-exhaustive-patterns.rs:8:9 + --> $DIR/feature-gate-exhaustive-patterns.rs:6:9 | LL | let Ok(_x) = foo(); | ^^^^^^ pattern `Err(_)` not covered diff --git a/src/test/ui/feature-gates/feature-gate-never_type.rs b/src/test/ui/feature-gates/feature-gate-never_type.rs deleted file mode 100644 index be8c27dbb1b02..0000000000000 --- a/src/test/ui/feature-gates/feature-gate-never_type.rs +++ /dev/null @@ -1,17 +0,0 @@ -// Test that ! errors when used in illegal positions with feature(never_type) disabled - -trait Foo { - type Wub; -} - -type Ma = (u32, !, i32); //~ ERROR type is experimental -type Meeshka = Vec; //~ ERROR type is experimental -type Mow = &'static fn(!) -> !; //~ ERROR type is experimental -type Skwoz = &'static mut !; //~ ERROR type is experimental - -impl Foo for Meeshka { - type Wub = !; //~ ERROR type is experimental -} - -fn main() { -} diff --git a/src/test/ui/feature-gates/feature-gate-never_type.stderr b/src/test/ui/feature-gates/feature-gate-never_type.stderr deleted file mode 100644 index d86ab99b82bd5..0000000000000 --- a/src/test/ui/feature-gates/feature-gate-never_type.stderr +++ /dev/null @@ -1,48 +0,0 @@ -error[E0658]: The `!` type is experimental - --> $DIR/feature-gate-never_type.rs:7:17 - | -LL | type Ma = (u32, !, i32); - | ^ - | - = note: for more information, see https://github.com/rust-lang/rust/issues/35121 - = help: add `#![feature(never_type)]` to the crate attributes to enable - -error[E0658]: The `!` type is experimental - --> $DIR/feature-gate-never_type.rs:8:20 - | -LL | type Meeshka = Vec; - | ^ - | - = note: for more information, see https://github.com/rust-lang/rust/issues/35121 - = help: add `#![feature(never_type)]` to the crate attributes to enable - -error[E0658]: The `!` type is experimental - --> $DIR/feature-gate-never_type.rs:9:24 - | -LL | type Mow = &'static fn(!) -> !; - | ^ - | - = note: for more information, see https://github.com/rust-lang/rust/issues/35121 - = help: add `#![feature(never_type)]` to the crate attributes to enable - -error[E0658]: The `!` type is experimental - --> $DIR/feature-gate-never_type.rs:10:27 - | -LL | type Skwoz = &'static mut !; - | ^ - | - = note: for more information, see https://github.com/rust-lang/rust/issues/35121 - = help: add `#![feature(never_type)]` to the crate attributes to enable - -error[E0658]: The `!` type is experimental - --> $DIR/feature-gate-never_type.rs:13:16 - | -LL | type Wub = !; - | ^ - | - = note: for more information, see https://github.com/rust-lang/rust/issues/35121 - = help: add `#![feature(never_type)]` to the crate attributes to enable - -error: aborting due to 5 previous errors - -For more information about this error, try `rustc --explain E0658`. diff --git a/src/test/ui/for-loop-while/loop-break-value.rs b/src/test/ui/for-loop-while/loop-break-value.rs index d7209fc4de867..29848bb0cedaa 100644 --- a/src/test/ui/for-loop-while/loop-break-value.rs +++ b/src/test/ui/for-loop-while/loop-break-value.rs @@ -1,7 +1,6 @@ // run-pass #![allow(unreachable_code)] -#![feature(never_type)] #[allow(unused)] fn never_returns() { diff --git a/src/test/ui/lint/must_use-unit.rs b/src/test/ui/lint/must_use-unit.rs index 4dd4798abb7ce..8f59bab26d3ef 100644 --- a/src/test/ui/lint/must_use-unit.rs +++ b/src/test/ui/lint/must_use-unit.rs @@ -1,4 +1,3 @@ -#![feature(never_type)] #![deny(unused_must_use)] #[must_use] diff --git a/src/test/ui/lint/must_use-unit.stderr b/src/test/ui/lint/must_use-unit.stderr index 0a9939b2015b7..a6d0259a081af 100644 --- a/src/test/ui/lint/must_use-unit.stderr +++ b/src/test/ui/lint/must_use-unit.stderr @@ -1,17 +1,17 @@ error: unused return value of `foo` that must be used - --> $DIR/must_use-unit.rs:13:5 + --> $DIR/must_use-unit.rs:12:5 | LL | foo(); | ^^^^^^ | note: lint level defined here - --> $DIR/must_use-unit.rs:2:9 + --> $DIR/must_use-unit.rs:1:9 | LL | #![deny(unused_must_use)] | ^^^^^^^^^^^^^^^ error: unused return value of `bar` that must be used - --> $DIR/must_use-unit.rs:15:5 + --> $DIR/must_use-unit.rs:14:5 | LL | bar(); | ^^^^^^ diff --git a/src/test/ui/lint/uninitialized-zeroed.rs b/src/test/ui/lint/uninitialized-zeroed.rs index 473be434a7524..ed2369fd650b0 100644 --- a/src/test/ui/lint/uninitialized-zeroed.rs +++ b/src/test/ui/lint/uninitialized-zeroed.rs @@ -2,7 +2,7 @@ // This test checks that calling `mem::{uninitialized,zeroed}` with certain types results // in a lint. -#![feature(never_type, rustc_attrs)] +#![feature(rustc_attrs)] #![allow(deprecated)] #![deny(invalid_value)] diff --git a/src/test/ui/loops/loop-break-value.rs b/src/test/ui/loops/loop-break-value.rs index 7c2f63ec51a79..8d88aefdb5185 100644 --- a/src/test/ui/loops/loop-break-value.rs +++ b/src/test/ui/loops/loop-break-value.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - fn main() { let val: ! = loop { break break; }; //~^ ERROR mismatched types diff --git a/src/test/ui/loops/loop-break-value.stderr b/src/test/ui/loops/loop-break-value.stderr index b2e3ebc53ad8e..8c4bcd3a9b73c 100644 --- a/src/test/ui/loops/loop-break-value.stderr +++ b/src/test/ui/loops/loop-break-value.stderr @@ -1,5 +1,5 @@ warning: denote infinite loops with `loop { ... }` - --> $DIR/loop-break-value.rs:26:5 + --> $DIR/loop-break-value.rs:24:5 | LL | 'while_loop: while true { | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `loop` @@ -7,7 +7,7 @@ LL | 'while_loop: while true { = note: `#[warn(while_true)]` on by default error[E0571]: `break` with value from a `while` loop - --> $DIR/loop-break-value.rs:28:9 + --> $DIR/loop-break-value.rs:26:9 | LL | break (); | ^^^^^^^^ can only break with a value inside `loop` or breakable block @@ -18,7 +18,7 @@ LL | break; | ^^^^^ error[E0571]: `break` with value from a `while` loop - --> $DIR/loop-break-value.rs:30:13 + --> $DIR/loop-break-value.rs:28:13 | LL | break 'while_loop 123; | ^^^^^^^^^^^^^^^^^^^^^ can only break with a value inside `loop` or breakable block @@ -29,7 +29,7 @@ LL | break; | ^^^^^ error[E0571]: `break` with value from a `while let` loop - --> $DIR/loop-break-value.rs:38:12 + --> $DIR/loop-break-value.rs:36:12 | LL | if break () { | ^^^^^^^^ can only break with a value inside `loop` or breakable block @@ -40,7 +40,7 @@ LL | if break { | ^^^^^ error[E0571]: `break` with value from a `while let` loop - --> $DIR/loop-break-value.rs:43:9 + --> $DIR/loop-break-value.rs:41:9 | LL | break None; | ^^^^^^^^^^ can only break with a value inside `loop` or breakable block @@ -51,7 +51,7 @@ LL | break; | ^^^^^ error[E0571]: `break` with value from a `while let` loop - --> $DIR/loop-break-value.rs:49:13 + --> $DIR/loop-break-value.rs:47:13 | LL | break 'while_let_loop "nope"; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can only break with a value inside `loop` or breakable block @@ -62,7 +62,7 @@ LL | break; | ^^^^^ error[E0571]: `break` with value from a `for` loop - --> $DIR/loop-break-value.rs:56:9 + --> $DIR/loop-break-value.rs:54:9 | LL | break (); | ^^^^^^^^ can only break with a value inside `loop` or breakable block @@ -73,7 +73,7 @@ LL | break; | ^^^^^ error[E0571]: `break` with value from a `for` loop - --> $DIR/loop-break-value.rs:57:9 + --> $DIR/loop-break-value.rs:55:9 | LL | break [()]; | ^^^^^^^^^^ can only break with a value inside `loop` or breakable block @@ -84,7 +84,7 @@ LL | break; | ^^^^^ error[E0571]: `break` with value from a `for` loop - --> $DIR/loop-break-value.rs:64:13 + --> $DIR/loop-break-value.rs:62:13 | LL | break 'for_loop Some(17); | ^^^^^^^^^^^^^^^^^^^^^^^^ can only break with a value inside `loop` or breakable block @@ -95,7 +95,7 @@ LL | break; | ^^^^^ error[E0308]: mismatched types - --> $DIR/loop-break-value.rs:4:31 + --> $DIR/loop-break-value.rs:2:31 | LL | let val: ! = loop { break break; }; | ^^^^^ expected !, found () @@ -104,7 +104,7 @@ LL | let val: ! = loop { break break; }; found type `()` error[E0308]: mismatched types - --> $DIR/loop-break-value.rs:11:19 + --> $DIR/loop-break-value.rs:9:19 | LL | break 123; | ^^^ expected &str, found integer @@ -113,7 +113,7 @@ LL | break 123; found type `{integer}` error[E0308]: mismatched types - --> $DIR/loop-break-value.rs:16:15 + --> $DIR/loop-break-value.rs:14:15 | LL | break "asdf"; | ^^^^^^ expected i32, found reference @@ -122,7 +122,7 @@ LL | break "asdf"; found type `&'static str` error[E0308]: mismatched types - --> $DIR/loop-break-value.rs:21:31 + --> $DIR/loop-break-value.rs:19:31 | LL | break 'outer_loop "nope"; | ^^^^^^ expected i32, found reference @@ -131,7 +131,7 @@ LL | break 'outer_loop "nope"; found type `&'static str` error[E0308]: mismatched types - --> $DIR/loop-break-value.rs:73:26 + --> $DIR/loop-break-value.rs:71:26 | LL | break 'c 123; | ^^^ expected (), found integer @@ -140,7 +140,7 @@ LL | break 'c 123; found type `{integer}` error[E0308]: mismatched types - --> $DIR/loop-break-value.rs:80:15 + --> $DIR/loop-break-value.rs:78:15 | LL | break (break, break); | ^^^^^^^^^^^^^^ expected (), found tuple @@ -149,7 +149,7 @@ LL | break (break, break); found type `(!, !)` error[E0308]: mismatched types - --> $DIR/loop-break-value.rs:85:15 + --> $DIR/loop-break-value.rs:83:15 | LL | break 2; | ^ expected (), found integer @@ -158,7 +158,7 @@ LL | break 2; found type `{integer}` error[E0308]: mismatched types - --> $DIR/loop-break-value.rs:90:9 + --> $DIR/loop-break-value.rs:88:9 | LL | break; | ^^^^^ diff --git a/src/test/ui/mir/mir_calls_to_shims.rs b/src/test/ui/mir/mir_calls_to_shims.rs index 6f13d5612ce51..df7c45ad1d1c7 100644 --- a/src/test/ui/mir/mir_calls_to_shims.rs +++ b/src/test/ui/mir/mir_calls_to_shims.rs @@ -2,7 +2,6 @@ // ignore-wasm32-bare compiled with panic=abort by default #![feature(fn_traits)] -#![feature(never_type)] use std::panic; diff --git a/src/test/ui/never_type/adjust_never.rs b/src/test/ui/never_type/adjust_never.rs index 0d7d2c0ed3fa9..e4d15c8a17dfa 100644 --- a/src/test/ui/never_type/adjust_never.rs +++ b/src/test/ui/never_type/adjust_never.rs @@ -2,8 +2,6 @@ // check-pass -#![feature(never_type)] - fn main() { let x: ! = panic!(); let y: u32 = x; diff --git a/src/test/ui/never_type/call-fn-never-arg-wrong-type.rs b/src/test/ui/never_type/call-fn-never-arg-wrong-type.rs index d06637e74a2f2..a2b44e91f1141 100644 --- a/src/test/ui/never_type/call-fn-never-arg-wrong-type.rs +++ b/src/test/ui/never_type/call-fn-never-arg-wrong-type.rs @@ -1,7 +1,5 @@ // Test that we can't pass other types for ! -#![feature(never_type)] - fn foo(x: !) -> ! { x } diff --git a/src/test/ui/never_type/call-fn-never-arg-wrong-type.stderr b/src/test/ui/never_type/call-fn-never-arg-wrong-type.stderr index 7a50fd367d2d5..e5cbdcbe73bde 100644 --- a/src/test/ui/never_type/call-fn-never-arg-wrong-type.stderr +++ b/src/test/ui/never_type/call-fn-never-arg-wrong-type.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/call-fn-never-arg-wrong-type.rs:10:9 + --> $DIR/call-fn-never-arg-wrong-type.rs:8:9 | LL | foo("wow"); | ^^^^^ expected !, found reference diff --git a/src/test/ui/never_type/call-fn-never-arg.rs b/src/test/ui/never_type/call-fn-never-arg.rs index 9d355817ee80d..55a7b79157a82 100644 --- a/src/test/ui/never_type/call-fn-never-arg.rs +++ b/src/test/ui/never_type/call-fn-never-arg.rs @@ -2,7 +2,6 @@ // check-pass -#![feature(never_type)] #![allow(unreachable_code)] fn foo(x: !) -> ! { diff --git a/src/test/ui/never_type/cast-never.rs b/src/test/ui/never_type/cast-never.rs index 0139ebe4640be..fbba114ab3274 100644 --- a/src/test/ui/never_type/cast-never.rs +++ b/src/test/ui/never_type/cast-never.rs @@ -2,8 +2,6 @@ // check-pass -#![feature(never_type)] - fn main() { let x: ! = panic!(); let y: u32 = x as u32; diff --git a/src/test/ui/never_type/defaulted-never-note.rs b/src/test/ui/never_type/defaulted-never-note.rs index d3fb8a09414ce..714ef6adaf52b 100644 --- a/src/test/ui/never_type/defaulted-never-note.rs +++ b/src/test/ui/never_type/defaulted-never-note.rs @@ -1,7 +1,3 @@ -// We need to opt into the `!` feature in order to trigger the -// requirement that this is testing. -#![feature(never_type)] - #![allow(unused)] trait Deserialize: Sized { diff --git a/src/test/ui/never_type/defaulted-never-note.stderr b/src/test/ui/never_type/defaulted-never-note.stderr index 28c9da059edaa..eb780b6328cd3 100644 --- a/src/test/ui/never_type/defaulted-never-note.stderr +++ b/src/test/ui/never_type/defaulted-never-note.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `!: ImplementedForUnitButNotNever` is not satisfied - --> $DIR/defaulted-never-note.rs:27:5 + --> $DIR/defaulted-never-note.rs:23:5 | LL | fn foo(_t: T) {} | --- ----------------------------- required by this bound in `foo` diff --git a/src/test/ui/never_type/dispatch_from_dyn_zst.rs b/src/test/ui/never_type/dispatch_from_dyn_zst.rs index 764f58ce9e805..342d5e4791515 100644 --- a/src/test/ui/never_type/dispatch_from_dyn_zst.rs +++ b/src/test/ui/never_type/dispatch_from_dyn_zst.rs @@ -1,6 +1,6 @@ // run-pass -#![feature(unsize, dispatch_from_dyn, never_type)] +#![feature(unsize, dispatch_from_dyn)] #![allow(dead_code)] diff --git a/src/test/ui/never_type/diverging-fallback-control-flow.rs b/src/test/ui/never_type/diverging-fallback-control-flow.rs index c68e6364ed406..2ea9c18ee9005 100644 --- a/src/test/ui/never_type/diverging-fallback-control-flow.rs +++ b/src/test/ui/never_type/diverging-fallback-control-flow.rs @@ -11,8 +11,6 @@ // These represent current behavior, but are pretty dubious. I would // like to revisit these and potentially change them. --nmatsakis -#![feature(never_type)] - trait BadDefault { fn default() -> Self; } diff --git a/src/test/ui/never_type/impl-for-never.rs b/src/test/ui/never_type/impl-for-never.rs index 9423f08858b9b..cbfda9a2cc00a 100644 --- a/src/test/ui/never_type/impl-for-never.rs +++ b/src/test/ui/never_type/impl-for-never.rs @@ -1,7 +1,5 @@ // run-pass -#![feature(never_type)] - // Test that we can call static methods on ! both directly and when it appears in a generic trait StringifyType { diff --git a/src/test/ui/never_type/issue-13352.stderr b/src/test/ui/never_type/issue-13352.stderr index 58ac74be3e3b7..da914a2b49ce7 100644 --- a/src/test/ui/never_type/issue-13352.stderr +++ b/src/test/ui/never_type/issue-13352.stderr @@ -1,10 +1,10 @@ -error[E0277]: cannot add `()` to `usize` +error[E0277]: cannot add `!` to `usize` --> $DIR/issue-13352.rs:9:13 | LL | 2_usize + (loop {}); - | ^ no implementation for `usize + ()` + | ^ no implementation for `usize + !` | - = help: the trait `std::ops::Add<()>` is not implemented for `usize` + = help: the trait `std::ops::Add` is not implemented for `usize` error: aborting due to previous error diff --git a/src/test/ui/never_type/issue-2149.stderr b/src/test/ui/never_type/issue-2149.stderr index 8ce2ba033321e..67fe3966d6242 100644 --- a/src/test/ui/never_type/issue-2149.stderr +++ b/src/test/ui/never_type/issue-2149.stderr @@ -1,10 +1,10 @@ -error[E0277]: cannot add `std::vec::Vec` to `()` +error[E0277]: cannot add `std::vec::Vec` to `!` --> $DIR/issue-2149.rs:8:33 | LL | for elt in self { r = r + f(*elt); } - | ^ no implementation for `() + std::vec::Vec` + | ^ no implementation for `! + std::vec::Vec` | - = help: the trait `std::ops::Add>` is not implemented for `()` + = help: the trait `std::ops::Add>` is not implemented for `!` error[E0599]: no method named `bind` found for type `[&str; 1]` in the current scope --> $DIR/issue-2149.rs:13:12 diff --git a/src/test/ui/never_type/issue-44402.rs b/src/test/ui/never_type/issue-44402.rs index 699e480dfe7e5..0e6588bbe78ea 100644 --- a/src/test/ui/never_type/issue-44402.rs +++ b/src/test/ui/never_type/issue-44402.rs @@ -1,7 +1,6 @@ // check-pass #![allow(dead_code)] -#![feature(never_type)] #![feature(exhaustive_patterns)] // Regression test for inhabitedness check. The old diff --git a/src/test/ui/never_type/never-assign-dead-code.rs b/src/test/ui/never_type/never-assign-dead-code.rs index 7bb7c87097c50..5c1300c715128 100644 --- a/src/test/ui/never_type/never-assign-dead-code.rs +++ b/src/test/ui/never_type/never-assign-dead-code.rs @@ -2,7 +2,6 @@ // check-pass -#![feature(never_type)] #![warn(unused)] fn main() { diff --git a/src/test/ui/never_type/never-assign-dead-code.stderr b/src/test/ui/never_type/never-assign-dead-code.stderr index 1860150fa8bc6..1dc15251d1aa1 100644 --- a/src/test/ui/never_type/never-assign-dead-code.stderr +++ b/src/test/ui/never_type/never-assign-dead-code.stderr @@ -1,5 +1,5 @@ warning: unreachable statement - --> $DIR/never-assign-dead-code.rs:10:5 + --> $DIR/never-assign-dead-code.rs:9:5 | LL | let x: ! = panic!("aah"); | ------------- any code following this expression is unreachable @@ -7,7 +7,7 @@ LL | drop(x); | ^^^^^^^^ unreachable statement | note: lint level defined here - --> $DIR/never-assign-dead-code.rs:6:9 + --> $DIR/never-assign-dead-code.rs:5:9 | LL | #![warn(unused)] | ^^^^^^ @@ -15,7 +15,7 @@ LL | #![warn(unused)] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) warning: unreachable call - --> $DIR/never-assign-dead-code.rs:10:5 + --> $DIR/never-assign-dead-code.rs:9:5 | LL | drop(x); | ^^^^ - any code following this expression is unreachable @@ -23,13 +23,13 @@ LL | drop(x); | unreachable call warning: unused variable: `x` - --> $DIR/never-assign-dead-code.rs:9:9 + --> $DIR/never-assign-dead-code.rs:8:9 | LL | let x: ! = panic!("aah"); | ^ help: consider prefixing with an underscore: `_x` | note: lint level defined here - --> $DIR/never-assign-dead-code.rs:6:9 + --> $DIR/never-assign-dead-code.rs:5:9 | LL | #![warn(unused)] | ^^^^^^ diff --git a/src/test/ui/never_type/never-assign-wrong-type.rs b/src/test/ui/never_type/never-assign-wrong-type.rs index 67e26f5663f41..9ca1ac7462d4d 100644 --- a/src/test/ui/never_type/never-assign-wrong-type.rs +++ b/src/test/ui/never_type/never-assign-wrong-type.rs @@ -1,6 +1,5 @@ // Test that we can't use another type in place of ! -#![feature(never_type)] #![deny(warnings)] fn main() { diff --git a/src/test/ui/never_type/never-assign-wrong-type.stderr b/src/test/ui/never_type/never-assign-wrong-type.stderr index da2e77d023d19..32c9fab6590df 100644 --- a/src/test/ui/never_type/never-assign-wrong-type.stderr +++ b/src/test/ui/never_type/never-assign-wrong-type.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/never-assign-wrong-type.rs:7:16 + --> $DIR/never-assign-wrong-type.rs:6:16 | LL | let x: ! = "hello"; | ^^^^^^^ expected !, found reference diff --git a/src/test/ui/never_type/never-associated-type.rs b/src/test/ui/never_type/never-associated-type.rs index 3bb917c931635..45e54b9bf7c18 100644 --- a/src/test/ui/never_type/never-associated-type.rs +++ b/src/test/ui/never_type/never-associated-type.rs @@ -2,8 +2,6 @@ // check-pass -#![feature(never_type)] - trait Foo { type Wow; diff --git a/src/test/ui/never_type/never-from-impl-is-reserved.rs b/src/test/ui/never_type/never-from-impl-is-reserved.rs index 9d16015bdc129..df74b6a53f888 100644 --- a/src/test/ui/never_type/never-from-impl-is-reserved.rs +++ b/src/test/ui/never_type/never-from-impl-is-reserved.rs @@ -1,7 +1,5 @@ // check that the `for T: From` impl is reserved -#![feature(never_type)] - pub struct MyFoo; pub trait MyTrait {} diff --git a/src/test/ui/never_type/never-from-impl-is-reserved.stderr b/src/test/ui/never_type/never-from-impl-is-reserved.stderr index 8b8d0f4ea73be..8b3155988ea95 100644 --- a/src/test/ui/never_type/never-from-impl-is-reserved.stderr +++ b/src/test/ui/never_type/never-from-impl-is-reserved.stderr @@ -1,5 +1,5 @@ error[E0119]: conflicting implementations of trait `MyTrait` for type `MyFoo`: - --> $DIR/never-from-impl-is-reserved.rs:10:1 + --> $DIR/never-from-impl-is-reserved.rs:8:1 | LL | impl MyTrait for MyFoo {} | ---------------------- first implementation here diff --git a/src/test/ui/never_type/never-result.rs b/src/test/ui/never_type/never-result.rs index 35af37910ef3e..800553fce874d 100644 --- a/src/test/ui/never_type/never-result.rs +++ b/src/test/ui/never_type/never-result.rs @@ -5,8 +5,6 @@ // Test that we can extract a ! through pattern matching then use it as several different types. -#![feature(never_type)] - fn main() { let x: Result = Ok(123); match x { diff --git a/src/test/ui/never_type/never-type-arg.rs b/src/test/ui/never_type/never-type-arg.rs index 13cd59e6aa9f1..3cbb114f43b94 100644 --- a/src/test/ui/never_type/never-type-arg.rs +++ b/src/test/ui/never_type/never-type-arg.rs @@ -2,8 +2,6 @@ // check-pass -#![feature(never_type)] - struct Wub; impl PartialEq for Wub { diff --git a/src/test/ui/never_type/never-type-rvalues.rs b/src/test/ui/never_type/never-type-rvalues.rs index 9ccc73dbf92d4..9bfc5572b9ee6 100644 --- a/src/test/ui/never_type/never-type-rvalues.rs +++ b/src/test/ui/never_type/never-type-rvalues.rs @@ -1,6 +1,5 @@ // run-pass -#![feature(never_type)] #![allow(dead_code)] #![allow(path_statements)] #![allow(unreachable_patterns)] diff --git a/src/test/ui/never_type/never_transmute_never.rs b/src/test/ui/never_type/never_transmute_never.rs index fce3ced9aac7f..cdf04de19e523 100644 --- a/src/test/ui/never_type/never_transmute_never.rs +++ b/src/test/ui/never_type/never_transmute_never.rs @@ -2,7 +2,6 @@ #![crate_type="lib"] -#![feature(never_type)] #![allow(dead_code)] #![allow(unreachable_code)] #![allow(unused_variables)] diff --git a/src/test/ui/never_type/panic-uninitialized-zeroed.rs b/src/test/ui/never_type/panic-uninitialized-zeroed.rs index e0c30160b9e94..e5e0e188de63c 100644 --- a/src/test/ui/never_type/panic-uninitialized-zeroed.rs +++ b/src/test/ui/never_type/panic-uninitialized-zeroed.rs @@ -3,7 +3,6 @@ // This test checks that instantiating an uninhabited type via `mem::{uninitialized,zeroed}` results // in a runtime panic. -#![feature(never_type)] #![allow(deprecated, invalid_value)] use std::{mem, panic}; diff --git a/src/test/ui/never_type/try_from.rs b/src/test/ui/never_type/try_from.rs index 50451576f9c97..977ea3656b3dd 100644 --- a/src/test/ui/never_type/try_from.rs +++ b/src/test/ui/never_type/try_from.rs @@ -5,8 +5,6 @@ // This test was added to show the motivation for doing this // over `TryFrom` being blanket impl for all `T: From` -#![feature(never_type)] - use std::convert::{TryInto, Infallible}; struct Foo { diff --git a/src/test/ui/pattern/usefulness/match-privately-empty.rs b/src/test/ui/pattern/usefulness/match-privately-empty.rs index 315eb03d16564..ea608651387b7 100644 --- a/src/test/ui/pattern/usefulness/match-privately-empty.rs +++ b/src/test/ui/pattern/usefulness/match-privately-empty.rs @@ -1,4 +1,3 @@ -#![feature(never_type)] #![feature(exhaustive_patterns)] mod private { diff --git a/src/test/ui/pattern/usefulness/match-privately-empty.stderr b/src/test/ui/pattern/usefulness/match-privately-empty.stderr index f79d180a1b8b5..66d0d9587741b 100644 --- a/src/test/ui/pattern/usefulness/match-privately-empty.stderr +++ b/src/test/ui/pattern/usefulness/match-privately-empty.stderr @@ -1,5 +1,5 @@ error[E0004]: non-exhaustive patterns: `Some(Private { misc: true, .. })` not covered - --> $DIR/match-privately-empty.rs:13:11 + --> $DIR/match-privately-empty.rs:12:11 | LL | match private::DATA { | ^^^^^^^^^^^^^ pattern `Some(Private { misc: true, .. })` not covered diff --git a/src/test/ui/print_type_sizes/uninhabited.rs b/src/test/ui/print_type_sizes/uninhabited.rs index ae4e492456af9..3a2ca19d8e0c3 100644 --- a/src/test/ui/print_type_sizes/uninhabited.rs +++ b/src/test/ui/print_type_sizes/uninhabited.rs @@ -4,7 +4,6 @@ // ^-- needed because `--pass check` does not emit the output needed. // FIXME: consider using an attribute instead of side-effects. -#![feature(never_type)] #![feature(start)] #[start] diff --git a/src/test/ui/reachable/expr_add.rs b/src/test/ui/reachable/expr_add.rs index b45e5daf42c8d..640c2a2cf8fcc 100644 --- a/src/test/ui/reachable/expr_add.rs +++ b/src/test/ui/reachable/expr_add.rs @@ -1,4 +1,3 @@ -#![feature(never_type)] #![allow(unused_variables)] #![deny(unreachable_code)] diff --git a/src/test/ui/reachable/expr_add.stderr b/src/test/ui/reachable/expr_add.stderr index 880dea1cc3516..11c41fdc3946b 100644 --- a/src/test/ui/reachable/expr_add.stderr +++ b/src/test/ui/reachable/expr_add.stderr @@ -1,5 +1,5 @@ error: unreachable expression - --> $DIR/expr_add.rs:17:13 + --> $DIR/expr_add.rs:16:13 | LL | let x = Foo + return; | ^^^^^^------ @@ -8,7 +8,7 @@ LL | let x = Foo + return; | unreachable expression | note: lint level defined here - --> $DIR/expr_add.rs:3:9 + --> $DIR/expr_add.rs:2:9 | LL | #![deny(unreachable_code)] | ^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/reachable/expr_assign.rs b/src/test/ui/reachable/expr_assign.rs index e547f75e2697b..3914fb32432ef 100644 --- a/src/test/ui/reachable/expr_assign.rs +++ b/src/test/ui/reachable/expr_assign.rs @@ -1,4 +1,3 @@ -#![feature(never_type)] #![allow(unused_variables)] #![allow(unused_assignments)] #![allow(dead_code)] diff --git a/src/test/ui/reachable/expr_assign.stderr b/src/test/ui/reachable/expr_assign.stderr index 3004da0406328..90aec15e3be1e 100644 --- a/src/test/ui/reachable/expr_assign.stderr +++ b/src/test/ui/reachable/expr_assign.stderr @@ -1,5 +1,5 @@ error: unreachable expression - --> $DIR/expr_assign.rs:10:5 + --> $DIR/expr_assign.rs:9:5 | LL | x = return; | ^^^^------ @@ -8,13 +8,13 @@ LL | x = return; | unreachable expression | note: lint level defined here - --> $DIR/expr_assign.rs:5:9 + --> $DIR/expr_assign.rs:4:9 | LL | #![deny(unreachable_code)] | ^^^^^^^^^^^^^^^^ error: unreachable expression - --> $DIR/expr_assign.rs:20:14 + --> $DIR/expr_assign.rs:19:14 | LL | *p = return; | -- ^^^^^^ unreachable expression @@ -22,7 +22,7 @@ LL | *p = return; | any code following this expression is unreachable error: unreachable expression - --> $DIR/expr_assign.rs:26:15 + --> $DIR/expr_assign.rs:25:15 | LL | *{return; &mut i} = 22; | ------ ^^^^^^ unreachable expression diff --git a/src/test/ui/reachable/expr_call.rs b/src/test/ui/reachable/expr_call.rs index 1eaa96c3ce773..ce1a94e3c4a25 100644 --- a/src/test/ui/reachable/expr_call.rs +++ b/src/test/ui/reachable/expr_call.rs @@ -1,4 +1,3 @@ -#![feature(never_type)] #![allow(unused_variables)] #![allow(unused_assignments)] #![allow(dead_code)] diff --git a/src/test/ui/reachable/expr_call.stderr b/src/test/ui/reachable/expr_call.stderr index ae8b4dd87b5b9..613fc31b8613e 100644 --- a/src/test/ui/reachable/expr_call.stderr +++ b/src/test/ui/reachable/expr_call.stderr @@ -1,5 +1,5 @@ error: unreachable expression - --> $DIR/expr_call.rs:13:17 + --> $DIR/expr_call.rs:12:17 | LL | foo(return, 22); | ------ ^^ unreachable expression @@ -7,13 +7,13 @@ LL | foo(return, 22); | any code following this expression is unreachable | note: lint level defined here - --> $DIR/expr_call.rs:5:9 + --> $DIR/expr_call.rs:4:9 | LL | #![deny(unreachable_code)] | ^^^^^^^^^^^^^^^^ error: unreachable call - --> $DIR/expr_call.rs:18:5 + --> $DIR/expr_call.rs:17:5 | LL | bar(return); | ^^^ ------ any code following this expression is unreachable diff --git a/src/test/ui/reachable/expr_cast.rs b/src/test/ui/reachable/expr_cast.rs index f53bcb97e6972..76a7306b9d9e0 100644 --- a/src/test/ui/reachable/expr_cast.rs +++ b/src/test/ui/reachable/expr_cast.rs @@ -2,7 +2,7 @@ #![allow(unused_assignments)] #![allow(dead_code)] #![deny(unreachable_code)] -#![feature(never_type, type_ascription)] +#![feature(type_ascription)] fn a() { // the cast is unreachable: diff --git a/src/test/ui/reachable/expr_method.rs b/src/test/ui/reachable/expr_method.rs index d917df05b3c3d..e74a7daec8828 100644 --- a/src/test/ui/reachable/expr_method.rs +++ b/src/test/ui/reachable/expr_method.rs @@ -1,4 +1,3 @@ -#![feature(never_type)] #![allow(unused_variables)] #![allow(unused_assignments)] #![allow(dead_code)] diff --git a/src/test/ui/reachable/expr_method.stderr b/src/test/ui/reachable/expr_method.stderr index 82a0745f0629f..7475cf7a365b5 100644 --- a/src/test/ui/reachable/expr_method.stderr +++ b/src/test/ui/reachable/expr_method.stderr @@ -1,5 +1,5 @@ error: unreachable expression - --> $DIR/expr_method.rs:16:21 + --> $DIR/expr_method.rs:15:21 | LL | Foo.foo(return, 22); | ------ ^^ unreachable expression @@ -7,13 +7,13 @@ LL | Foo.foo(return, 22); | any code following this expression is unreachable | note: lint level defined here - --> $DIR/expr_method.rs:5:9 + --> $DIR/expr_method.rs:4:9 | LL | #![deny(unreachable_code)] | ^^^^^^^^^^^^^^^^ error: unreachable call - --> $DIR/expr_method.rs:21:9 + --> $DIR/expr_method.rs:20:9 | LL | Foo.bar(return); | ^^^ ------ any code following this expression is unreachable diff --git a/src/test/ui/reachable/expr_type.rs b/src/test/ui/reachable/expr_type.rs index 8d32397b54248..ff647bda0e87e 100644 --- a/src/test/ui/reachable/expr_type.rs +++ b/src/test/ui/reachable/expr_type.rs @@ -2,7 +2,7 @@ #![allow(unused_assignments)] #![allow(dead_code)] #![deny(unreachable_code)] -#![feature(never_type, type_ascription)] +#![feature(type_ascription)] fn a() { // the cast is unreachable: diff --git a/src/test/ui/reachable/expr_unary.rs b/src/test/ui/reachable/expr_unary.rs index e229d22ebc798..6f221c360cb17 100644 --- a/src/test/ui/reachable/expr_unary.rs +++ b/src/test/ui/reachable/expr_unary.rs @@ -1,4 +1,3 @@ -#![feature(never_type)] #![allow(unused_variables)] #![allow(unused_assignments)] #![allow(dead_code)] diff --git a/src/test/ui/reachable/expr_unary.stderr b/src/test/ui/reachable/expr_unary.stderr index f5c3564217bba..a576f92092335 100644 --- a/src/test/ui/reachable/expr_unary.stderr +++ b/src/test/ui/reachable/expr_unary.stderr @@ -1,11 +1,11 @@ error[E0600]: cannot apply unary operator `!` to type `!` - --> $DIR/expr_unary.rs:8:16 + --> $DIR/expr_unary.rs:7:16 | LL | let x: ! = ! { return; }; | ^^^^^^^^^^^^^ cannot apply unary operator `!` error: unreachable expression - --> $DIR/expr_unary.rs:8:16 + --> $DIR/expr_unary.rs:7:16 | LL | let x: ! = ! { return; }; | ^^^^------^^^ @@ -14,7 +14,7 @@ LL | let x: ! = ! { return; }; | unreachable expression | note: lint level defined here - --> $DIR/expr_unary.rs:5:9 + --> $DIR/expr_unary.rs:4:9 | LL | #![deny(unreachable_code)] | ^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/reachable/unreachable-loop-patterns.rs b/src/test/ui/reachable/unreachable-loop-patterns.rs index 6f1d2efa1b200..6d88273700375 100644 --- a/src/test/ui/reachable/unreachable-loop-patterns.rs +++ b/src/test/ui/reachable/unreachable-loop-patterns.rs @@ -1,4 +1,3 @@ -#![feature(never_type)] #![feature(exhaustive_patterns)] #![allow(unreachable_code)] diff --git a/src/test/ui/reachable/unreachable-loop-patterns.stderr b/src/test/ui/reachable/unreachable-loop-patterns.stderr index bb5103320d2cf..6ade480125ba5 100644 --- a/src/test/ui/reachable/unreachable-loop-patterns.stderr +++ b/src/test/ui/reachable/unreachable-loop-patterns.stderr @@ -1,17 +1,17 @@ error: unreachable pattern - --> $DIR/unreachable-loop-patterns.rs:18:9 + --> $DIR/unreachable-loop-patterns.rs:17:9 | LL | for _ in unimplemented!() as Void {} | ^ | note: lint level defined here - --> $DIR/unreachable-loop-patterns.rs:5:9 + --> $DIR/unreachable-loop-patterns.rs:4:9 | LL | #![deny(unreachable_patterns)] | ^^^^^^^^^^^^^^^^^^^^ error: unreachable pattern - --> $DIR/unreachable-loop-patterns.rs:18:14 + --> $DIR/unreachable-loop-patterns.rs:17:14 | LL | for _ in unimplemented!() as Void {} | ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/reachable/unreachable-try-pattern.rs b/src/test/ui/reachable/unreachable-try-pattern.rs index 23360e73f4a3a..e2d89e93a2aa0 100644 --- a/src/test/ui/reachable/unreachable-try-pattern.rs +++ b/src/test/ui/reachable/unreachable-try-pattern.rs @@ -1,5 +1,5 @@ // check-pass -#![feature(never_type, exhaustive_patterns)] +#![feature(exhaustive_patterns)] #![warn(unreachable_code)] #![warn(unreachable_patterns)] diff --git a/src/test/ui/reachable/unwarned-match-on-never.rs b/src/test/ui/reachable/unwarned-match-on-never.rs index 71f8fe3a783e2..c38ea6ab9ad01 100644 --- a/src/test/ui/reachable/unwarned-match-on-never.rs +++ b/src/test/ui/reachable/unwarned-match-on-never.rs @@ -1,8 +1,6 @@ #![deny(unreachable_code)] #![allow(dead_code)] -#![feature(never_type)] - fn foo(x: !) -> bool { // Explicit matches on the never type are unwarned. match x {} diff --git a/src/test/ui/reachable/unwarned-match-on-never.stderr b/src/test/ui/reachable/unwarned-match-on-never.stderr index 6b2fb4a33c1e8..6710fcb777f7a 100644 --- a/src/test/ui/reachable/unwarned-match-on-never.stderr +++ b/src/test/ui/reachable/unwarned-match-on-never.stderr @@ -1,5 +1,5 @@ error: unreachable expression - --> $DIR/unwarned-match-on-never.rs:10:5 + --> $DIR/unwarned-match-on-never.rs:8:5 | LL | match x {} | - any code following this expression is unreachable @@ -14,7 +14,7 @@ LL | #![deny(unreachable_code)] | ^^^^^^^^^^^^^^^^ error: unreachable arm - --> $DIR/unwarned-match-on-never.rs:15:15 + --> $DIR/unwarned-match-on-never.rs:13:15 | LL | match (return) { | -------- any code following this expression is unreachable @@ -22,7 +22,7 @@ LL | () => () | ^^ unreachable arm error: unreachable expression - --> $DIR/unwarned-match-on-never.rs:21:5 + --> $DIR/unwarned-match-on-never.rs:19:5 | LL | return; | ------ any code following this expression is unreachable diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/auxiliary/uninhabited.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/auxiliary/uninhabited.rs index a2735d4cbfb29..e074183a0490c 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/auxiliary/uninhabited.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/auxiliary/uninhabited.rs @@ -1,5 +1,4 @@ #![crate_type = "rlib"] -#![feature(never_type)] #[non_exhaustive] pub enum UninhabitedEnum { diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions.rs index 80b9dc4c1c338..5684ee6b7bf86 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions.rs @@ -1,5 +1,4 @@ // aux-build:uninhabited.rs -#![feature(never_type)] extern crate uninhabited; diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions.stderr b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions.stderr index d05ee1d39ec35..dd4b0cd1e87e2 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions.stderr +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/coercions.rs:23:5 + --> $DIR/coercions.rs:22:5 | LL | fn cannot_coerce_empty_enum_to_anything(x: UninhabitedEnum) -> A { | - expected `A` because of return type @@ -10,7 +10,7 @@ LL | x found type `uninhabited::UninhabitedEnum` error[E0308]: mismatched types - --> $DIR/coercions.rs:27:5 + --> $DIR/coercions.rs:26:5 | LL | fn cannot_coerce_empty_tuple_struct_to_anything(x: UninhabitedTupleStruct) -> A { | - expected `A` because of return type @@ -21,7 +21,7 @@ LL | x found type `uninhabited::UninhabitedTupleStruct` error[E0308]: mismatched types - --> $DIR/coercions.rs:31:5 + --> $DIR/coercions.rs:30:5 | LL | fn cannot_coerce_empty_struct_to_anything(x: UninhabitedStruct) -> A { | - expected `A` because of return type @@ -32,7 +32,7 @@ LL | x found type `uninhabited::UninhabitedStruct` error[E0308]: mismatched types - --> $DIR/coercions.rs:35:5 + --> $DIR/coercions.rs:34:5 | LL | fn cannot_coerce_enum_with_empty_variants_to_anything(x: UninhabitedVariants) -> A { | - expected `A` because of return type diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions_same_crate.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions_same_crate.rs index 6b911dd989cc5..c3c0ce650d73e 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions_same_crate.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions_same_crate.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - #[non_exhaustive] pub enum UninhabitedEnum { } diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions_same_crate.stderr b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions_same_crate.stderr index a07473dade22c..fd49c6823988a 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions_same_crate.stderr +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/coercions_same_crate.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/coercions_same_crate.rs:30:5 + --> $DIR/coercions_same_crate.rs:28:5 | LL | fn cannot_coerce_empty_enum_to_anything(x: UninhabitedEnum) -> A { | - expected `A` because of return type @@ -10,7 +10,7 @@ LL | x found type `UninhabitedEnum` error[E0308]: mismatched types - --> $DIR/coercions_same_crate.rs:34:5 + --> $DIR/coercions_same_crate.rs:32:5 | LL | fn cannot_coerce_empty_tuple_struct_to_anything(x: UninhabitedTupleStruct) -> A { | - expected `A` because of return type @@ -21,7 +21,7 @@ LL | x found type `UninhabitedTupleStruct` error[E0308]: mismatched types - --> $DIR/coercions_same_crate.rs:38:5 + --> $DIR/coercions_same_crate.rs:36:5 | LL | fn cannot_coerce_empty_struct_to_anything(x: UninhabitedStruct) -> A { | - expected `A` because of return type @@ -32,7 +32,7 @@ LL | x found type `UninhabitedStruct` error[E0308]: mismatched types - --> $DIR/coercions_same_crate.rs:42:5 + --> $DIR/coercions_same_crate.rs:40:5 | LL | fn cannot_coerce_enum_with_empty_variants_to_anything(x: UninhabitedVariants) -> A { | - expected `A` because of return type diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match.rs index 98a7fdbc5049a..511b6b1bf8f6c 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match.rs @@ -1,5 +1,4 @@ // aux-build:uninhabited.rs -#![feature(never_type)] extern crate uninhabited; diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match.stderr b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match.stderr index af82022e1da99..b903e9b288ef7 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match.stderr +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match.stderr @@ -1,5 +1,5 @@ error[E0004]: non-exhaustive patterns: pattern `IndirectUninhabitedEnum` of type `uninhabited::IndirectUninhabitedEnum` is not handled - --> $DIR/indirect_match.rs:19:11 + --> $DIR/indirect_match.rs:18:11 | LL | match x {} | ^ @@ -7,7 +7,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: pattern `IndirectUninhabitedStruct` of type `uninhabited::IndirectUninhabitedStruct` is not handled - --> $DIR/indirect_match.rs:23:11 + --> $DIR/indirect_match.rs:22:11 | LL | match x {} | ^ @@ -15,7 +15,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: pattern `IndirectUninhabitedTupleStruct` of type `uninhabited::IndirectUninhabitedTupleStruct` is not handled - --> $DIR/indirect_match.rs:27:11 + --> $DIR/indirect_match.rs:26:11 | LL | match x {} | ^ @@ -23,7 +23,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: pattern `IndirectUninhabitedVariants` of type `uninhabited::IndirectUninhabitedVariants` is not handled - --> $DIR/indirect_match.rs:33:11 + --> $DIR/indirect_match.rs:32:11 | LL | match x {} | ^ diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_same_crate.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_same_crate.rs index 8f090fe886a00..9c3ec4240a5fd 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_same_crate.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_same_crate.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - #[non_exhaustive] pub enum UninhabitedEnum { } diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_same_crate.stderr b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_same_crate.stderr index c03018a523647..f94616dc64b1b 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_same_crate.stderr +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_same_crate.stderr @@ -1,5 +1,5 @@ error[E0004]: non-exhaustive patterns: pattern `IndirectUninhabitedEnum` of type `IndirectUninhabitedEnum` is not handled - --> $DIR/indirect_match_same_crate.rs:34:11 + --> $DIR/indirect_match_same_crate.rs:32:11 | LL | pub struct IndirectUninhabitedEnum(UninhabitedEnum); | ---------------------------------------------------- @@ -13,7 +13,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: pattern `IndirectUninhabitedStruct` of type `IndirectUninhabitedStruct` is not handled - --> $DIR/indirect_match_same_crate.rs:38:11 + --> $DIR/indirect_match_same_crate.rs:36:11 | LL | pub struct IndirectUninhabitedStruct(UninhabitedStruct); | -------------------------------------------------------- @@ -27,7 +27,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: pattern `IndirectUninhabitedTupleStruct` of type `IndirectUninhabitedTupleStruct` is not handled - --> $DIR/indirect_match_same_crate.rs:42:11 + --> $DIR/indirect_match_same_crate.rs:40:11 | LL | pub struct IndirectUninhabitedTupleStruct(UninhabitedTupleStruct); | ------------------------------------------------------------------ @@ -41,7 +41,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: pattern `IndirectUninhabitedVariants` of type `IndirectUninhabitedVariants` is not handled - --> $DIR/indirect_match_same_crate.rs:48:11 + --> $DIR/indirect_match_same_crate.rs:46:11 | LL | pub struct IndirectUninhabitedVariants(UninhabitedVariants); | ------------------------------------------------------------ diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns.rs index be86519ecb159..68ac42ef5878d 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns.rs @@ -1,7 +1,6 @@ // aux-build:uninhabited.rs #![deny(unreachable_patterns)] #![feature(exhaustive_patterns)] -#![feature(never_type)] extern crate uninhabited; diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns.stderr b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns.stderr index 17a8d01007205..2c2e542934177 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns.stderr +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns.stderr @@ -1,5 +1,5 @@ error[E0004]: non-exhaustive patterns: type `uninhabited::IndirectUninhabitedEnum` is non-empty - --> $DIR/indirect_match_with_exhaustive_patterns.rs:23:11 + --> $DIR/indirect_match_with_exhaustive_patterns.rs:22:11 | LL | match x {} | ^ @@ -7,7 +7,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: type `uninhabited::IndirectUninhabitedStruct` is non-empty - --> $DIR/indirect_match_with_exhaustive_patterns.rs:27:11 + --> $DIR/indirect_match_with_exhaustive_patterns.rs:26:11 | LL | match x {} | ^ @@ -15,7 +15,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: type `uninhabited::IndirectUninhabitedTupleStruct` is non-empty - --> $DIR/indirect_match_with_exhaustive_patterns.rs:31:11 + --> $DIR/indirect_match_with_exhaustive_patterns.rs:30:11 | LL | match x {} | ^ @@ -23,7 +23,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: type `uninhabited::IndirectUninhabitedVariants` is non-empty - --> $DIR/indirect_match_with_exhaustive_patterns.rs:37:11 + --> $DIR/indirect_match_with_exhaustive_patterns.rs:36:11 | LL | match x {} | ^ diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns_same_crate.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns_same_crate.rs index 60289aa780378..06c318414f03f 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns_same_crate.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns_same_crate.rs @@ -2,7 +2,6 @@ #![deny(unreachable_patterns)] #![feature(exhaustive_patterns)] -#![feature(never_type)] #[non_exhaustive] pub enum UninhabitedEnum { diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match.rs index e54098d4d48b9..fd3dbca04c00f 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match.rs @@ -1,5 +1,4 @@ // aux-build:uninhabited.rs -#![feature(never_type)] extern crate uninhabited; diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match.stderr b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match.stderr index de39688f45a4d..de3fa900cd622 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match.stderr +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match.stderr @@ -1,5 +1,5 @@ error[E0004]: non-exhaustive patterns: type `uninhabited::UninhabitedEnum` is non-empty - --> $DIR/match.rs:19:11 + --> $DIR/match.rs:18:11 | LL | match x {} | ^ @@ -7,7 +7,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: pattern `UninhabitedStruct` of type `uninhabited::UninhabitedStruct` is not handled - --> $DIR/match.rs:23:11 + --> $DIR/match.rs:22:11 | LL | match x {} | ^ @@ -15,7 +15,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: pattern `UninhabitedTupleStruct` of type `uninhabited::UninhabitedTupleStruct` is not handled - --> $DIR/match.rs:27:11 + --> $DIR/match.rs:26:11 | LL | match x {} | ^ @@ -23,7 +23,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: multiple patterns of type `uninhabited::UninhabitedVariants` are not handled - --> $DIR/match.rs:31:11 + --> $DIR/match.rs:30:11 | LL | match x {} | ^ diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_same_crate.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_same_crate.rs index ebbdfba15f3a3..c31688add91b2 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_same_crate.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_same_crate.rs @@ -1,5 +1,3 @@ -#![feature(never_type)] - #[non_exhaustive] pub enum UninhabitedEnum { } diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_same_crate.stderr b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_same_crate.stderr index c39df05a8f74e..3dd1a914d5542 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_same_crate.stderr +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_same_crate.stderr @@ -1,5 +1,5 @@ error[E0004]: non-exhaustive patterns: pattern `UninhabitedStruct` of type `UninhabitedStruct` is not handled - --> $DIR/match_same_crate.rs:30:11 + --> $DIR/match_same_crate.rs:28:11 | LL | pub struct UninhabitedStruct { | - ----------------- variant not covered @@ -15,7 +15,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: pattern `UninhabitedTupleStruct` of type `UninhabitedTupleStruct` is not handled - --> $DIR/match_same_crate.rs:34:11 + --> $DIR/match_same_crate.rs:32:11 | LL | pub struct UninhabitedTupleStruct(!); | ------------------------------------- @@ -29,7 +29,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: multiple patterns of type `UninhabitedVariants` are not handled - --> $DIR/match_same_crate.rs:38:11 + --> $DIR/match_same_crate.rs:36:11 | LL | / pub enum UninhabitedVariants { LL | | #[non_exhaustive] Tuple(!), diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns.rs index 900dfff652ea6..37d739834d20c 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns.rs @@ -1,7 +1,6 @@ // aux-build:uninhabited.rs #![deny(unreachable_patterns)] #![feature(exhaustive_patterns)] -#![feature(never_type)] extern crate uninhabited; diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns.stderr b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns.stderr index 48a888bc50be0..3b56c6890710d 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns.stderr +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns.stderr @@ -1,5 +1,5 @@ error[E0004]: non-exhaustive patterns: type `uninhabited::UninhabitedEnum` is non-empty - --> $DIR/match_with_exhaustive_patterns.rs:22:11 + --> $DIR/match_with_exhaustive_patterns.rs:21:11 | LL | match x {} | ^ @@ -7,7 +7,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: type `uninhabited::UninhabitedStruct` is non-empty - --> $DIR/match_with_exhaustive_patterns.rs:26:11 + --> $DIR/match_with_exhaustive_patterns.rs:25:11 | LL | match x {} | ^ @@ -15,7 +15,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: type `uninhabited::UninhabitedTupleStruct` is non-empty - --> $DIR/match_with_exhaustive_patterns.rs:30:11 + --> $DIR/match_with_exhaustive_patterns.rs:29:11 | LL | match x {} | ^ @@ -23,7 +23,7 @@ LL | match x {} = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: type `uninhabited::UninhabitedVariants` is non-empty - --> $DIR/match_with_exhaustive_patterns.rs:34:11 + --> $DIR/match_with_exhaustive_patterns.rs:33:11 | LL | match x {} | ^ diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns_same_crate.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns_same_crate.rs index de5530485f3e6..2b2e4b6e77d87 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns_same_crate.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns_same_crate.rs @@ -2,7 +2,6 @@ #![deny(unreachable_patterns)] #![feature(exhaustive_patterns)] -#![feature(never_type)] #[non_exhaustive] pub enum UninhabitedEnum { diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/patterns_same_crate.rs b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/patterns_same_crate.rs index ffc496a975ecf..3d4cca4505ef1 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/patterns_same_crate.rs +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/patterns_same_crate.rs @@ -1,6 +1,5 @@ #![deny(unreachable_patterns)] #![feature(exhaustive_patterns)] -#![feature(never_type)] #[non_exhaustive] pub enum UninhabitedEnum { diff --git a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/patterns_same_crate.stderr b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/patterns_same_crate.stderr index e3de94be1282e..fea883f891200 100644 --- a/src/test/ui/rfc-2008-non-exhaustive/uninhabited/patterns_same_crate.stderr +++ b/src/test/ui/rfc-2008-non-exhaustive/uninhabited/patterns_same_crate.stderr @@ -1,5 +1,5 @@ error: unreachable pattern - --> $DIR/patterns_same_crate.rs:52:9 + --> $DIR/patterns_same_crate.rs:51:9 | LL | Some(_x) => (), | ^^^^^^^^ @@ -11,25 +11,25 @@ LL | #![deny(unreachable_patterns)] | ^^^^^^^^^^^^^^^^^^^^ error: unreachable pattern - --> $DIR/patterns_same_crate.rs:57:9 + --> $DIR/patterns_same_crate.rs:56:9 | LL | Some(_x) => (), | ^^^^^^^^ error: unreachable pattern - --> $DIR/patterns_same_crate.rs:61:15 + --> $DIR/patterns_same_crate.rs:60:15 | LL | while let PartiallyInhabitedVariants::Struct { x } = partially_inhabited_variant() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: unreachable pattern - --> $DIR/patterns_same_crate.rs:65:15 + --> $DIR/patterns_same_crate.rs:64:15 | LL | while let Some(_x) = uninhabited_struct() { | ^^^^^^^^ error: unreachable pattern - --> $DIR/patterns_same_crate.rs:68:15 + --> $DIR/patterns_same_crate.rs:67:15 | LL | while let Some(_x) = uninhabited_tuple_struct() { | ^^^^^^^^ diff --git a/src/test/ui/traits/reservation-impls/reservation-impl-non-lattice-ok.rs b/src/test/ui/traits/reservation-impls/reservation-impl-non-lattice-ok.rs index f14589ccf846d..0e0197803b761 100644 --- a/src/test/ui/traits/reservation-impls/reservation-impl-non-lattice-ok.rs +++ b/src/test/ui/traits/reservation-impls/reservation-impl-non-lattice-ok.rs @@ -30,7 +30,7 @@ // // [ii]: http://smallcultfollowing.com/babysteps/blog/2016/09/24/intersection-impls/ -#![feature(rustc_attrs, never_type)] +#![feature(rustc_attrs)] trait MyTrait {} diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr index 5be656e8f4461..e6c7b566b4428 100644 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr +++ b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr @@ -4,7 +4,7 @@ error: concrete type differs from previous defining opaque type use LL | / fn bar() -> Foo { LL | | panic!() LL | | } - | |_^ expected `&'static str`, got `()` + | |_^ expected `&'static str`, got `!` | note: previous use here --> $DIR/different_defining_uses_never_type.rs:8:1 @@ -20,7 +20,7 @@ error: concrete type differs from previous defining opaque type use LL | / fn boo() -> Foo { LL | | loop {} LL | | } - | |_^ expected `&'static str`, got `()` + | |_^ expected `&'static str`, got `!` | note: previous use here --> $DIR/different_defining_uses_never_type.rs:8:1 diff --git a/src/test/ui/type-sizes.rs b/src/test/ui/type-sizes.rs index 27433fd770b05..3dfe0ad7f72c1 100644 --- a/src/test/ui/type-sizes.rs +++ b/src/test/ui/type-sizes.rs @@ -2,7 +2,6 @@ #![allow(non_camel_case_types)] #![allow(dead_code)] -#![feature(never_type)] use std::mem::size_of; diff --git a/src/test/ui/uninhabited/uninhabited-irrefutable.rs b/src/test/ui/uninhabited/uninhabited-irrefutable.rs index 48cd92719b49a..84daa35484f81 100644 --- a/src/test/ui/uninhabited/uninhabited-irrefutable.rs +++ b/src/test/ui/uninhabited/uninhabited-irrefutable.rs @@ -1,4 +1,3 @@ -#![feature(never_type)] #![feature(exhaustive_patterns)] mod foo { diff --git a/src/test/ui/uninhabited/uninhabited-irrefutable.stderr b/src/test/ui/uninhabited/uninhabited-irrefutable.stderr index 26e1be34ea75d..6ba03ee508316 100644 --- a/src/test/ui/uninhabited/uninhabited-irrefutable.stderr +++ b/src/test/ui/uninhabited/uninhabited-irrefutable.stderr @@ -1,5 +1,5 @@ error[E0005]: refutable pattern in local binding: `A(_)` not covered - --> $DIR/uninhabited-irrefutable.rs:27:9 + --> $DIR/uninhabited-irrefutable.rs:26:9 | LL | / enum Foo { LL | | A(foo::SecretlyEmpty), diff --git a/src/test/ui/uninhabited/uninhabited-patterns.rs b/src/test/ui/uninhabited/uninhabited-patterns.rs index 1bf01184a08e7..66a1a7f7735eb 100644 --- a/src/test/ui/uninhabited/uninhabited-patterns.rs +++ b/src/test/ui/uninhabited/uninhabited-patterns.rs @@ -1,6 +1,5 @@ #![feature(box_patterns)] #![feature(box_syntax)] -#![feature(never_type)] #![feature(exhaustive_patterns)] #![feature(slice_patterns)] #![deny(unreachable_patterns)] diff --git a/src/test/ui/uninhabited/uninhabited-patterns.stderr b/src/test/ui/uninhabited/uninhabited-patterns.stderr index 3e5329cfb3011..4a793c4510ec1 100644 --- a/src/test/ui/uninhabited/uninhabited-patterns.stderr +++ b/src/test/ui/uninhabited/uninhabited-patterns.stderr @@ -1,35 +1,35 @@ error: unreachable pattern - --> $DIR/uninhabited-patterns.rs:27:9 + --> $DIR/uninhabited-patterns.rs:26:9 | LL | &[..] => (), | ^^^^^ | note: lint level defined here - --> $DIR/uninhabited-patterns.rs:6:9 + --> $DIR/uninhabited-patterns.rs:5:9 | LL | #![deny(unreachable_patterns)] | ^^^^^^^^^^^^^^^^^^^^ error: unreachable pattern - --> $DIR/uninhabited-patterns.rs:32:9 + --> $DIR/uninhabited-patterns.rs:31:9 | LL | Ok(box _) => (), | ^^^^^^^^^ error: unreachable pattern - --> $DIR/uninhabited-patterns.rs:34:9 + --> $DIR/uninhabited-patterns.rs:33:9 | LL | Err(&[..]) => (), | ^^^^^^^^^^ error: unreachable pattern - --> $DIR/uninhabited-patterns.rs:41:9 + --> $DIR/uninhabited-patterns.rs:40:9 | LL | Err(Ok(_y)) => (), | ^^^^^^^^^^^ error: unreachable pattern - --> $DIR/uninhabited-patterns.rs:44:15 + --> $DIR/uninhabited-patterns.rs:43:15 | LL | while let Some(_y) = foo() { | ^^^^^^^^ From 6eb0627b49edb03d27722cab4d13f92a9a65a1c8 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Thu, 31 Oct 2019 04:33:31 +0100 Subject: [PATCH 13/15] Gate fallback via `#![feature(never_type_fallback)]`. --- src/librustc/ty/context.rs | 6 +++++- src/librustc_typeck/check/mod.rs | 10 ++++++++-- src/libsyntax/feature_gate/active.rs | 3 +++ src/libsyntax_pos/symbol.rs | 1 + ...ssociated-types-ICE-when-projecting-out-of-err.rs | 2 +- ...iated-types-ICE-when-projecting-out-of-err.stderr | 4 ++-- src/test/ui/binding/empty-types-in-patterns.rs | 1 + src/test/ui/coercion/coerce-issue-49593-box-never.rs | 2 +- src/test/ui/never_type/defaulted-never-note.rs | 4 ++++ src/test/ui/never_type/defaulted-never-note.stderr | 2 +- .../ui/never_type/diverging-fallback-control-flow.rs | 2 ++ .../never_type/feature-gate-never_type_fallback.rs | 12 ++++++++++++ .../feature-gate-never_type_fallback.stderr | 11 +++++++++++ src/test/ui/never_type/issue-13352.stderr | 6 +++--- src/test/ui/never_type/issue-2149.stderr | 6 +++--- src/test/ui/reachable/unreachable-loop-patterns.rs | 1 + .../ui/reachable/unreachable-loop-patterns.stderr | 6 +++--- .../different_defining_uses_never_type.stderr | 4 ++-- 18 files changed, 64 insertions(+), 19 deletions(-) create mode 100644 src/test/ui/never_type/feature-gate-never_type_fallback.rs create mode 100644 src/test/ui/never_type/feature-gate-never_type_fallback.stderr diff --git a/src/librustc/ty/context.rs b/src/librustc/ty/context.rs index 2dea2216f380e..d0767a1fc4c38 100644 --- a/src/librustc/ty/context.rs +++ b/src/librustc/ty/context.rs @@ -2440,7 +2440,11 @@ impl<'tcx> TyCtxt<'tcx> { #[inline] pub fn mk_diverging_default(self) -> Ty<'tcx> { - self.types.never + if self.features().never_type_fallback { + self.types.never + } else { + self.types.unit + } } #[inline] diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index 8f3e274b79fb0..512a49d13e7cf 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -3129,8 +3129,14 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { } // Tries to apply a fallback to `ty` if it is an unsolved variable. - // Non-numerics get replaced with `!`, unconstrained ints with `i32`, - // unconstrained floats with `f64`. + // + // - Unconstrained ints are replaced with `i32`. + // + // - Unconstrained floats are replaced with with `f64`. + // + // - Non-numerics get replaced with `!` when `#![feature(never_type_fallback)]` + // is enabled. Otherwise, they are replaced with `()`. + // // Fallback becomes very dubious if we have encountered type-checking errors. // In that case, fallback to Error. // The return value indicates whether fallback has occurred. diff --git a/src/libsyntax/feature_gate/active.rs b/src/libsyntax/feature_gate/active.rs index 23718f562463a..bd029514a9524 100644 --- a/src/libsyntax/feature_gate/active.rs +++ b/src/libsyntax/feature_gate/active.rs @@ -520,6 +520,9 @@ declare_features! ( /// Allows using the `efiapi` ABI. (active, abi_efiapi, "1.40.0", Some(65815), None), + /// Allows diverging expressions to fall back to `!` rather than `()`. + (active, never_type_fallback, "1.41.0", Some(65992), None), + /// Allows using the `#[register_attr]` attribute. (active, register_attr, "1.41.0", Some(66080), None), diff --git a/src/libsyntax_pos/symbol.rs b/src/libsyntax_pos/symbol.rs index 1139bf67a36d0..979074f17c7e0 100644 --- a/src/libsyntax_pos/symbol.rs +++ b/src/libsyntax_pos/symbol.rs @@ -444,6 +444,7 @@ symbols! { negate_unsigned, never, never_type, + never_type_fallback, new, next, __next, diff --git a/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.rs b/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.rs index 408e55f890317..707bcac78bf92 100644 --- a/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.rs +++ b/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.rs @@ -21,5 +21,5 @@ trait Add { fn ice(a: A) { let r = loop {}; r = r + a; - //~^ ERROR the trait bound `!: Add` is not satisfied + //~^ ERROR the trait bound `(): Add` is not satisfied } diff --git a/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.stderr b/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.stderr index f85c8a1a515a5..8c3463a2832e0 100644 --- a/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.stderr +++ b/src/test/ui/associated-types/associated-types-ICE-when-projecting-out-of-err.stderr @@ -1,8 +1,8 @@ -error[E0277]: the trait bound `!: Add` is not satisfied +error[E0277]: the trait bound `(): Add` is not satisfied --> $DIR/associated-types-ICE-when-projecting-out-of-err.rs:23:11 | LL | r = r + a; - | ^ the trait `Add` is not implemented for `!` + | ^ the trait `Add` is not implemented for `()` error: aborting due to previous error diff --git a/src/test/ui/binding/empty-types-in-patterns.rs b/src/test/ui/binding/empty-types-in-patterns.rs index facb70d1253a8..1864d4bb8205b 100644 --- a/src/test/ui/binding/empty-types-in-patterns.rs +++ b/src/test/ui/binding/empty-types-in-patterns.rs @@ -1,4 +1,5 @@ // run-pass +#![feature(never_type_fallback)] #![feature(exhaustive_patterns)] #![feature(slice_patterns)] #![allow(unreachable_patterns)] diff --git a/src/test/ui/coercion/coerce-issue-49593-box-never.rs b/src/test/ui/coercion/coerce-issue-49593-box-never.rs index b71c3663a4f63..55beb7c252895 100644 --- a/src/test/ui/coercion/coerce-issue-49593-box-never.rs +++ b/src/test/ui/coercion/coerce-issue-49593-box-never.rs @@ -1,5 +1,5 @@ // check-pass - +#![feature(never_type_fallback)] #![allow(unreachable_code)] use std::error::Error; diff --git a/src/test/ui/never_type/defaulted-never-note.rs b/src/test/ui/never_type/defaulted-never-note.rs index 714ef6adaf52b..c58b611748423 100644 --- a/src/test/ui/never_type/defaulted-never-note.rs +++ b/src/test/ui/never_type/defaulted-never-note.rs @@ -1,3 +1,7 @@ +// We need to opt into the `never_type_fallback` feature +// to trigger the requirement that this is testing. +#![feature(never_type_fallback)] + #![allow(unused)] trait Deserialize: Sized { diff --git a/src/test/ui/never_type/defaulted-never-note.stderr b/src/test/ui/never_type/defaulted-never-note.stderr index eb780b6328cd3..28c9da059edaa 100644 --- a/src/test/ui/never_type/defaulted-never-note.stderr +++ b/src/test/ui/never_type/defaulted-never-note.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `!: ImplementedForUnitButNotNever` is not satisfied - --> $DIR/defaulted-never-note.rs:23:5 + --> $DIR/defaulted-never-note.rs:27:5 | LL | fn foo(_t: T) {} | --- ----------------------------- required by this bound in `foo` diff --git a/src/test/ui/never_type/diverging-fallback-control-flow.rs b/src/test/ui/never_type/diverging-fallback-control-flow.rs index 2ea9c18ee9005..df04437b1ae20 100644 --- a/src/test/ui/never_type/diverging-fallback-control-flow.rs +++ b/src/test/ui/never_type/diverging-fallback-control-flow.rs @@ -11,6 +11,8 @@ // These represent current behavior, but are pretty dubious. I would // like to revisit these and potentially change them. --nmatsakis +#![feature(never_type_fallback)] + trait BadDefault { fn default() -> Self; } diff --git a/src/test/ui/never_type/feature-gate-never_type_fallback.rs b/src/test/ui/never_type/feature-gate-never_type_fallback.rs new file mode 100644 index 0000000000000..3b896ec9d70c2 --- /dev/null +++ b/src/test/ui/never_type/feature-gate-never_type_fallback.rs @@ -0,0 +1,12 @@ +// This is a feature gate test for `never_type_fallback`. +// It works by using a scenario where the type fall backs to `()` rather than ´!` +// in the case where `#![feature(never_type_fallback)]` would change it to `!`. + +fn main() {} + +trait T {} + +fn should_ret_unit() -> impl T { + //~^ ERROR the trait bound `(): T` is not satisfied + panic!() +} diff --git a/src/test/ui/never_type/feature-gate-never_type_fallback.stderr b/src/test/ui/never_type/feature-gate-never_type_fallback.stderr new file mode 100644 index 0000000000000..837e90d6ceb9b --- /dev/null +++ b/src/test/ui/never_type/feature-gate-never_type_fallback.stderr @@ -0,0 +1,11 @@ +error[E0277]: the trait bound `(): T` is not satisfied + --> $DIR/feature-gate-never_type_fallback.rs:9:25 + | +LL | fn should_ret_unit() -> impl T { + | ^^^^^^ the trait `T` is not implemented for `()` + | + = note: the return type of a function must have a statically known size + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/never_type/issue-13352.stderr b/src/test/ui/never_type/issue-13352.stderr index da914a2b49ce7..58ac74be3e3b7 100644 --- a/src/test/ui/never_type/issue-13352.stderr +++ b/src/test/ui/never_type/issue-13352.stderr @@ -1,10 +1,10 @@ -error[E0277]: cannot add `!` to `usize` +error[E0277]: cannot add `()` to `usize` --> $DIR/issue-13352.rs:9:13 | LL | 2_usize + (loop {}); - | ^ no implementation for `usize + !` + | ^ no implementation for `usize + ()` | - = help: the trait `std::ops::Add` is not implemented for `usize` + = help: the trait `std::ops::Add<()>` is not implemented for `usize` error: aborting due to previous error diff --git a/src/test/ui/never_type/issue-2149.stderr b/src/test/ui/never_type/issue-2149.stderr index 67fe3966d6242..8ce2ba033321e 100644 --- a/src/test/ui/never_type/issue-2149.stderr +++ b/src/test/ui/never_type/issue-2149.stderr @@ -1,10 +1,10 @@ -error[E0277]: cannot add `std::vec::Vec` to `!` +error[E0277]: cannot add `std::vec::Vec` to `()` --> $DIR/issue-2149.rs:8:33 | LL | for elt in self { r = r + f(*elt); } - | ^ no implementation for `! + std::vec::Vec` + | ^ no implementation for `() + std::vec::Vec` | - = help: the trait `std::ops::Add>` is not implemented for `!` + = help: the trait `std::ops::Add>` is not implemented for `()` error[E0599]: no method named `bind` found for type `[&str; 1]` in the current scope --> $DIR/issue-2149.rs:13:12 diff --git a/src/test/ui/reachable/unreachable-loop-patterns.rs b/src/test/ui/reachable/unreachable-loop-patterns.rs index 6d88273700375..c8ff56539116f 100644 --- a/src/test/ui/reachable/unreachable-loop-patterns.rs +++ b/src/test/ui/reachable/unreachable-loop-patterns.rs @@ -1,3 +1,4 @@ +#![feature(never_type_fallback)] #![feature(exhaustive_patterns)] #![allow(unreachable_code)] diff --git a/src/test/ui/reachable/unreachable-loop-patterns.stderr b/src/test/ui/reachable/unreachable-loop-patterns.stderr index 6ade480125ba5..bb5103320d2cf 100644 --- a/src/test/ui/reachable/unreachable-loop-patterns.stderr +++ b/src/test/ui/reachable/unreachable-loop-patterns.stderr @@ -1,17 +1,17 @@ error: unreachable pattern - --> $DIR/unreachable-loop-patterns.rs:17:9 + --> $DIR/unreachable-loop-patterns.rs:18:9 | LL | for _ in unimplemented!() as Void {} | ^ | note: lint level defined here - --> $DIR/unreachable-loop-patterns.rs:4:9 + --> $DIR/unreachable-loop-patterns.rs:5:9 | LL | #![deny(unreachable_patterns)] | ^^^^^^^^^^^^^^^^^^^^ error: unreachable pattern - --> $DIR/unreachable-loop-patterns.rs:17:14 + --> $DIR/unreachable-loop-patterns.rs:18:14 | LL | for _ in unimplemented!() as Void {} | ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr index e6c7b566b4428..5be656e8f4461 100644 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr +++ b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr @@ -4,7 +4,7 @@ error: concrete type differs from previous defining opaque type use LL | / fn bar() -> Foo { LL | | panic!() LL | | } - | |_^ expected `&'static str`, got `!` + | |_^ expected `&'static str`, got `()` | note: previous use here --> $DIR/different_defining_uses_never_type.rs:8:1 @@ -20,7 +20,7 @@ error: concrete type differs from previous defining opaque type use LL | / fn boo() -> Foo { LL | | loop {} LL | | } - | |_^ expected `&'static str`, got `!` + | |_^ expected `&'static str`, got `()` | note: previous use here --> $DIR/different_defining_uses_never_type.rs:8:1 From 089229a1935fa9795cfdefa518c8f8c3beb66db8 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Sun, 13 Oct 2019 04:58:45 +0200 Subject: [PATCH 14/15] Redefine `core::convert::Infallible` as `!`. --- src/libcore/convert.rs | 95 ++++-------------------------------------- src/libcore/num/mod.rs | 12 +----- src/libstd/error.rs | 7 ---- 3 files changed, 8 insertions(+), 106 deletions(-) diff --git a/src/libcore/convert.rs b/src/libcore/convert.rs index e16c384026045..89a269bdb8eb9 100644 --- a/src/libcore/convert.rs +++ b/src/libcore/convert.rs @@ -40,8 +40,6 @@ #![stable(feature = "rust1", since = "1.0.0")] -use crate::fmt; - /// The identity function. /// /// Two things are important to note about this function: @@ -426,9 +424,7 @@ pub trait TryInto: Sized { /// - `TryFrom for U` implies [`TryInto`]` for T` /// - [`try_from`] is reflexive, which means that `TryFrom for T` /// is implemented and cannot fail -- the associated `Error` type for -/// calling `T::try_from()` on a value of type `T` is [`Infallible`]. -/// When the [`!`] type is stabilized [`Infallible`] and [`!`] will be -/// equivalent. +/// calling `T::try_from()` on a value of type `T` is [`!`]. /// /// `TryFrom` can be implemented as follows: /// @@ -477,7 +473,6 @@ pub trait TryInto: Sized { /// [`TryInto`]: trait.TryInto.html /// [`i32::MAX`]: ../../std/i32/constant.MAX.html /// [`!`]: ../../std/primitive.never.html -/// [`Infallible`]: enum.Infallible.html #[stable(feature = "try_from", since = "1.34.0")] pub trait TryFrom: Sized { /// The type returned in the event of a conversion error. @@ -615,9 +610,9 @@ impl AsRef for str { // THE NO-ERROR ERROR TYPE //////////////////////////////////////////////////////////////////////////////// -/// The error type for errors that can never happen. +/// A type alias for [the `!` “never” type][never]. /// -/// Since this enum has no variant, a value of this type can never actually exist. +/// `Infallible` represents types of errors that can never happen since `!` has no valid values. /// This can be useful for generic APIs that use [`Result`] and parameterize the error type, /// to indicate that the result is always [`Ok`]. /// @@ -634,33 +629,10 @@ impl AsRef for str { /// } /// ``` /// -/// # Future compatibility -/// -/// This enum has the same role as [the `!` “never” type][never], -/// which is unstable in this version of Rust. -/// When `!` is stabilized, we plan to make `Infallible` a type alias to it: -/// -/// ```ignore (illustrates future std change) -/// pub type Infallible = !; -/// ``` -/// -/// … and eventually deprecate `Infallible`. -/// -/// -/// However there is one case where `!` syntax can be used -/// before `!` is stabilized as a full-fleged type: in the position of a function’s return type. -/// Specifically, it is possible implementations for two different function pointer types: -/// -/// ``` -/// trait MyTrait {} -/// impl MyTrait for fn() -> ! {} -/// impl MyTrait for fn() -> std::convert::Infallible {} -/// ``` +/// # Eventual deprecation /// -/// With `Infallible` being an enum, this code is valid. -/// However when `Infallible` becomes an alias for the never type, -/// the two `impl`s will start to overlap -/// and therefore will be disallowed by the language’s trait coherence rules. +/// Previously, `Infallible` was defined as `enum Infallible {}`. +/// Now that it is merely a type alias to `!`, we will eventually deprecate `Infallible`. /// /// [`Ok`]: ../result/enum.Result.html#variant.Ok /// [`Result`]: ../result/enum.Result.html @@ -668,57 +640,4 @@ impl AsRef for str { /// [`Into`]: trait.Into.html /// [never]: ../../std/primitive.never.html #[stable(feature = "convert_infallible", since = "1.34.0")] -#[derive(Copy)] -pub enum Infallible {} - -#[stable(feature = "convert_infallible", since = "1.34.0")] -impl Clone for Infallible { - fn clone(&self) -> Infallible { - match *self {} - } -} - -#[stable(feature = "convert_infallible", since = "1.34.0")] -impl fmt::Debug for Infallible { - fn fmt(&self, _: &mut fmt::Formatter<'_>) -> fmt::Result { - match *self {} - } -} - -#[stable(feature = "convert_infallible", since = "1.34.0")] -impl fmt::Display for Infallible { - fn fmt(&self, _: &mut fmt::Formatter<'_>) -> fmt::Result { - match *self {} - } -} - -#[stable(feature = "convert_infallible", since = "1.34.0")] -impl PartialEq for Infallible { - fn eq(&self, _: &Infallible) -> bool { - match *self {} - } -} - -#[stable(feature = "convert_infallible", since = "1.34.0")] -impl Eq for Infallible {} - -#[stable(feature = "convert_infallible", since = "1.34.0")] -impl PartialOrd for Infallible { - fn partial_cmp(&self, _other: &Self) -> Option { - match *self {} - } -} - -#[stable(feature = "convert_infallible", since = "1.34.0")] -impl Ord for Infallible { - fn cmp(&self, _other: &Self) -> crate::cmp::Ordering { - match *self {} - } -} - -#[stable(feature = "convert_infallible", since = "1.34.0")] -impl From for Infallible { - fn from(x: !) -> Self { - x - } -} +pub type Infallible = !; diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs index c2f85b9535e78..4313248f2636a 100644 --- a/src/libcore/num/mod.rs +++ b/src/libcore/num/mod.rs @@ -4,7 +4,7 @@ #![stable(feature = "rust1", since = "1.0.0")] -use crate::convert::{TryFrom, Infallible}; +use crate::convert::TryFrom; use crate::fmt; use crate::intrinsics; use crate::mem; @@ -4722,18 +4722,8 @@ impl fmt::Display for TryFromIntError { } #[stable(feature = "try_from", since = "1.34.0")] -impl From for TryFromIntError { - fn from(x: Infallible) -> TryFromIntError { - match x {} - } -} - -#[stable(feature = "never_type", since = "1.41.0")] impl From for TryFromIntError { fn from(never: !) -> TryFromIntError { - // Match rather than coerce to make sure that code like - // `From for TryFromIntError` above will keep working - // when `Infallible` becomes an alias to `!`. match never {} } } diff --git a/src/libstd/error.rs b/src/libstd/error.rs index 45f1160ca794d..74a9e7c9e331f 100644 --- a/src/libstd/error.rs +++ b/src/libstd/error.rs @@ -551,13 +551,6 @@ impl Error for string::FromUtf16Error { } } -#[stable(feature = "str_parse_error2", since = "1.8.0")] -impl Error for string::ParseError { - fn description(&self) -> &str { - match *self {} - } -} - #[stable(feature = "decode_utf16", since = "1.9.0")] impl Error for char::DecodeUtf16Error { fn description(&self) -> &str { From 238d03b3a32e7415becbcf22748286880ce21e3f Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Thu, 21 Nov 2019 15:09:18 +0100 Subject: [PATCH 15/15] never_type: test interaction with auto traits --- src/test/ui/never_type/auto-traits.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/test/ui/never_type/auto-traits.rs diff --git a/src/test/ui/never_type/auto-traits.rs b/src/test/ui/never_type/auto-traits.rs new file mode 100644 index 0000000000000..8a02720ab27fd --- /dev/null +++ b/src/test/ui/never_type/auto-traits.rs @@ -0,0 +1,16 @@ +// check-pass + +#![feature(optin_builtin_traits)] + +fn main() { + enum Void {} + + auto trait Auto {} + fn assert_auto() {} + assert_auto::(); + assert_auto::(); + + fn assert_send() {} + assert_send::(); + assert_send::(); +}