From 389ef6601d18112a7a449eac2e190e4eb061bdf8 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Thu, 9 Oct 2014 17:19:50 -0400 Subject: [PATCH 1/4] Implement multidispatch and conditional dispatch. Because we do not attempt to preserve crate concatenation, this is a backwards compatible change. Conflicts: src/librustc/middle/traits/select.rs --- src/librustc/middle/subst.rs | 4 + src/librustc/middle/traits/coherence.rs | 23 +- src/librustc/middle/traits/doc.rs | 167 +-- src/librustc/middle/traits/mod.rs | 89 +- src/librustc/middle/traits/select.rs | 1173 +++++++++-------- src/librustc/middle/traits/util.rs | 17 +- src/librustc/middle/trans/common.rs | 33 +- src/librustc/middle/trans/debuginfo.rs | 2 +- src/librustc/middle/trans/meth.rs | 2 +- src/librustc/middle/ty_fold.rs | 10 +- src/librustc/middle/typeck/check/vtable2.rs | 38 +- src/librustc/middle/typeck/infer/mod.rs | 89 +- src/librustc/middle/typeck/infer/skolemize.rs | 75 +- ...t-conflicts-with-specific-multidispatch.rs | 36 + ...e-blanket-conflicts-with-specific-trait.rs | 38 + ...herence-blanket-conflicts-with-specific.rs | 33 + ...x.rs => coherence-cross-crate-conflict.rs} | 0 .../coherence-multidispatch-tuple | Bin 0 -> 976455 bytes .../compile-fail/coherence-tuple-conflict.rs | 29 + src/test/compile-fail/recursion.rs | 5 +- .../trait-coercion-generic-bad.rs | 2 +- .../compile-fail/traits-multidispatch-bad.rs | 32 + ...traits-multidispatch-convert-ambig-dest.rs | 39 + .../type-params-in-different-spaces-2.rs | 4 +- .../coherence-multidispatch-tuple.rs} | 17 +- src/test/run-pass/coherence-where-clause.rs | 46 + src/test/run-pass/multidispatch1.rs | 40 + src/test/run-pass/multidispatch2.rs | 46 + .../run-pass/traits-conditional-dispatch.rs | 36 + ...ispatch-infer-convert-source-and-target.rs | 35 + ...aits-multidispatch-infer-convert-target.rs | 46 + 31 files changed, 1438 insertions(+), 768 deletions(-) create mode 100644 src/test/compile-fail/coherence-blanket-conflicts-with-specific-multidispatch.rs create mode 100644 src/test/compile-fail/coherence-blanket-conflicts-with-specific-trait.rs create mode 100644 src/test/compile-fail/coherence-blanket-conflicts-with-specific.rs rename src/test/compile-fail/{conflicting-implementations-aux.rs => coherence-cross-crate-conflict.rs} (100%) create mode 100755 src/test/compile-fail/coherence-multidispatch-tuple create mode 100644 src/test/compile-fail/coherence-tuple-conflict.rs create mode 100644 src/test/compile-fail/traits-multidispatch-bad.rs create mode 100644 src/test/compile-fail/traits-multidispatch-convert-ambig-dest.rs rename src/test/{compile-fail/conflicting-implementations.rs => run-pass/coherence-multidispatch-tuple.rs} (53%) create mode 100644 src/test/run-pass/coherence-where-clause.rs create mode 100644 src/test/run-pass/multidispatch1.rs create mode 100644 src/test/run-pass/multidispatch2.rs create mode 100644 src/test/run-pass/traits-conditional-dispatch.rs create mode 100644 src/test/run-pass/traits-multidispatch-infer-convert-source-and-target.rs create mode 100644 src/test/run-pass/traits-multidispatch-infer-convert-target.rs diff --git a/src/librustc/middle/subst.rs b/src/librustc/middle/subst.rs index b55678e3a5078..e05a3237b264b 100644 --- a/src/librustc/middle/subst.rs +++ b/src/librustc/middle/subst.rs @@ -417,6 +417,10 @@ impl VecPerParamSpace { self.content.iter() } + pub fn as_slice(&self) -> &[T] { + self.content.as_slice() + } + pub fn all_vecs(&self, pred: |&[T]| -> bool) -> bool { let spaces = [TypeSpace, SelfSpace, FnSpace]; spaces.iter().all(|&space| { pred(self.get_slice(space)) }) diff --git a/src/librustc/middle/traits/coherence.rs b/src/librustc/middle/traits/coherence.rs index 080f9ff5bc7ab..6dc7fbf5d7cd8 100644 --- a/src/librustc/middle/traits/coherence.rs +++ b/src/librustc/middle/traits/coherence.rs @@ -10,9 +10,8 @@ /*! See `doc.rs` for high-level documentation */ -use super::{EvaluatedToMatch, EvaluatedToAmbiguity, EvaluatedToUnmatch}; -use super::{evaluate_impl}; -use super::ObligationCause; +use super::SelectionContext; +use super::Obligation; use super::util; use middle::subst; @@ -28,22 +27,26 @@ pub fn impl_can_satisfy(infcx: &InferCtxt, impl2_def_id: ast::DefId) -> bool { + debug!("impl_can_satisfy(\ + impl1_def_id={}, \ + impl2_def_id={})", + impl1_def_id.repr(infcx.tcx), + impl2_def_id.repr(infcx.tcx)); + // `impl1` provides an implementation of `Foo for Z`. let impl1_substs = util::fresh_substs_for_impl(infcx, DUMMY_SP, impl1_def_id); - let impl1_self_ty = + let impl1_trait_ref = ty::impl_trait_ref(infcx.tcx, impl1_def_id).unwrap() - .self_ty() .subst(infcx.tcx, &impl1_substs); // Determine whether `impl2` can provide an implementation for those // same types. let param_env = ty::empty_parameter_environment(); - match evaluate_impl(infcx, ¶m_env, infcx.tcx, ObligationCause::dummy(), - impl2_def_id, impl1_self_ty) { - EvaluatedToMatch | EvaluatedToAmbiguity => true, - EvaluatedToUnmatch => false, - } + let mut selcx = SelectionContext::new(infcx, ¶m_env, infcx.tcx); + let obligation = Obligation::misc(DUMMY_SP, impl1_trait_ref); + debug!("impl_can_satisfy obligation={}", obligation.repr(infcx.tcx)); + selcx.evaluate_impl(impl2_def_id, &obligation) } pub fn impl_is_local(tcx: &ty::ctxt, diff --git a/src/librustc/middle/traits/doc.rs b/src/librustc/middle/traits/doc.rs index 98db226387453..742c4cb5de031 100644 --- a/src/librustc/middle/traits/doc.rs +++ b/src/librustc/middle/traits/doc.rs @@ -57,7 +57,8 @@ Trait resolution consists of three major parts: resolved by employing an impl which matches the self type, or by using a parameter bound. In the case of an impl, Selecting one obligation can create *nested obligations* because of where clauses - on the impl itself. + on the impl itself. It may also require evaluating those nested + obligations to resolve ambiguities. - FULFILLMENT: The fulfillment code is what tracks that obligations are completely fulfilled. Basically it is a worklist of obligations @@ -100,80 +101,88 @@ candidate that is definitively applicable. In some cases, we may not know whether an impl/where-clause applies or not -- this occurs when the obligation contains unbound inference variables. -One important point is that candidate assembly considers *only the -input types* of the obligation when deciding whether an impl applies -or not. Consider the following example: - - trait Convert { // T is output, Self is input - fn convert(&self) -> T; - } - - impl Convert for int { ... } - -Now assume we have an obligation `int : Convert`. During -candidate assembly, the impl above would be considered a definitively -applicable candidate, because it has the same self type (`int`). The -fact that the output type parameter `T` is `uint` on the impl and -`char` in the obligation is not considered. - -#### Skolemization - -We (at least currently) wish to guarantee "crate concatenability" -- -which basically means that you could take two crates, concatenate -them textually, and the combined crate would continue to compile. The -only real way that this relates to trait matching is with -inference. We have to be careful not to influence unbound type -variables during the selection process, basically. - -Here is an example: - - trait Foo { fn method() { ... }} - impl Foo for int { ... } - - fn something() { - let mut x = None; // `x` has type `Option` - loop { - match x { - Some(ref y) => { // `y` has type ? - y.method(); // (*) - ... - }}} - } - -The question is, can we resolve the call to `y.method()`? We don't yet -know what type `y` has. However, there is only one impl in scope, and -it is for `int`, so perhaps we could deduce that `y` *must* have type -`int` (and hence the type of `x` is `Option`)? This is actually -sound reasoning: `int` is the only type in scope that could possibly -make this program type check. However, this deduction is a bit -"unstable", though, because if we concatenated with another crate that -defined a newtype and implemented `Foo` for this newtype, then the -inference would fail, because there would be two potential impls, not -one. - -It is unclear how important this property is. It might be nice to drop it. -But for the time being we maintain it. - -The way we do this is by *skolemizing* the obligation self type during -the selection process -- skolemizing means, basically, replacing all -unbound type variables with a new "skolemized" type. Each skolemized -type is basically considered "as if" it were some fresh type that is -distinct from all other types. The skolemization process also replaces -lifetimes with `'static`, see the section on lifetimes below for an -explanation. - -In the example above, this means that when matching `y.method()` we -would convert the type of `y` from a type variable `?` to a skolemized -type `X`. Then, since `X` cannot unify with `int`, the match would -fail. Special code exists to check that the match failed because a -skolemized type could not be unified with another kind of type -- this is -not considered a definitive failure, but rather an ambiguous result, -since if the type variable were later to be unified with int, then this -obligation could be resolved then. - -*Note:* Currently, method matching does not use the trait resolution -code, so if you in fact type in the example above, it may -compile. Hopefully this will be fixed in later patches. +The basic idea for candidate assembly is to do a first pass in which +we identify all possible candidates. During this pass, all that we do +is try and unify the type parameters. (In particular, we ignore any +nested where clauses.) Presuming that this unification succeeds, the +impl is added as a candidate. + +Once this first pass is done, we can examine the set of candidates. If +it is a singleton set, then we are done: this is the only impl in +scope that could possibly apply. Otherwise, we can winnow down the set +of candidates by using where clauses and other conditions. If this +reduced set yields a single, unambiguous entry, we're good to go, +otherwise the result is considered ambiguous. + +#### The basic process: Inferring based on the impls we see + +This process is easier if we work through some examples. Consider +the following trait: + +``` +trait Convert { + fn convert(&self) -> Target; +} +``` + +This trait just has one method. It's about as simple as it gets. It +converts from the (implicit) `Self` type to the `Target` type. If we +wanted to permit conversion between `int` and `uint`, we might +implement `Convert` like so: + +```rust +impl Convert for int { ... } // int -> uint +impl Convert for uint { ... } // uint -> uint +``` + +Now imagine there is some code like the following: + +```rust +let x: int = ...; +let y = x.convert(); +``` + +The call to convert will generate a trait reference `Convert<$Y> for +int`, where `$Y` is the type variable representing the type of +`y`. When we match this against the two impls we can see, we will find +that only one remains: `Convert for int`. Therefore, we can +select this impl, which will cause the type of `$Y` to be unified to +`uint`. (Note that while assembling candidates, we do the initial +unifications in a transaction, so that they don't affect one another.) + +There are tests to this effect in src/test/run-pass: + + traits-multidispatch-infer-convert-source-and-target.rs + traits-multidispatch-infer-convert-target.rs + +#### Winnowing: Resolving ambiguities + +But what happens if there are multiple impls where all the types +unify? Consider this example: + +```rust +trait Get { + fn get(&self) -> Self; +} + +impl Get for T { + fn get(&self) -> T { *self } +} + +impl Get for Box { + fn get(&self) -> Box { box get_it(&**self) } +} +``` + +What happens when we invoke `get_it(&box 1_u16)`, for example? In this +case, the `Self` type is `Box` -- that unifies with both impls, +because the first applies to all types, and the second to all +boxes. In the olden days we'd have called this ambiguous. But what we +do now is do a second *winnowing* pass that considers where clauses +and attempts to remove candidates -- in this case, the first impl only +applies if `Box : Copy`, which doesn't hold. After winnowing, +then, we are left with just one candidate, so we can proceed. There is +a test of this in `src/test/run-pass/traits-conditional-dispatch.rs`. #### Matching @@ -187,11 +196,9 @@ consider some of the nested obligations, in the case of an impl. Because of how that lifetime inference works, it is not possible to give back immediate feedback as to whether a unification or subtype relationship between lifetimes holds or not. Therefore, lifetime -matching is *not* considered during selection. This is achieved by -having the skolemization process just replace *ALL* lifetimes with -`'static`. Later, during confirmation, the non-skolemized self-type -will be unified with the type from the impl (or whatever). This may -yield lifetime constraints that will later be found to be in error (in +matching is *not* considered during selection. This is reflected in +the fact that subregion assignment is infallible. This may yield +lifetime constraints that will later be found to be in error (in contrast, the non-lifetime-constraints have already been checked during selection and can never cause an error, though naturally they may lead to other errors downstream). diff --git a/src/librustc/middle/traits/mod.rs b/src/librustc/middle/traits/mod.rs index 88685101b3132..fb26742124557 100644 --- a/src/librustc/middle/traits/mod.rs +++ b/src/librustc/middle/traits/mod.rs @@ -17,6 +17,7 @@ use middle::subst; use middle::ty; use middle::typeck::infer::InferCtxt; use std::rc::Rc; +use std::slice::Items; use syntax::ast; use syntax::codemap::{Span, DUMMY_SP}; @@ -123,13 +124,6 @@ pub enum FulfillmentErrorCode { */ pub type SelectionResult = Result, SelectionError>; -#[deriving(PartialEq,Eq,Show)] -pub enum EvaluationResult { - EvaluatedToMatch, - EvaluatedToAmbiguity, - EvaluatedToUnmatch -} - /** * Given the successful resolution of an obligation, the `Vtable` * indicates where the vtable comes from. Note that while we call this @@ -186,7 +180,7 @@ pub enum Vtable { VtableParam(VtableParamData), /// Successful resolution for a builtin trait. - VtableBuiltin, + VtableBuiltin(VtableBuiltinData), } /** @@ -208,12 +202,17 @@ pub struct VtableImplData { pub nested: subst::VecPerParamSpace } +#[deriving(Show,Clone)] +pub struct VtableBuiltinData { + pub nested: subst::VecPerParamSpace +} + /** * A vtable provided as a parameter by the caller. For example, in a * function like `fn foo(...)`, if the `eq()` method is invoked * on an instance of `T`, the vtable would be of type `VtableParam`. */ -#[deriving(Clone)] +#[deriving(PartialEq,Eq,Clone)] pub struct VtableParamData { // In the above example, this would `Eq` pub bound: Rc, @@ -223,7 +222,7 @@ pub fn evaluate_obligation<'a,'tcx>(infcx: &InferCtxt<'a,'tcx>, param_env: &ty::ParameterEnvironment, obligation: &Obligation, typer: &Typer<'tcx>) - -> EvaluationResult + -> bool { /*! * Attempts to resolve the obligation given. Returns `None` if @@ -235,29 +234,6 @@ pub fn evaluate_obligation<'a,'tcx>(infcx: &InferCtxt<'a,'tcx>, selcx.evaluate_obligation(obligation) } -pub fn evaluate_impl<'a,'tcx>(infcx: &InferCtxt<'a,'tcx>, - param_env: &ty::ParameterEnvironment, - typer: &Typer<'tcx>, - cause: ObligationCause, - impl_def_id: ast::DefId, - self_ty: ty::t) - -> EvaluationResult -{ - /*! - * Tests whether the impl `impl_def_id` can be applied to the self - * type `self_ty`. This is similar to "selection", but simpler: - * - * - It does not take a full trait-ref as input, so it skips over - * the "confirmation" step which would reconcile output type - * parameters. - * - It returns an `EvaluationResult`, which is a tri-value return - * (yes/no/unknown). - */ - - let mut selcx = select::SelectionContext::new(infcx, param_env, typer); - selcx.evaluate_impl(impl_def_id, cause, self_ty) -} - pub fn select_inherent_impl<'a,'tcx>(infcx: &InferCtxt<'a,'tcx>, param_env: &ty::ParameterEnvironment, typer: &Typer<'tcx>, @@ -372,12 +348,21 @@ impl ObligationCause { } impl Vtable { + pub fn iter_nested(&self) -> Items { + match *self { + VtableImpl(ref i) => i.iter_nested(), + VtableUnboxedClosure(_) => (&[]).iter(), + VtableParam(_) => (&[]).iter(), + VtableBuiltin(ref i) => i.iter_nested(), + } + } + pub fn map_nested(&self, op: |&N| -> M) -> Vtable { match *self { VtableImpl(ref i) => VtableImpl(i.map_nested(op)), VtableUnboxedClosure(d) => VtableUnboxedClosure(d), VtableParam(ref p) => VtableParam((*p).clone()), - VtableBuiltin => VtableBuiltin, + VtableBuiltin(ref i) => VtableBuiltin(i.map_nested(op)), } } @@ -386,12 +371,16 @@ impl Vtable { VtableImpl(i) => VtableImpl(i.map_move_nested(op)), VtableUnboxedClosure(d) => VtableUnboxedClosure(d), VtableParam(p) => VtableParam(p), - VtableBuiltin => VtableBuiltin, + VtableBuiltin(i) => VtableBuiltin(i.map_move_nested(op)), } } } impl VtableImplData { + pub fn iter_nested(&self) -> Items { + self.nested.iter() + } + pub fn map_nested(&self, op: |&N| -> M) -> VtableImplData @@ -413,11 +402,23 @@ impl VtableImplData { } } -impl EvaluationResult { - pub fn potentially_applicable(&self) -> bool { - match *self { - EvaluatedToMatch | EvaluatedToAmbiguity => true, - EvaluatedToUnmatch => false +impl VtableBuiltinData { + pub fn iter_nested(&self) -> Items { + self.nested.iter() + } + + pub fn map_nested(&self, + op: |&N| -> M) + -> VtableBuiltinData + { + VtableBuiltinData { + nested: self.nested.map(op) + } + } + + pub fn map_move_nested(self, op: |N| -> M) -> VtableBuiltinData { + VtableBuiltinData { + nested: self.nested.map_move(op) } } } @@ -428,4 +429,12 @@ impl FulfillmentError { { FulfillmentError { obligation: obligation, code: code } } + + pub fn is_overflow(&self) -> bool { + match self.code { + CodeAmbiguity => false, + CodeSelectionError(Overflow) => true, + CodeSelectionError(_) => false, + } + } } diff --git a/src/librustc/middle/traits/select.rs b/src/librustc/middle/traits/select.rs index b86fabccf93de..64931b4943572 100644 --- a/src/librustc/middle/traits/select.rs +++ b/src/librustc/middle/traits/select.rs @@ -9,28 +9,29 @@ // except according to those terms. /*! See `doc.rs` for high-level documentation */ +#![allow(dead_code)] // FIXME -- just temporarily +use super::{ErrorReported}; use super::{Obligation, ObligationCause}; -use super::{EvaluationResult, EvaluatedToMatch, - EvaluatedToAmbiguity, EvaluatedToUnmatch}; use super::{SelectionError, Unimplemented, Overflow, OutputTypeParameterMismatch}; use super::{Selection}; use super::{SelectionResult}; use super::{VtableBuiltin, VtableImpl, VtableParam, VtableUnboxedClosure}; -use super::{VtableImplData, VtableParamData}; +use super::{VtableImplData, VtableParamData, VtableBuiltinData}; use super::{util}; use middle::mem_categorization::Typer; use middle::subst::{Subst, Substs, VecPerParamSpace}; use middle::ty; -use middle::ty_fold::TypeFoldable; use middle::typeck::check::regionmanip; use middle::typeck::infer; use middle::typeck::infer::{InferCtxt, TypeSkolemizer}; +use middle::ty_fold::TypeFoldable; use std::cell::RefCell; use std::collections::hashmap::HashMap; use std::rc::Rc; +use std::result; use syntax::ast; use util::ppaux::Repr; @@ -38,31 +39,28 @@ pub struct SelectionContext<'cx, 'tcx:'cx> { infcx: &'cx InferCtxt<'cx, 'tcx>, param_env: &'cx ty::ParameterEnvironment, typer: &'cx Typer<'tcx>+'cx, + + /// Skolemizer used specifically for skolemizing entries on the + /// obligation stack. This ensures that all entries on the stack + /// at one time will have the same set of skolemized entries, + /// which is important for checking for trait bounds that + /// recursively require themselves. skolemizer: TypeSkolemizer<'cx, 'tcx>, } // A stack that walks back up the stack frame. struct ObligationStack<'prev> { obligation: &'prev Obligation, - skol_obligation_self_ty: ty::t, - previous: Option<&'prev ObligationStack<'prev>> -} -pub struct SelectionCache { - hashmap: RefCell>>, -} + /// Trait ref from `obligation` but skolemized with the + /// selection-context's skolemizer. Used to check for recursion. + skol_trait_ref: Rc, -#[deriving(Hash,Eq,PartialEq)] -struct CacheKey { - trait_def_id: ast::DefId, - skol_obligation_self_ty: ty::t, + previous: Option<&'prev ObligationStack<'prev>> } -#[deriving(PartialEq,Eq)] -enum MatchResult { - Matched(T), - AmbiguousMatch, - NoMatch +pub struct SelectionCache { + hashmap: RefCell, SelectionResult>>, } /** @@ -91,21 +89,30 @@ enum MatchResult { * clauses can give additional information (like, the types of output * parameters) that would have to be inferred from the impl. */ -#[deriving(Clone)] +#[deriving(PartialEq,Eq,Show,Clone)] enum Candidate { - MatchedBuiltinCandidate, - AmbiguousBuiltinCandidate, - MatchedParamCandidate(VtableParamData), - AmbiguousParamCandidate, - Impl(ImplCandidate), - MatchedUnboxedClosureCandidate(/* closure */ ast::DefId), + BuiltinCandidate(ty::BuiltinBound), + ParamCandidate(VtableParamData), + ImplCandidate(ast::DefId), + UnboxedClosureCandidate(/* closure */ ast::DefId), ErrorCandidate, } -#[deriving(Clone)] -enum ImplCandidate { - MatchedImplCandidate(ast::DefId), - AmbiguousImplCandidate(ast::DefId), +struct CandidateSet { + vec: Vec, + ambiguous: bool +} + +enum BuiltinBoundConditions { + If(Vec), + ParameterBuiltin, + AmbiguousBuiltin +} + +enum EvaluationResult { + EvaluatedToOk, + EvaluatedToErr, + EvaluatedToAmbig, } impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { @@ -150,10 +157,10 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { debug!("select({})", obligation.repr(self.tcx())); - let stack = self.new_stack(obligation); + let stack = self.push_stack(None, obligation); match try!(self.candidate_from_obligation(&stack)) { None => Ok(None), - Some(candidate) => self.confirm_candidate(obligation, candidate), + Some(candidate) => Ok(Some(try!(self.confirm_candidate(obligation, candidate)))), } } @@ -167,22 +174,14 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { impl_def_id.repr(self.tcx()), obligation_self_ty.repr(self.tcx())); - match self.candidate_from_impl(impl_def_id, + match self.match_inherent_impl(impl_def_id, obligation_cause, obligation_self_ty) { - Some(MatchedImplCandidate(impl_def_id)) => { - let vtable_impl = - try!(self.confirm_inherent_impl_candidate( - impl_def_id, - obligation_cause, - obligation_self_ty, - 0)); + Ok(substs) => { + let vtable_impl = self.vtable_impl(impl_def_id, substs, obligation_cause, 0); Ok(Some(vtable_impl)) } - Some(AmbiguousImplCandidate(_)) => { - Ok(None) - } - None => { + Err(()) => { Err(Unimplemented) } } @@ -194,10 +193,13 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // Tests whether an obligation can be selected or whether an impl can be // applied to particular types. It skips the "confirmation" step and // hence completely ignores output type parameters. + // + // The result is "true" if the obliation *may* hold and "false" if + // we can be sure it does not. pub fn evaluate_obligation(&mut self, obligation: &Obligation) - -> EvaluationResult + -> bool { /*! * Evaluates whether the obligation `obligation` can be @@ -207,12 +209,8 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { debug!("evaluate_obligation({})", obligation.repr(self.tcx())); - let stack = self.new_stack(obligation); - match self.candidate_from_obligation(&stack) { - Ok(Some(c)) => c.to_evaluation_result(), - Ok(None) => EvaluatedToAmbiguity, - Err(_) => EvaluatedToUnmatch, - } + let stack = self.push_stack(None, obligation); + self.evaluate_stack(&stack).may_apply() } fn evaluate_builtin_bound_recursively(&mut self, @@ -228,22 +226,42 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { bound, previous_stack.obligation.recursion_depth + 1, ty); - let obligation = match obligation { - Ok(ob) => ob, - _ => return EvaluatedToMatch - }; - self.evaluate_obligation_recursively(previous_stack, &obligation) + match obligation { + Ok(obligation) => { + self.evaluate_obligation_recursively(Some(previous_stack), &obligation) + } + Err(ErrorReported) => { + EvaluatedToOk + } + } } fn evaluate_obligation_recursively(&mut self, - previous_stack: &ObligationStack, + previous_stack: Option<&ObligationStack>, obligation: &Obligation) -> EvaluationResult { debug!("evaluate_obligation_recursively({})", obligation.repr(self.tcx())); + let stack = self.push_stack(previous_stack.map(|x| x), obligation); + self.evaluate_stack(&stack) + } + + fn evaluate_stack(&mut self, + stack: &ObligationStack) + -> EvaluationResult + { + // Whenever any of the types are unbound, there can always be + // an impl. Even if there are no impls in this crate, perhaps + // the type would be unified with something from another crate + // that does provide an impl. + let input_types = &stack.skol_trait_ref.substs.types; + if input_types.iter().any(|&t| ty::type_is_skolemized(t)) { + return EvaluatedToAmbig; + } + // If there is any previous entry on the stack that precisely // matches this obligation, then we can assume that the // obligation is satisfied for now (still all other conditions @@ -256,30 +274,32 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // `Option>>` is `Send`, and in turn // `Option>>` is `Send` if `Box>` is // `Send`. + // + // Note that we do this comparison using the `skol_trait_ref` + // fields. Because these have all been skolemized using + // `self.skolemizer`, we can be sure that (a) this will not + // affect the inferencer state and (b) that if we see two + // skolemized types with the same index, they refer to the + // same unbound type variable. if - previous_stack.iter() - .filter(|e| e.obligation.trait_ref.def_id == obligation.trait_ref.def_id) - .find(|e| self.match_self_types(obligation.cause, - e.skol_obligation_self_ty, - obligation.self_ty()) == Matched(())) - .is_some() + stack.iter() + .skip(1) // skip top-most frame + .any(|prev| stack.skol_trait_ref == prev.skol_trait_ref) { - return EvaluatedToMatch; + return EvaluatedToOk; } - let stack = self.push_stack(previous_stack, obligation); - match self.candidate_from_obligation(&stack) { - Ok(Some(c)) => c.to_evaluation_result(), - Ok(None) => EvaluatedToAmbiguity, - Err(_) => EvaluatedToUnmatch, + match self.candidate_from_obligation(stack) { + Ok(Some(c)) => self.winnow_candidate(stack, &c), + Ok(None) => EvaluatedToAmbig, + Err(_) => EvaluatedToErr, } } pub fn evaluate_impl(&mut self, impl_def_id: ast::DefId, - obligation_cause: ObligationCause, - obligation_self_ty: ty::t) - -> EvaluationResult + obligation: &Obligation) + -> bool { /*! * Evaluates whether the impl with id `impl_def_id` could be @@ -287,16 +307,21 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { * used either for trait or inherent impls. */ - debug!("evaluate_impl(impl_def_id={}, obligation_self_ty={})", + debug!("evaluate_impl(impl_def_id={}, obligation={})", impl_def_id.repr(self.tcx()), - obligation_self_ty.repr(self.tcx())); + obligation.repr(self.tcx())); - match self.candidate_from_impl(impl_def_id, - obligation_cause, - obligation_self_ty) { - Some(c) => c.to_evaluation_result(), - None => EvaluatedToUnmatch, - } + self.infcx.probe(|| { + match self.match_impl(impl_def_id, obligation) { + Ok(substs) => { + let vtable_impl = self.vtable_impl(impl_def_id, substs, obligation.cause, 0); + self.winnow_selection(None, VtableImpl(vtable_impl)).may_apply() + } + Err(()) => { + false + } + } + }) } /////////////////////////////////////////////////////////////////////////// @@ -310,16 +335,30 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { stack: &ObligationStack) -> SelectionResult { - debug!("candidate_from_obligation({})", + // Watch out for overflow. This intentionally bypasses (and does + // not update) the cache. + let recursion_limit = self.infcx.tcx.sess.recursion_limit.get(); + if stack.obligation.recursion_depth >= recursion_limit { + debug!("{} --> overflow (limit={})", + stack.obligation.repr(self.tcx()), + recursion_limit); + return Err(Overflow) + } + + // Check the cache. Note that we skolemize the trait-ref + // separately rather than using `stack.skol_trait_ref` -- this + // is because we want the unbound variables to be replaced + // with fresh skolemized types starting from index 0. + let cache_skol_trait_ref = + self.infcx.skolemize(stack.obligation.trait_ref.clone()); + debug!("candidate_from_obligation(cache_skol_trait_ref={}, obligation={})", + cache_skol_trait_ref.repr(self.tcx()), stack.repr(self.tcx())); - // First, check the cache. - match self.check_candidate_cache(stack.obligation, stack.skol_obligation_self_ty) { + match self.check_candidate_cache(cache_skol_trait_ref.clone()) { Some(c) => { - debug!("check_candidate_cache(obligation={}, skol_obligation_self_ty={}, \ - candidate={})", - stack.obligation.trait_ref.def_id, - stack.skol_obligation_self_ty.repr(self.tcx()), + debug!("CACHE HIT: cache_skol_trait_ref={}, candidate={}", + cache_skol_trait_ref.repr(self.tcx()), c.repr(self.tcx())); return c; } @@ -327,29 +366,93 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { } // If no match, compute result and insert into cache. - let result = self.pick_candidate(stack); - self.insert_candidate_cache(stack.obligation, - stack.skol_obligation_self_ty, - result.clone()); - result + let candidate = self.candidate_from_obligation_no_cache(stack); + debug!("CACHE MISS: cache_skol_trait_ref={}, candidate={}", + cache_skol_trait_ref.repr(self.tcx()), candidate.repr(self.tcx())); + self.insert_candidate_cache(cache_skol_trait_ref, candidate.clone()); + candidate } - fn pick_candidate(&mut self, - stack: &ObligationStack) - -> SelectionResult + fn candidate_from_obligation_no_cache(&mut self, + stack: &ObligationStack) + -> SelectionResult { - if ty::type_is_error(stack.skol_obligation_self_ty) { + if ty::type_is_error(stack.obligation.self_ty()) { return Ok(Some(ErrorCandidate)); } - let mut candidates = try!(self.assemble_candidates(stack)); + let candidate_set = try!(self.assemble_candidates(stack)); + + if candidate_set.ambiguous { + debug!("candidate set contains ambig"); + return Ok(None); + } + + let mut candidates = candidate_set.vec; debug!("assembled {} candidates for {}", candidates.len(), stack.repr(self.tcx())); - // Examine candidates to determine outcome. Ideally we will - // have exactly one candidate that is definitively applicable. + // At this point, we know that each of the entries in the + // candidate set is *individually* applicable. Now we have to + // figure out if they contain mutual incompatibilities. This + // frequently arises if we have an unconstrained input type -- + // for example, we are looking for $0:Eq where $0 is some + // unconstrained type variable. In that case, we'll get a + // candidate which assumes $0 == int, one that assumes $0 == + // uint, etc. This spells an ambiguity. + + // If there is more than one candidate, first winnow them down + // by considering extra conditions (nested obligations and so + // forth). We don't winnow if there is exactly one + // candidate. This is a relatively minor distinction but it + // can lead to better inference and error-reporting. An + // example would be if there was an impl: + // + // impl Vec { fn push_clone(...) { ... } } + // + // and we were to see some code `foo.push_clone()` where `boo` + // is a `Vec` and `Bar` does not implement `Clone`. If + // we were to winnow, we'd wind up with zero candidates. + // Instead, we select the right impl now but report `Bar does + // not implement Clone`. + if candidates.len() > 1 { + candidates.retain(|c| self.winnow_candidate(stack, c).may_apply()) + } + + // If there are STILL multiple candidate, we can further reduce + // the list by dropping duplicates. + if candidates.len() > 1 { + let mut i = 0; + while i < candidates.len() { + let is_dup = + range(0, candidates.len()) + .filter(|&j| i != j) + .any(|j| self.candidate_should_be_dropped_in_favor_of(stack, + &candidates[i], + &candidates[j])); + if is_dup { + debug!("Dropping candidate #{}/#{}: {}", + i, candidates.len(), candidates[i].repr(self.tcx())); + candidates.swap_remove(i); + } else { + debug!("Retaining candidate #{}/#{}", + i, candidates.len()); + i += 1; + } + } + } + + // If there are *STILL* multiple candidates, give up and + // report ambiguiuty. + if candidates.len() > 1 { + debug!("multiple matches, ambig"); + return Ok(None); + } + // If there are *NO* candidates, that might mean either that + // there is no impl or just that we can't know anything for + // sure. if candidates.len() == 0 { // Annoying edge case: if there are no impls, then there // is no way that this trait reference is implemented, @@ -357,33 +460,33 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // it is possible that one of those unbound variables will // be bound to a new type from some other crate which will // also contain impls. - return if !self.contains_skolemized_types(stack.skol_obligation_self_ty) { + let skol_obligation_self_ty = self.infcx.skolemize(stack.obligation.self_ty()); + return if !self.contains_skolemized_types(skol_obligation_self_ty) { debug!("0 matches, unimpl"); Err(Unimplemented) } else { debug!("0 matches, ambig"); Ok(None) - } - } else if candidates.len() > 1 { - // Ambiguity. Possibly we should report back more - // information on the potential candidates so we can give - // a better error message. - debug!("multiple matches, ambig"); - Ok(None) - } else { - let candidate = candidates.pop().unwrap(); - Ok(Some(candidate)) + }; } + + // Just one candidate left. + let candidate = candidates.pop().unwrap(); + Ok(Some(candidate)) } fn pick_candidate_cache(&self, - _obligation: &Obligation, - skol_obligation_self_ty: ty::t) + cache_skol_trait_ref: &Rc) -> &SelectionCache { + // If the trait refers to any parameters in scope, then use + // the cache of the param-environment. This is because the + // result will depend on the where clauses that are in + // scope. Otherwise, use the generic tcx cache, since the + // result holds across all environments. if - ty::type_has_self(skol_obligation_self_ty) || - ty::type_has_params(skol_obligation_self_ty) + cache_skol_trait_ref.substs.types.iter().any( + |&t| ty::type_has_self(t) || ty::type_has_params(t)) { &self.param_env.selection_cache } else { @@ -392,95 +495,59 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { } fn check_candidate_cache(&mut self, - obligation: &Obligation, - skol_obligation_self_ty: ty::t) + cache_skol_trait_ref: Rc) -> Option> { - let cache = self.pick_candidate_cache(obligation, skol_obligation_self_ty); - let cache_key = CacheKey::new(obligation.trait_ref.def_id, - skol_obligation_self_ty); + let cache = self.pick_candidate_cache(&cache_skol_trait_ref); let hashmap = cache.hashmap.borrow(); - hashmap.find(&cache_key).map(|c| (*c).clone()) + hashmap.find(&cache_skol_trait_ref).map(|c| (*c).clone()) } fn insert_candidate_cache(&mut self, - obligation: &Obligation, - skol_obligation_self_ty: ty::t, + cache_skol_trait_ref: Rc, candidate: SelectionResult) { - debug!("insert_candidate_cache(obligation={}, skol_obligation_self_ty={}, candidate={})", - obligation.trait_ref.def_id, - skol_obligation_self_ty.repr(self.tcx()), - candidate.repr(self.tcx())); - - let cache = self.pick_candidate_cache(obligation, skol_obligation_self_ty); - let cache_key = CacheKey::new(obligation.trait_ref.def_id, - skol_obligation_self_ty); + let cache = self.pick_candidate_cache(&cache_skol_trait_ref); let mut hashmap = cache.hashmap.borrow_mut(); - hashmap.insert(cache_key, candidate); + hashmap.insert(cache_skol_trait_ref, candidate); } fn assemble_candidates(&mut self, stack: &ObligationStack) - -> Result, SelectionError> + -> Result { // Check for overflow. - let ObligationStack { obligation, skol_obligation_self_ty, .. } = *stack; + let ObligationStack { obligation, .. } = *stack; - let recursion_limit = self.infcx.tcx.sess.recursion_limit.get(); - if obligation.recursion_depth >= recursion_limit { - debug!("{} --> overflow", stack.obligation.repr(self.tcx())); - return Err(Overflow); - } - - let mut candidates = Vec::new(); + let mut candidates = CandidateSet { + vec: Vec::new(), + ambiguous: false + }; // Other bounds. Consider both in-scope bounds from fn decl // and applicable impls. There is a certain set of precedence rules here. - // Where clauses have highest precedence. - try!(self.assemble_candidates_from_caller_bounds( - obligation, - skol_obligation_self_ty, - &mut candidates)); - - // In the special case of builtin bounds, consider the "compiler-supplied" impls. - if candidates.len() == 0 { - match self.tcx().lang_items.to_builtin_kind(obligation.trait_ref.def_id) { - Some(bound) => { - try!(self.assemble_builtin_bound_candidates(bound, stack, &mut candidates)); - } - - None => { } + match self.tcx().lang_items.to_builtin_kind(obligation.trait_ref.def_id) { + Some(bound) => { + try!(self.assemble_builtin_bound_candidates(bound, stack, &mut candidates)); } - } - - // In the special case of fn traits and synthesized unboxed - // closure types, consider the compiler-supplied impls. Note - // that this is exclusive with the builtin bound case above. - if candidates.len() == 0 { - try!(self.assemble_unboxed_candidates( - obligation, - skol_obligation_self_ty, - &mut candidates)); - } - // Finally, consider the actual impls found in the program. - if candidates.len() == 0 { - try!(self.assemble_candidates_from_impls( - obligation, - skol_obligation_self_ty, - &mut candidates)); + None => { + // For the time being, we ignore user-defined impls for builtin-bounds. + // (And unboxed candidates only apply to the Fn/FnMut/etc traits.) + try!(self.assemble_unboxed_candidates(obligation, &mut candidates)); + try!(self.assemble_candidates_from_impls(obligation, &mut candidates)); + } } + try!(self.assemble_candidates_from_caller_bounds(obligation, &mut candidates)); Ok(candidates) } fn assemble_candidates_from_caller_bounds(&mut self, obligation: &Obligation, - skol_obligation_self_ty: ty::t, - candidates: &mut Vec) + candidates: &mut CandidateSet) -> Result<(),SelectionError> { /*! @@ -491,68 +558,63 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { * Never affects inference environment. */ - debug!("assemble_candidates_from_caller_bounds({}, {})", - obligation.repr(self.tcx()), - skol_obligation_self_ty.repr(self.tcx())); - - for caller_obligation in self.param_env.caller_obligations.iter() { - // Skip over obligations that don't apply to - // `self_ty`. - let caller_bound = &caller_obligation.trait_ref; - let caller_self_ty = caller_bound.substs.self_ty().unwrap(); - debug!("caller_obligation={}, caller_self_ty={}", - caller_obligation.repr(self.tcx()), - self.infcx.ty_to_string(caller_self_ty)); - match self.match_self_types(obligation.cause, - caller_self_ty, - skol_obligation_self_ty) { - AmbiguousMatch => { - debug!("-> AmbiguousMatch"); - candidates.push(AmbiguousParamCandidate); - return Ok(()); - } - NoMatch => { - debug!("-> NoMatch"); - continue; - } - Matched(()) => { } - } + debug!("assemble_candidates_from_caller_bounds({})", + obligation.repr(self.tcx())); - // Search through the trait (and its supertraits) to - // see if it matches the def-id we are looking for. - let caller_bound = (*caller_bound).clone(); - for bound in util::transitive_bounds(self.tcx(), &[caller_bound]) { - debug!("-> check bound={}", bound.repr(self.tcx())); - if bound.def_id == obligation.trait_ref.def_id { - // If so, we're done! - debug!("-> MatchedParamCandidate({})", bound.repr(self.tcx())); - let vtable_param = VtableParamData { bound: bound }; - candidates.push(MatchedParamCandidate(vtable_param)); - return Ok(()); - } - } - } + let caller_trait_refs: Vec> = + self.param_env.caller_obligations.iter() + .map(|o| o.trait_ref.clone()) + .collect(); + + let all_bounds = + util::transitive_bounds( + self.tcx(), caller_trait_refs.as_slice()); + + let matching_bounds = + all_bounds.filter( + |bound| self.infcx.probe( + || self.match_trait_refs(obligation, + (*bound).clone())).is_ok()); + + let param_candidates = + matching_bounds.map( + |bound| ParamCandidate(VtableParamData { bound: bound })); + + candidates.vec.extend(param_candidates); Ok(()) } fn assemble_unboxed_candidates(&mut self, obligation: &Obligation, - skol_obligation_self_ty: ty::t, - candidates: &mut Vec) + candidates: &mut CandidateSet) -> Result<(),SelectionError> { /*! * Check for the artificial impl that the compiler will create * for an obligation like `X : FnMut<..>` where `X` is an * unboxed closure type. + * + * Note: the type parameters on an unboxed closure candidate + * are modeled as *output* type parameters and hence do not + * affect whether this trait is a match or not. They will be + * unified during the confirmation step. */ - let closure_def_id = match ty::get(skol_obligation_self_ty).sty { + let self_ty = self.infcx.shallow_resolve(obligation.self_ty()); + let closure_def_id = match ty::get(self_ty).sty { ty::ty_unboxed_closure(id, _) => id, + ty::ty_infer(ty::TyVar(_)) => { + candidates.ambiguous = true; + return Ok(()); + } _ => { return Ok(()); } }; + debug!("assemble_unboxed_candidates: self_ty={} obligation={}", + self_ty.repr(self.tcx()), + obligation.repr(self.tcx())); + let tcx = self.tcx(); let fn_traits = [ (ty::FnUnboxedClosureKind, tcx.lang_items.fn_trait()), @@ -584,7 +646,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { continue; } - candidates.push(MatchedUnboxedClosureCandidate(closure_def_id)); + candidates.vec.push(UnboxedClosureCandidate(closure_def_id)); } Ok(()) @@ -592,8 +654,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { fn assemble_candidates_from_impls(&mut self, obligation: &Obligation, - skol_obligation_self_ty: ty::t, - candidates: &mut Vec) + candidates: &mut CandidateSet) -> Result<(), SelectionError> { /*! @@ -603,39 +664,106 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { let all_impls = self.all_impls(obligation.trait_ref.def_id); for &impl_def_id in all_impls.iter() { self.infcx.probe(|| { - match self.candidate_from_impl(impl_def_id, - obligation.cause, - skol_obligation_self_ty) { - Some(c) => { - candidates.push(Impl(c)); + match self.match_impl(impl_def_id, obligation) { + Ok(_) => { + candidates.vec.push(ImplCandidate(impl_def_id)); } - - None => { } + Err(()) => { } } }); } Ok(()) } - fn candidate_from_impl(&mut self, - impl_def_id: ast::DefId, - obligation_cause: ObligationCause, - skol_obligation_self_ty: ty::t) - -> Option + /////////////////////////////////////////////////////////////////////////// + // WINNOW + // + // Winnowing is the process of attempting to resolve ambiguity by + // probing further. During the winnowing process, we unify all + // type variables (ignoring skolemization) and then we also + // attempt to evaluate recursive bounds to see if they are + // satisfied. + + fn winnow_candidate(&mut self, + stack: &ObligationStack, + candidate: &Candidate) + -> EvaluationResult { - match self.match_impl_self_types(impl_def_id, - obligation_cause, - skol_obligation_self_ty) { - Matched(_) => { - Some(MatchedImplCandidate(impl_def_id)) + /*! + * Further evaluate `candidate` to decide whether all type parameters match + * and whether nested obligations are met. Returns true if `candidate` remains + * viable after this further scrutiny. + */ + + debug!("winnow_candidate: candidate={}", candidate.repr(self.tcx())); + self.infcx.probe(|| { + let candidate = (*candidate).clone(); + match self.confirm_candidate(stack.obligation, candidate) { + Ok(selection) => self.winnow_selection(Some(stack), selection), + Err(_) => EvaluatedToErr, } + }) + } - AmbiguousMatch => { - Some(AmbiguousImplCandidate(impl_def_id)) + fn winnow_selection(&mut self, + stack: Option<&ObligationStack>, + selection: Selection) + -> EvaluationResult + { + let mut result = EvaluatedToOk; + for obligation in selection.iter_nested() { + match self.evaluate_obligation_recursively(stack, obligation) { + EvaluatedToErr => { return EvaluatedToErr; } + EvaluatedToAmbig => { result = EvaluatedToAmbig; } + EvaluatedToOk => { } } + } + result + } - NoMatch => { - None + fn candidate_should_be_dropped_in_favor_of(&mut self, + stack: &ObligationStack, + candidate_i: &Candidate, + candidate_j: &Candidate) + -> bool + { + /*! + * Returns true if `candidate_i` should be dropped in favor of `candidate_j`. + * This is generally true if either: + * - candidate i and candidate j are equivalent; or, + * - candidate i is a where clause bound and candidate j is a concrete impl, + * and the concrete impl is applicable to the types in the where clause bound. + * + * The last case basically occurs with blanket impls like + * `impl Foo for T`. In that case, a bound like `T:Foo` is + * kind of an "false" ambiguity -- both are applicable to any + * type, but in fact coherence requires that the bound will + * always be resolved to the impl anyway. + */ + + match (candidate_i, candidate_j) { + (&ParamCandidate(ref vt), &ImplCandidate(impl_def_id)) => { + debug!("Considering whether to drop param {} in favor of impl {}", + candidate_i.repr(self.tcx()), + candidate_j.repr(self.tcx())); + + self.infcx.probe(|| { + let impl_substs = + self.rematch_impl(impl_def_id, stack.obligation); + let impl_trait_ref = + ty::impl_trait_ref(self.tcx(), impl_def_id).unwrap(); + let impl_trait_ref = + impl_trait_ref.subst(self.tcx(), &impl_substs); + let origin = + infer::RelateOutputImplTypes(stack.obligation.cause.span); + self.infcx + .sub_trait_refs(false, origin, + impl_trait_ref, vt.bound.clone()) + .is_ok() + }) + } + _ => { + *candidate_i == *candidate_j } } } @@ -652,80 +780,68 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { fn assemble_builtin_bound_candidates(&mut self, bound: ty::BuiltinBound, stack: &ObligationStack, - candidates: &mut Vec) + candidates: &mut CandidateSet) -> Result<(),SelectionError> { - // Copy -- owned, dtor, managed, marker, &mut -- only INTERIOR? - // Sized -- str, [T], Trait -- but only INTERIOR - // Send -- managed data, nonsend annot, borrowed data -- REACHABILITY - // Sync -- non-sync marker trait -- REACHABILITY - - // Ideally, we'd only have to examine the immediate fields. - // But think this through carefully I guess. - - enum WhenOk<'a> { - Always, - Unknown, - Never, - If(ty::t), - IfAll(&'a [ty::t]), - IfTrue(bool) - } - - let ok = |this: &mut SelectionContext, w: WhenOk| { - let r = match w { - Always => EvaluatedToMatch, - Unknown => EvaluatedToAmbiguity, - Never => EvaluatedToUnmatch, - IfTrue(true) => EvaluatedToMatch, - IfTrue(false) => EvaluatedToUnmatch, - If(ty) => this.evaluate_builtin_bound_recursively(bound, stack, ty), - IfAll(tys) => { - let mut result = EvaluatedToMatch; - for &ty in tys.iter() { - match this.evaluate_builtin_bound_recursively(bound, stack, ty) { - EvaluatedToMatch => { } - EvaluatedToAmbiguity => { - result = EvaluatedToAmbiguity; - } - EvaluatedToUnmatch => { - result = EvaluatedToUnmatch; - break; - } - } - } - result + // FIXME -- To be more like a normal impl, we should just + // ignore the nested cases here, and instead generate nested + // obligations in `confirm_candidate`. However, this doesn't + // work because we require handling the recursive cases to + // avoid infinite cycles (that is, with recursive types, + // sometimes `Foo : Copy` only holds if `Foo : Copy`). + + match self.builtin_bound(bound, stack.obligation.self_ty()) { + Ok(If(nested)) => { + debug!("builtin_bound: bound={} nested={}", + bound.repr(self.tcx()), + nested.repr(self.tcx())); + let data = self.vtable_builtin_data(stack.obligation, bound, nested); + match self.winnow_selection(Some(stack), VtableBuiltin(data)) { + EvaluatedToOk => { Ok(candidates.vec.push(BuiltinCandidate(bound))) } + EvaluatedToAmbig => { Ok(candidates.ambiguous = true) } + EvaluatedToErr => { Err(Unimplemented) } } - }; - - match r { - EvaluatedToMatch => Ok(candidates.push(MatchedBuiltinCandidate)), - EvaluatedToAmbiguity => Ok(candidates.push(AmbiguousBuiltinCandidate)), - EvaluatedToUnmatch => Err(Unimplemented) } - }; + Ok(ParameterBuiltin) => { Ok(()) } + Ok(AmbiguousBuiltin) => { Ok(candidates.ambiguous = true) } + Err(e) => { Err(e) } + } + } - return match ty::get(stack.skol_obligation_self_ty).sty { - ty::ty_uint(_) | ty::ty_int(_) | ty::ty_infer(ty::SkolemizedIntTy(_)) | - ty::ty_nil | ty::ty_bot | ty::ty_bool | ty::ty_float(_) | - ty::ty_bare_fn(_) | ty::ty_char => { + fn builtin_bound(&mut self, + bound: ty::BuiltinBound, + self_ty: ty::t) + -> Result + { + let self_ty = self.infcx.shallow_resolve(self_ty); + return match ty::get(self_ty).sty { + ty::ty_infer(ty::IntVar(_)) | + ty::ty_infer(ty::FloatVar(_)) | + ty::ty_uint(_) | + ty::ty_int(_) | + ty::ty_nil | + ty::ty_bot | + ty::ty_bool | + ty::ty_float(_) | + ty::ty_bare_fn(_) | + ty::ty_char => { // safe for everything - ok(self, Always) + Ok(If(Vec::new())) } ty::ty_uniq(referent_ty) => { // Box match bound { ty::BoundCopy => { - ok(self, Never) + Err(Unimplemented) } ty::BoundSized => { - ok(self, Always) + Ok(If(Vec::new())) } ty::BoundSync | ty::BoundSend => { - ok(self, If(referent_ty)) + Ok(If(vec![referent_ty])) } } } @@ -734,12 +850,12 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { match bound { ty::BoundCopy | ty::BoundSized => { - ok(self, Always) + Ok(If(Vec::new())) } ty::BoundSync | ty::BoundSend => { - ok(self, If(referent_ty)) + Ok(If(vec![referent_ty])) } } } @@ -750,16 +866,20 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // proc: Equivalent to `Box` match bound { ty::BoundCopy => { - ok(self, Never) + Err(Unimplemented) } ty::BoundSized => { - ok(self, Always) + Ok(If(Vec::new())) } ty::BoundSync | ty::BoundSend => { - ok(self, IfTrue(c.bounds.builtin_bounds.contains_elem(bound))) + if c.bounds.builtin_bounds.contains_elem(bound) { + Ok(If(Vec::new())) + } else { + Err(Unimplemented) + } } } } @@ -767,19 +887,23 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // ||: Equivalent to `&FnMut` or `&mut FnMut` or something like that. match bound { ty::BoundCopy => { - ok(self, match mutbl { - ast::MutMutable => Never, // &mut T is affine - ast::MutImmutable => Always, // &T is copyable - }) + match mutbl { + ast::MutMutable => Err(Unimplemented), // &mut T is affine + ast::MutImmutable => Ok(If(Vec::new())), // &T is copyable + } } ty::BoundSized => { - ok(self, Always) + Ok(If(Vec::new())) } ty::BoundSync | ty::BoundSend => { - ok(self, IfTrue(c.bounds.builtin_bounds.contains_elem(bound))) + if c.bounds.builtin_bounds.contains_elem(bound) { + Ok(If(Vec::new())) + } else { + Err(Unimplemented) + } } } } @@ -789,10 +913,14 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { ty::ty_trait(box ty::TyTrait { bounds, .. }) => { match bound { ty::BoundSized => { - ok(self, Never) + Err(Unimplemented) } ty::BoundCopy | ty::BoundSync | ty::BoundSend => { - ok(self, IfTrue(bounds.builtin_bounds.contains_elem(bound))) + if bounds.builtin_bounds.contains_elem(bound) { + Ok(If(Vec::new())) + } else { + Err(Unimplemented) + } } } } @@ -801,14 +929,17 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // &mut T or &T match bound { ty::BoundCopy => { - ok(self, match mutbl { - ast::MutMutable => Never, // &mut T is affine and hence never `Copy` - ast::MutImmutable => Always, // &T is copyable - }) + match mutbl { + // &mut T is affine and hence never `Copy` + ast::MutMutable => Err(Unimplemented), + + // &T is always copyable + ast::MutImmutable => Ok(If(Vec::new())), + } } ty::BoundSized => { - ok(self, Always) + Ok(If(Vec::new())) } ty::BoundSync | @@ -829,7 +960,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // we haven't finished running inference -- in // other words, there's a kind of // chicken-and-egg problem. - ok(self, If(referent_ty)) + Ok(If(vec![referent_ty])) } } } @@ -839,18 +970,22 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { match bound { ty::BoundCopy => { match *len { - Some(_) => ok(self, If(element_ty)), // [T, ..n] is copy iff T is copy - None => ok(self, Never), // [T] is unsized and hence affine + Some(_) => Ok(If(vec![element_ty])), // [T, ..n] is copy iff T is copy + None => Err(Unimplemented), // [T] is unsized and hence affine } } ty::BoundSized => { - ok(self, IfTrue(len.is_some())) + if len.is_some() { + Ok(If(Vec::new())) + } else { + Err(Unimplemented) + } } ty::BoundSync | ty::BoundSend => { - ok(self, If(element_ty)) + Ok(If(vec![element_ty])) } } } @@ -860,19 +995,19 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { match bound { ty::BoundSync | ty::BoundSend => { - ok(self, Always) + Ok(If(Vec::new())) } ty::BoundCopy | ty::BoundSized => { - ok(self, Never) + Err(Unimplemented) } } } ty::ty_tup(ref tys) => { // (T1, ..., Tn) -- meets any bound that all of T1...Tn meet - ok(self, IfAll(tys.as_slice())) + Ok(If(tys.to_owned())) } ty::ty_unboxed_closure(def_id, _) => { @@ -885,18 +1020,11 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // captures are by value. Really what we ought to do // is reserve judgement and then intertwine this // analysis with closure inference. - // - // FIXME -- this is wrong with respect to - // skolemization. We want to skolemize the types of - // the variables, but to do THAT we need the ability - // to "start" the skolemization numbering from a - // higher point. Perhaps this just means creating a - // single skolemizer and then using it again here? assert_eq!(def_id.krate, ast::LOCAL_CRATE); match self.tcx().freevars.borrow().find(&def_id.node) { None => { // No upvars. - ok(self, Always) + Ok(If(Vec::new())) } Some(freevars) => { @@ -905,12 +1033,11 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { .iter() .map(|freevar| { let freevar_def_id = freevar.def.def_id(); - let freevar_ty = self.typer.node_ty(freevar_def_id.node) - .unwrap_or(ty::mk_err()); - freevar_ty.fold_with(&mut self.skolemizer) + self.typer.node_ty(freevar_def_id.node) + .unwrap_or(ty::mk_err()) }) .collect(); - ok(self, IfAll(tys.as_slice())) + Ok(If(tys)) } } } @@ -921,7 +1048,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { .iter() .map(|f| f.mt.ty) .collect(); - nominal(self, bound, def_id, types, ok) + nominal(self, bound, def_id, types) } ty::ty_enum(def_id, ref substs) => { @@ -931,7 +1058,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { .flat_map(|variant| variant.args.iter()) .map(|&ty| ty) .collect(); - nominal(self, bound, def_id, types, ok) + nominal(self, bound, def_id, types) } ty::ty_param(_) => { @@ -939,36 +1066,35 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // particular bound if there is a where clause telling // us that it does, and that case is handled by // `assemble_candidates_from_caller_bounds()`. - ok(self, Never) + Ok(ParameterBuiltin) } - ty::ty_infer(ty::SkolemizedTy(_)) => { - // Skolemized types represent unbound type - // variables. They might or might not have applicable - // impls and so forth, depending on what those type - // variables wind up being bound to. - ok(self, Unknown) + ty::ty_infer(ty::TyVar(_)) => { + // Unbound type variable. Might or might not have + // applicable impls and so forth, depending on what + // those type variables wind up being bound to. + Ok(AmbiguousBuiltin) } - ty::ty_open(_) | - ty::ty_infer(ty::TyVar(_)) | - ty::ty_infer(ty::IntVar(_)) | - ty::ty_infer(ty::FloatVar(_)) | ty::ty_err => { - self.tcx().sess.span_bug( - stack.obligation.cause.span, + Ok(If(Vec::new())) + } + + ty::ty_open(_) | + ty::ty_infer(ty::SkolemizedTy(_)) | + ty::ty_infer(ty::SkolemizedIntTy(_)) => { + self.tcx().sess.bug( format!( - "asked to compute contents of unexpected type: {}", - stack.skol_obligation_self_ty.repr(self.tcx())).as_slice()); + "asked to assemble builtin bounds of unexpected type: {}", + self_ty.repr(self.tcx())).as_slice()); } }; fn nominal(this: &mut SelectionContext, bound: ty::BuiltinBound, def_id: ast::DefId, - types: Vec, - ok: |&mut SelectionContext, WhenOk| -> Result<(),SelectionError>) - -> Result<(),SelectionError> + types: Vec) + -> Result { // First check for markers and other nonsense. let tcx = this.tcx(); @@ -978,7 +1104,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { Some(def_id) == tcx.lang_items.no_send_bound() || Some(def_id) == tcx.lang_items.managed_bound() { - return ok(this, Never); + return Err(Unimplemented); } } @@ -988,7 +1114,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { Some(def_id) == tcx.lang_items.managed_bound() || ty::has_dtor(tcx, def_id) { - return ok(this, Never); + return Err(Unimplemented); } } @@ -997,21 +1123,21 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { Some(def_id) == tcx.lang_items.no_sync_bound() || Some(def_id) == tcx.lang_items.managed_bound() { - return ok(this, Never); + return Err(Unimplemented); } else if Some(def_id) == tcx.lang_items.unsafe_type() { // FIXME(#13231) -- we currently consider `UnsafeCell` // to always be sync. This is allow for types like `Queue` // and `Mutex`, where `Queue : Sync` is `T : Send`. - return ok(this, Always); + return Ok(If(Vec::new())); } } ty::BoundSized => { } } - ok(this, IfAll(types.as_slice())) + Ok(If(types)) } } @@ -1025,38 +1151,33 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { fn confirm_candidate(&mut self, obligation: &Obligation, candidate: Candidate) - -> SelectionResult + -> Result { debug!("confirm_candidate({}, {})", obligation.repr(self.tcx()), candidate.repr(self.tcx())); match candidate { - AmbiguousBuiltinCandidate | - AmbiguousParamCandidate | - Impl(AmbiguousImplCandidate(_)) => { - Ok(None) - } - - ErrorCandidate | - MatchedBuiltinCandidate => { - Ok(Some(VtableBuiltin)) + // FIXME -- see assemble_builtin_bound_candidates() + BuiltinCandidate(_) | + ErrorCandidate => { + Ok(VtableBuiltin(VtableBuiltinData { nested: VecPerParamSpace::empty() })) } - MatchedParamCandidate(param) => { - Ok(Some(VtableParam( - try!(self.confirm_param_candidate(obligation, param))))) + ParamCandidate(param) => { + Ok(VtableParam( + try!(self.confirm_param_candidate(obligation, param)))) } - Impl(MatchedImplCandidate(impl_def_id)) => { - let vtable_impl = try!(self.confirm_impl_candidate(obligation, - impl_def_id)); - Ok(Some(VtableImpl(vtable_impl))) + ImplCandidate(impl_def_id) => { + let vtable_impl = + try!(self.confirm_impl_candidate(obligation, impl_def_id)); + Ok(VtableImpl(vtable_impl)) } - MatchedUnboxedClosureCandidate(closure_def_id) => { + UnboxedClosureCandidate(closure_def_id) => { try!(self.confirm_unboxed_closure_candidate(obligation, closure_def_id)); - Ok(Some(VtableUnboxedClosure(closure_def_id))) + Ok(VtableUnboxedClosure(closure_def_id)) } } } @@ -1076,6 +1197,52 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { Ok(param) } + fn confirm_builtin_candidate(&mut self, + obligation: &Obligation, + bound: ty::BuiltinBound) + -> Result,SelectionError> + { + debug!("confirm_builtin_candidate({})", + obligation.repr(self.tcx())); + + match try!(self.builtin_bound(bound, obligation.self_ty())) { + If(nested) => Ok(self.vtable_builtin_data(obligation, bound, nested)), + AmbiguousBuiltin | + ParameterBuiltin => { + self.tcx().sess.span_bug( + obligation.cause.span, + format!("builtin bound for {} was ambig", + obligation.repr(self.tcx())).as_slice()); + } + } + } + + fn vtable_builtin_data(&mut self, + obligation: &Obligation, + bound: ty::BuiltinBound, + nested: Vec) + -> VtableBuiltinData + { + let obligations = + result::collect( + nested + .iter() + .map(|&t| { + util::obligation_for_builtin_bound( + self.tcx(), + obligation.cause, + bound, + obligation.recursion_depth + 1, + t) + })); + let obligations = match obligations { + Ok(o) => o, + Err(ErrorReported) => Vec::new() + }; + let obligations = VecPerParamSpace::new(obligations, Vec::new(), Vec::new()); + VtableBuiltinData { nested: obligations } + } + fn confirm_impl_candidate(&mut self, obligation: &Obligation, impl_def_id: ast::DefId) @@ -1085,55 +1252,27 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { obligation.repr(self.tcx()), impl_def_id.repr(self.tcx())); - // For a non-inhernet impl, we begin the same way as an - // inherent impl, by matching the self-type and assembling - // list of nested obligations. - let vtable_impl = - try!(self.confirm_inherent_impl_candidate( - impl_def_id, - obligation.cause, - obligation.trait_ref.self_ty(), - obligation.recursion_depth)); - - // But then we must also match the output types. - let () = try!(self.confirm_impl_vtable(impl_def_id, - obligation.cause, - obligation.trait_ref.clone(), - &vtable_impl.substs)); - Ok(vtable_impl) + // First, create the substitutions by matching the impl again, + // this time not in a probe. + let substs = self.rematch_impl(impl_def_id, obligation); + Ok(self.vtable_impl(impl_def_id, substs, obligation.cause, obligation.recursion_depth + 1)) } - fn confirm_inherent_impl_candidate(&mut self, - impl_def_id: ast::DefId, - obligation_cause: ObligationCause, - obligation_self_ty: ty::t, - obligation_recursion_depth: uint) - -> Result, - SelectionError> + fn vtable_impl(&mut self, + impl_def_id: ast::DefId, + substs: Substs, + cause: ObligationCause, + recursion_depth: uint) + -> VtableImplData { - let substs = match self.match_impl_self_types(impl_def_id, - obligation_cause, - obligation_self_ty) { - Matched(substs) => substs, - AmbiguousMatch | NoMatch => { - self.tcx().sess.bug( - format!("Impl {} was matchable against {} but now is not", - impl_def_id.repr(self.tcx()), - obligation_self_ty.repr(self.tcx())) - .as_slice()); - } - }; - let impl_obligations = - self.impl_obligations(obligation_cause, - obligation_recursion_depth, + self.impl_obligations(cause, + recursion_depth, impl_def_id, &substs); - let vtable_impl = VtableImplData { impl_def_id: impl_def_id, - substs: substs, - nested: impl_obligations }; - - Ok(vtable_impl) + VtableImplData { impl_def_id: impl_def_id, + substs: substs, + nested: impl_obligations } } fn confirm_unboxed_closure_candidate(&mut self, @@ -1189,11 +1328,65 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // run inside of a `probe()` so that their side-effects are // contained. - fn match_impl_self_types(&mut self, - impl_def_id: ast::DefId, - obligation_cause: ObligationCause, - obligation_self_ty: ty::t) - -> MatchResult + fn rematch_impl(&mut self, + impl_def_id: ast::DefId, + obligation: &Obligation) + -> Substs + { + match self.match_impl(impl_def_id, obligation) { + Ok(substs) => { + substs + } + Err(()) => { + self.tcx().sess.bug( + format!("Impl {} was matchable against {} but now is not", + impl_def_id.repr(self.tcx()), + obligation.repr(self.tcx())) + .as_slice()); + } + } + } + + fn match_impl(&mut self, + impl_def_id: ast::DefId, + obligation: &Obligation) + -> Result + { + let impl_substs = util::fresh_substs_for_impl(self.infcx, + obligation.cause.span, + impl_def_id); + + let impl_trait_ref = ty::impl_trait_ref(self.tcx(), + impl_def_id).unwrap(); + let impl_trait_ref = impl_trait_ref.subst(self.tcx(), + &impl_substs); + + match self.match_trait_refs(obligation, impl_trait_ref) { + Ok(()) => Ok(impl_substs), + Err(()) => Err(()) + } + } + + fn match_trait_refs(&mut self, + obligation: &Obligation, + trait_ref: Rc) + -> Result<(),()> + { + let origin = infer::RelateOutputImplTypes(obligation.cause.span); + match self.infcx.sub_trait_refs(false, + origin, + trait_ref, + obligation.trait_ref.clone()) { + Ok(()) => Ok(()), + Err(_) => Err(()), + } + } + + fn match_inherent_impl(&mut self, + impl_def_id: ast::DefId, + obligation_cause: ObligationCause, + obligation_self_ty: ty::t) + -> Result { /*! * Determines whether the self type declared against @@ -1226,17 +1419,13 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { match self.match_self_types(obligation_cause, impl_self_ty, obligation_self_ty) { - Matched(()) => { + Ok(()) => { debug!("Matched impl_substs={}", impl_substs.repr(self.tcx())); - Matched(impl_substs) + Ok(impl_substs) } - AmbiguousMatch => { - debug!("AmbiguousMatch"); - AmbiguousMatch - } - NoMatch => { + Err(()) => { debug!("NoMatch"); - NoMatch + Err(()) } } } @@ -1249,7 +1438,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // The self type the obligation is for: required_self_ty: ty::t) - -> MatchResult<()> + -> Result<(),()> { // FIXME(#5781) -- equating the types is stronger than // necessary. Should consider variance of trait w/r/t Self. @@ -1259,21 +1448,8 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { origin, provided_self_ty, required_self_ty) { - Ok(()) => Matched(()), - Err(ty::terr_sorts(ty::expected_found{expected: t1, found: t2})) => { - // This error occurs when there is an unresolved type - // variable in the `required_self_ty` that was forced - // to unify with a non-type-variable. That basically - // means we don't know enough to say with certainty - // whether there is a match or not -- it depends on - // how that type variable is ultimately resolved. - if ty::type_is_skolemized(t1) || ty::type_is_skolemized(t2) { - AmbiguousMatch - } else { - NoMatch - } - } - Err(_) => NoMatch, + Ok(()) => Ok(()), + Err(_) => Err(()), } } @@ -1363,29 +1539,17 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { /////////////////////////////////////////////////////////////////////////// // Miscellany - fn new_stack<'o>(&mut self, obligation: &'o Obligation) -> ObligationStack<'o> { - let skol_obligation_self_ty = - obligation.self_ty().fold_with(&mut self.skolemizer); - - ObligationStack { - obligation: obligation, - skol_obligation_self_ty: skol_obligation_self_ty, - previous: None - } - } - - fn push_stack<'o>(&self, - previous_stack: &'o ObligationStack<'o>, - obligation: &'o Obligation) - -> ObligationStack<'o> + fn push_stack<'o,'s:'o>(&mut self, + previous_stack: Option<&'s ObligationStack<'s>>, + obligation: &'o Obligation) + -> ObligationStack<'o> { - // No need to skolemize obligation.self_ty, because we - // guarantee the self-type for all recursive obligations are - // already skolemized. + let skol_trait_ref = obligation.trait_ref.fold_with(&mut self.skolemizer); + ObligationStack { obligation: obligation, - skol_obligation_self_ty: obligation.self_ty(), - previous: Some(previous_stack) + skol_trait_ref: skol_trait_ref, + previous: previous_stack.map(|p| p), // FIXME variance } } @@ -1436,57 +1600,14 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { } } -impl Candidate { - fn to_evaluation_result(&self) -> EvaluationResult { - match *self { - Impl(ref i) => i.to_evaluation_result(), - - ErrorCandidate | - MatchedUnboxedClosureCandidate(..) | - MatchedBuiltinCandidate | - MatchedParamCandidate(..) => { - EvaluatedToMatch - } - - AmbiguousBuiltinCandidate | - AmbiguousParamCandidate => { - EvaluatedToAmbiguity - } - } - } -} - -impl ImplCandidate { - fn to_evaluation_result(&self) -> EvaluationResult { - match *self { - MatchedImplCandidate(..) => EvaluatedToMatch, - AmbiguousImplCandidate(..) => EvaluatedToAmbiguity - } - } -} - impl Repr for Candidate { fn repr(&self, tcx: &ty::ctxt) -> String { match *self { ErrorCandidate => format!("ErrorCandidate"), - MatchedBuiltinCandidate => format!("MatchedBuiltinCandidate"), - AmbiguousBuiltinCandidate => format!("AmbiguousBuiltinCandidate"), - MatchedUnboxedClosureCandidate(c) => format!("MatchedUnboxedClosureCandidate({})", c), - MatchedParamCandidate(ref r) => format!("MatchedParamCandidate({})", - r.repr(tcx)), - AmbiguousParamCandidate => format!("AmbiguousParamCandidate"), - Impl(ref i) => i.repr(tcx) - } - } -} - -impl Repr for ImplCandidate { - fn repr(&self, tcx: &ty::ctxt) -> String { - match *self { - MatchedImplCandidate(ref d) => format!("MatchedImplCandidate({})", - d.repr(tcx)), - AmbiguousImplCandidate(ref d) => format!("AmbiguousImplCandidate({})", - d.repr(tcx)), + BuiltinCandidate(b) => format!("BuiltinCandidate({})", b), + UnboxedClosureCandidate(c) => format!("MatchedUnboxedClosureCandidate({})", c), + ParamCandidate(ref a) => format!("ParamCandidate({})", a.repr(tcx)), + ImplCandidate(a) => format!("ImplCandidate({})", a.repr(tcx)), } } } @@ -1521,20 +1642,16 @@ impl<'o> Iterator<&'o ObligationStack<'o>> for Option<&'o ObligationStack<'o>> { impl<'o> Repr for ObligationStack<'o> { fn repr(&self, tcx: &ty::ctxt) -> String { - format!("ObligationStack({}, {})", - self.obligation.repr(tcx), - self.skol_obligation_self_ty.repr(tcx)) + format!("ObligationStack({})", + self.obligation.repr(tcx)) } } -impl CacheKey { - pub fn new(trait_def_id: ast::DefId, - skol_obligation_self_ty: ty::t) - -> CacheKey - { - CacheKey { - trait_def_id: trait_def_id, - skol_obligation_self_ty: skol_obligation_self_ty +impl EvaluationResult { + fn may_apply(&self) -> bool { + match *self { + EvaluatedToOk | EvaluatedToAmbig => true, + EvaluatedToErr => false, } } } diff --git a/src/librustc/middle/traits/util.rs b/src/librustc/middle/traits/util.rs index ab5bbf4363f31..31266ff199fa8 100644 --- a/src/librustc/middle/traits/util.rs +++ b/src/librustc/middle/traits/util.rs @@ -319,8 +319,8 @@ impl Repr for super::Vtable { super::VtableParam(ref v) => format!("VtableParam({})", v.repr(tcx)), - super::VtableBuiltin => - format!("Builtin"), + super::VtableBuiltin(ref d) => + d.repr(tcx) } } } @@ -334,6 +334,13 @@ impl Repr for super::VtableImplData { } } +impl Repr for super::VtableBuiltinData { + fn repr(&self, tcx: &ty::ctxt) -> String { + format!("VtableBuiltin(nested={})", + self.nested.repr(tcx)) + } +} + impl Repr for super::VtableParamData { fn repr(&self, tcx: &ty::ctxt) -> String { format!("VtableParam(bound={})", @@ -344,12 +351,12 @@ impl Repr for super::VtableParamData { impl Repr for super::SelectionError { fn repr(&self, tcx: &ty::ctxt) -> String { match *self { - super::Unimplemented => - format!("Unimplemented"), - super::Overflow => format!("Overflow"), + super::Unimplemented => + format!("Unimplemented"), + super::OutputTypeParameterMismatch(ref t, ref e) => format!("OutputTypeParameterMismatch({}, {})", t.repr(tcx), diff --git a/src/librustc/middle/trans/common.rs b/src/librustc/middle/trans/common.rs index 7daee22e61461..9c1fcaa9ce823 100644 --- a/src/librustc/middle/trans/common.rs +++ b/src/librustc/middle/trans/common.rs @@ -800,10 +800,18 @@ pub fn fulfill_obligation(ccx: &CrateContext, let selection = match selcx.select(&obligation) { Ok(Some(selection)) => selection, Ok(None) => { - tcx.sess.span_bug( + // Ambiguity can happen when monomorphizing during trans + // expands to some humongo type that never occurred + // statically -- this humongo type can then overflow, + // leading to an ambiguous result. So report this as an + // overflow bug, since I believe this is the only case + // where ambiguity can result. + debug!("Encountered ambiguity selecting `{}` during trans, \ + presuming due to overflow", + trait_ref.repr(tcx)); + ccx.sess().span_fatal( span, - format!("Encountered ambiguity selecting `{}` during trans", - trait_ref.repr(tcx)).as_slice()) + "reached the recursion limit during monomorphization"); } Err(e) => { tcx.sess.span_bug( @@ -826,12 +834,19 @@ pub fn fulfill_obligation(ccx: &CrateContext, }); match fulfill_cx.select_all_or_error(&infcx, ¶m_env, tcx) { Ok(()) => { } - Err(e) => { - tcx.sess.span_bug( - span, - format!("Encountered errors `{}` fulfilling `{}` during trans", - e.repr(tcx), - trait_ref.repr(tcx)).as_slice()); + Err(errors) => { + if errors.iter().all(|e| e.is_overflow()) { + // See Ok(None) case above. + ccx.sess().span_fatal( + span, + "reached the recursion limit during monomorphization"); + } else { + tcx.sess.span_bug( + span, + format!("Encountered errors `{}` fulfilling `{}` during trans", + errors.repr(tcx), + trait_ref.repr(tcx)).as_slice()); + } } } diff --git a/src/librustc/middle/trans/debuginfo.rs b/src/librustc/middle/trans/debuginfo.rs index a2b7cb159d9dc..9112a25093240 100644 --- a/src/librustc/middle/trans/debuginfo.rs +++ b/src/librustc/middle/trans/debuginfo.rs @@ -247,7 +247,7 @@ static FLAGS_NONE: c_uint = 0; // Public Interface of debuginfo module //=----------------------------------------------------------------------------- -#[deriving(Copy, Show, Hash, Eq, PartialEq, Clone)] +#[deriving(Show, Hash, Eq, PartialEq, Clone)] struct UniqueTypeId(ast::Name); // The TypeMap is where the CrateDebugContext holds the type metadata nodes diff --git a/src/librustc/middle/trans/meth.rs b/src/librustc/middle/trans/meth.rs index 85c43f3f28114..eb53fe2d67314 100644 --- a/src/librustc/middle/trans/meth.rs +++ b/src/librustc/middle/trans/meth.rs @@ -561,7 +561,7 @@ pub fn get_vtable(bcx: Block, DUMMY_SP, trait_ref.clone()); match vtable { - traits::VtableBuiltin => { + traits::VtableBuiltin(_) => { Vec::new().into_iter() } traits::VtableImpl( diff --git a/src/librustc/middle/ty_fold.rs b/src/librustc/middle/ty_fold.rs index 9dda4d15350a3..e94764b0d0032 100644 --- a/src/librustc/middle/ty_fold.rs +++ b/src/librustc/middle/ty_fold.rs @@ -390,13 +390,21 @@ impl TypeFoldable for traits::VtableImplData { } } +impl TypeFoldable for traits::VtableBuiltinData { + fn fold_with<'tcx, F:TypeFolder<'tcx>>(&self, folder: &mut F) -> traits::VtableBuiltinData { + traits::VtableBuiltinData { + nested: self.nested.fold_with(folder), + } + } +} + impl TypeFoldable for traits::Vtable { fn fold_with<'tcx, F:TypeFolder<'tcx>>(&self, folder: &mut F) -> traits::Vtable { match *self { traits::VtableImpl(ref v) => traits::VtableImpl(v.fold_with(folder)), traits::VtableUnboxedClosure(d) => traits::VtableUnboxedClosure(d), traits::VtableParam(ref p) => traits::VtableParam(p.fold_with(folder)), - traits::VtableBuiltin => traits::VtableBuiltin, + traits::VtableBuiltin(ref d) => traits::VtableBuiltin(d.fold_with(folder)), } } } diff --git a/src/librustc/middle/typeck/check/vtable2.rs b/src/librustc/middle/typeck/check/vtable2.rs index 1d765c6c7c6c2..546ad86bc3675 100644 --- a/src/librustc/middle/typeck/check/vtable2.rs +++ b/src/librustc/middle/typeck/check/vtable2.rs @@ -10,8 +10,7 @@ use middle::subst::{SelfSpace}; use middle::traits; -use middle::traits::{SelectionError, Overflow, - OutputTypeParameterMismatch, Unimplemented}; +use middle::traits::{SelectionError, OutputTypeParameterMismatch, Overflow, Unimplemented}; use middle::traits::{Obligation, obligation_for_builtin_bound}; use middle::traits::{FulfillmentError, CodeSelectionError, CodeAmbiguity}; use middle::traits::{ObligationCause}; @@ -233,6 +232,16 @@ pub fn report_selection_error(fcx: &FnCtxt, error: &SelectionError) { match *error { + Overflow => { + let (trait_ref, self_ty) = resolve_trait_ref(fcx, obligation); + fcx.tcx().sess.span_err( + obligation.cause.span, + format!( + "overflow evaluating the trait `{}` for the type `{}`", + trait_ref.user_string(fcx.tcx()), + self_ty.user_string(fcx.tcx())).as_slice()); + note_obligation_cause(fcx, obligation); + } Unimplemented => { let (trait_ref, self_ty) = resolve_trait_ref(fcx, obligation); if !ty::type_is_error(self_ty) { @@ -245,9 +254,6 @@ pub fn report_selection_error(fcx: &FnCtxt, note_obligation_cause(fcx, obligation); } } - Overflow => { - report_overflow(fcx, obligation); - } OutputTypeParameterMismatch(ref expected_trait_ref, ref e) => { let expected_trait_ref = fcx.infcx().resolve_type_vars_in_trait_ref_if_possible( @@ -269,21 +275,6 @@ pub fn report_selection_error(fcx: &FnCtxt, } } -pub fn report_overflow(fcx: &FnCtxt, obligation: &Obligation) { - let (trait_ref, self_ty) = resolve_trait_ref(fcx, obligation); - if ty::type_is_error(self_ty) { - fcx.tcx().sess.span_err( - obligation.cause.span, - format!( - "could not locate an impl of the trait `{}` for \ - the type `{}` due to overflow; possible cyclic \ - dependency between impls", - trait_ref.user_string(fcx.tcx()), - self_ty.user_string(fcx.tcx())).as_slice()); - note_obligation_cause(fcx, obligation); - } -} - pub fn maybe_report_ambiguity(fcx: &FnCtxt, obligation: &Obligation) { // Unable to successfully determine, probably means // insufficient type information, but could mean @@ -294,8 +285,9 @@ pub fn maybe_report_ambiguity(fcx: &FnCtxt, obligation: &Obligation) { trait_ref.repr(fcx.tcx()), self_ty.repr(fcx.tcx()), obligation.repr(fcx.tcx())); - if ty::type_is_error(self_ty) { - } else if ty::type_needs_infer(self_ty) { + let all_types = &trait_ref.substs.types; + if all_types.iter().any(|&t| ty::type_is_error(t)) { + } else if all_types.iter().any(|&t| ty::type_needs_infer(t)) { // This is kind of a hack: it frequently happens that some earlier // error prevents types from being fully inferred, and then we get // a bunch of uninteresting errors saying something like " InferCtxt<'a, 'tcx> { + pub fn skolemize(&self, t: T) -> T { + t.fold_with(&mut self.skolemizer()) + } + pub fn skolemizer<'a>(&'a self) -> TypeSkolemizer<'a, 'tcx> { skolemize::TypeSkolemizer::new(self) } @@ -630,11 +634,13 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> { -> ures { debug!("sub_types({} <: {})", a.repr(self.tcx), b.repr(self.tcx)); - let trace = TypeTrace { - origin: origin, - values: Types(expected_found(a_is_expected, a, b)) - }; - self.sub(a_is_expected, trace).tys(a, b).to_ures() + self.commit_if_ok(|| { + let trace = TypeTrace { + origin: origin, + values: Types(expected_found(a_is_expected, a, b)) + }; + self.sub(a_is_expected, trace).tys(a, b).to_ures() + }) } pub fn eq_types(&self, @@ -644,11 +650,13 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> { b: ty::t) -> ures { - let trace = TypeTrace { - origin: origin, - values: Types(expected_found(a_is_expected, a, b)) - }; - self.equate(a_is_expected, trace).tys(a, b).to_ures() + self.commit_if_ok(|| { + let trace = TypeTrace { + origin: origin, + values: Types(expected_found(a_is_expected, a, b)) + }; + self.equate(a_is_expected, trace).tys(a, b).to_ures() + }) } pub fn sub_trait_refs(&self, @@ -661,13 +669,14 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> { debug!("sub_trait_refs({} <: {})", a.repr(self.tcx), b.repr(self.tcx)); - let trace = TypeTrace { - origin: origin, - values: TraitRefs(expected_found(a_is_expected, - a.clone(), b.clone())) - }; - let suber = self.sub(a_is_expected, trace); - suber.trait_refs(&*a, &*b).to_ures() + self.commit_if_ok(|| { + let trace = TypeTrace { + origin: origin, + values: TraitRefs(expected_found(a_is_expected, + a.clone(), b.clone())) + }; + self.sub(a_is_expected, trace).trait_refs(&*a, &*b).to_ures() + }) } } @@ -789,6 +798,30 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> { } } + pub fn shallow_resolve(&self, typ: ty::t) -> ty::t { + match ty::get(typ).sty { + ty::ty_infer(ty::TyVar(v)) => { + self.type_variables.borrow() + .probe(v) + .unwrap_or(typ) + } + + ty::ty_infer(ty::IntVar(v)) => { + self.probe_var(v) + .unwrap_or(typ) + } + + ty::ty_infer(ty::FloatVar(v)) => { + self.probe_var(v) + .unwrap_or(typ) + } + + _ => { + typ + } + } + } + pub fn resolve_type_vars_if_possible(&self, typ: ty::t) -> ty::t { match resolve_type(self, None, diff --git a/src/librustc/middle/typeck/infer/skolemize.rs b/src/librustc/middle/typeck/infer/skolemize.rs index 54ece395be94c..1b3290c8b5af8 100644 --- a/src/librustc/middle/typeck/infer/skolemize.rs +++ b/src/librustc/middle/typeck/infer/skolemize.rs @@ -12,17 +12,18 @@ * Skolemization is the process of replacing unknown variables with * fresh types. The idea is that the type, after skolemization, * contains no inference variables but instead contains either a value - * for each variable (if the variable had already fresh "arbitrary" - * types wherever a variable would have been. + * for each variable or fresh "arbitrary" types wherever a variable + * would have been. * - * Skolemization is used wherever we want to test what the type - * inferencer knows "so far". The primary place it is used right now - * is in the trait matching algorithm, which needs to be able to test - * whether an `impl` self type matches some other type X -- *without* - * affecting `X`. That means if that if the type `X` is in fact an - * unbound type variable, we want the match to be regarded as - * ambiguous, because depending on what type that type variable is - * ultimately assigned, the match may or may not succeed. + * Skolemization is used primarily to get a good type for inserting + * into a cache. The result summarizes what the type inferencer knows + * "so far". The primary place it is used right now is in the trait + * matching algorithm, which needs to be able to cache whether an + * `impl` self type matches some other type X -- *without* affecting + * `X`. That means if that if the type `X` is in fact an unbound type + * variable, we want the match to be regarded as ambiguous, because + * depending on what type that type variable is ultimately assigned, + * the match may or may not succeed. * * Note that you should be careful not to allow the output of * skolemization to leak to the user in error messages or in any other @@ -43,39 +44,45 @@ use middle::ty; use middle::ty_fold; use middle::ty_fold::TypeFoldable; use middle::ty_fold::TypeFolder; +use std::collections::hashmap; use super::InferCtxt; use super::unify::InferCtxtMethodsForSimplyUnifiableTypes; -use super::unify::SimplyUnifiable; -use super::unify::UnifyKey; pub struct TypeSkolemizer<'a, 'tcx:'a> { infcx: &'a InferCtxt<'a, 'tcx>, - skolemization_count: uint + skolemization_count: uint, + skolemization_map: hashmap::HashMap, } impl<'a, 'tcx> TypeSkolemizer<'a, 'tcx> { pub fn new<'tcx>(infcx: &'a InferCtxt<'a, 'tcx>) -> TypeSkolemizer<'a, 'tcx> { - TypeSkolemizer { infcx: infcx, skolemization_count: 0 } - } - - fn probe_ty(&mut self, v: ty::TyVid) -> ty::t { - self.skolemize_if_none(self.infcx.type_variables.borrow().probe(v), ty::SkolemizedTy) + TypeSkolemizer { + infcx: infcx, + skolemization_count: 0, + skolemization_map: hashmap::HashMap::new(), + } } - fn probe_unifiable>>(&mut self, k: K) -> ty::t { - self.skolemize_if_none(self.infcx.probe_var(k), ty::SkolemizedIntTy) - } + fn skolemize(&mut self, + opt_ty: Option, + key: ty::InferTy, + skolemizer: |uint| -> ty::InferTy) + -> ty::t + { + match opt_ty { + Some(ty) => { return ty.fold_with(self); } + None => { } + } - fn skolemize_if_none(&mut self, o: Option, - skolemizer: |uint| -> ty::InferTy) - -> ty::t { - match o { - Some(t) => t.fold_with(self), - None => { + match self.skolemization_map.entry(key) { + hashmap::Occupied(entry) => *entry.get(), + hashmap::Vacant(entry) => { let index = self.skolemization_count; self.skolemization_count += 1; - ty::mk_infer(self.tcx(), skolemizer(index)) + let t = ty::mk_infer(self.infcx.tcx, skolemizer(index)); + entry.set(t); + t } } } @@ -108,15 +115,21 @@ impl<'a, 'tcx> TypeFolder<'tcx> for TypeSkolemizer<'a, 'tcx> { fn fold_ty(&mut self, t: ty::t) -> ty::t { match ty::get(t).sty { ty::ty_infer(ty::TyVar(v)) => { - self.probe_ty(v) + self.skolemize(self.infcx.type_variables.borrow().probe(v), + ty::TyVar(v), + ty::SkolemizedTy) } ty::ty_infer(ty::IntVar(v)) => { - self.probe_unifiable(v) + self.skolemize(self.infcx.probe_var(v), + ty::IntVar(v), + ty::SkolemizedIntTy) } ty::ty_infer(ty::FloatVar(v)) => { - self.probe_unifiable(v) + self.skolemize(self.infcx.probe_var(v), + ty::FloatVar(v), + ty::SkolemizedIntTy) } ty::ty_infer(ty::SkolemizedTy(c)) | diff --git a/src/test/compile-fail/coherence-blanket-conflicts-with-specific-multidispatch.rs b/src/test/compile-fail/coherence-blanket-conflicts-with-specific-multidispatch.rs new file mode 100644 index 0000000000000..578de06b74780 --- /dev/null +++ b/src/test/compile-fail/coherence-blanket-conflicts-with-specific-multidispatch.rs @@ -0,0 +1,36 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use std::fmt::Show; +use std::default::Default; + +// Test that a blank impl for all T conflicts with an impl for some +// specific T, even when there are multiple type parameters involved. + +trait MyTrait { + fn get(&self) -> T; +} + +impl MyTrait for T { //~ ERROR E0119 + fn get(&self) -> T { + fail!() + } +} + +#[deriving(Clone)] +struct MyType { + dummy: uint +} + +impl MyTrait for MyType { + fn get(&self) -> uint { (*self).clone() } +} + +fn main() { } diff --git a/src/test/compile-fail/coherence-blanket-conflicts-with-specific-trait.rs b/src/test/compile-fail/coherence-blanket-conflicts-with-specific-trait.rs new file mode 100644 index 0000000000000..9db322a5517fb --- /dev/null +++ b/src/test/compile-fail/coherence-blanket-conflicts-with-specific-trait.rs @@ -0,0 +1,38 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that a blank impl for all T:PartialEq conflicts with an impl for some +// specific T when T:PartialEq. + +trait OtherTrait { + fn noop(&self); +} + +trait MyTrait { + fn get(&self) -> uint; +} + +impl MyTrait for T { //~ ERROR E0119 + fn get(&self) -> uint { 0 } +} + +struct MyType { + dummy: uint +} + +impl MyTrait for MyType { + fn get(&self) -> uint { self.dummy } +} + +impl OtherTrait for MyType { + fn noop(&self) { } +} + +fn main() { } diff --git a/src/test/compile-fail/coherence-blanket-conflicts-with-specific.rs b/src/test/compile-fail/coherence-blanket-conflicts-with-specific.rs new file mode 100644 index 0000000000000..936025385bb5e --- /dev/null +++ b/src/test/compile-fail/coherence-blanket-conflicts-with-specific.rs @@ -0,0 +1,33 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use std::fmt::Show; +use std::default::Default; + +// Test that a blank impl for all T conflicts with an impl for some +// specific T. + +trait MyTrait { + fn get(&self) -> uint; +} + +impl MyTrait for T { //~ ERROR E0119 + fn get(&self) -> uint { 0 } +} + +struct MyType { + dummy: uint +} + +impl MyTrait for MyType { + fn get(&self) -> uint { self.dummy } +} + +fn main() { } diff --git a/src/test/compile-fail/conflicting-implementations-aux.rs b/src/test/compile-fail/coherence-cross-crate-conflict.rs similarity index 100% rename from src/test/compile-fail/conflicting-implementations-aux.rs rename to src/test/compile-fail/coherence-cross-crate-conflict.rs diff --git a/src/test/compile-fail/coherence-multidispatch-tuple b/src/test/compile-fail/coherence-multidispatch-tuple new file mode 100755 index 0000000000000000000000000000000000000000..279de3d02559af722214b2e371302f397e2e8f5e GIT binary patch literal 976455 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 AJ>el5w_*qBt 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
PpH& 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

S7)#*eSW>p!vU3))()OfEf3A>+gAUkdKQZAp5L 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
6F*y%5pqBWW^5aigym+FCl|>)QUML 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

}~R^)v-DDpuR^Dhh^ z%9zMUQM`v5=i?~eUOoDERYfZQh~mvuzfYo=_f|iRV&13yEQ-5G_IVWFp&ES=#eY@e zmr=~0**8YPtL)!I@eKL0GKvpWzHf!pAm6D*a`*cv?xcSBA&Pet z`BB%;)DQoR;(=|_hzeaI)y%eT8V1%YgB3Za&0F5RpnimiJw;X>of7A%C|TZ zpQYycOC~;FEq_BM-at10nu!b45;tbzO{8*DCg$$`&B`a)Et&XIk-AJ=D`U52;=byR z+cI${Ww<>PFI2I2Wa1L_%AJ|Gg=9-I@iubeu1w6I)8DODlIA^`_<70h&BXkL`+b>s zcUANLO#G(E1DW`0`SM^UzFtG)Ar&N2pNaXO`iC=d54HRwnYg2>xik~=mj{n#;=4p1 z%fx)kepx0yLJj%2dQ-l9nu!mW&CfFNv9kGjCcaRbUu5EaW$epLytmq{Q9UN|RVF@4 z8NOD7XvTe$iQCAtm6`Z5k#95c`*PyDO#FsQ|6Vc~`ymspQ`BPky7W+dkXmR;Mf|b6 znpzPrl!Yms;yXpAc8Z@9nbs-(SY&#qxK!#>y2Nedz|=0XEz~W(MU8PzxA<2%FtuCU zUJW&^TijA!P45<;F3lO;;vwp^ncd=zRnQsT;@6~dX1AE9bkFJ*Z>LI~Efux;lYu6IFW5PwyUYs_avG#*b+rOzj!(p@y2)GhU?ZQ+mZCWo%0CxVf5bN@ZM* zmCd8IdS%9JA-lFe&y3v~Pi=pmITF6e_UD;D!@K=?W*ofRpJ$GOcl-0q(eQ46o*57C z_UD-i@NR#eseyO<^UN{uT}sEOEi=c$caI7ei)40z>J{vMj}i)Nm6zeu$d7$yx?yp+nuWB%S;^ZGrXT<=pi@S_gA}TCc+ZddtF_fnb=1#v(NhU zSICAmGpWN7N*dUKWh~lY4@%ibyY*5!prrIACAPZ?y{T2FY2+!;EQHL$Gh}i-D{QJ+ zAK{9cM#-6d*86~Rr=yMx$$wM4wrD45(a2%Z-v}RA=7}D%RuH%ym?-*LI;YOB~++z?xM*R z$3>aDo-iqNp`IX8sK!!VIMikDSKe)Sy-+y;5>a0Px(tO=jnrZIu>Z2K8UAx2%4u4WqVp5JndqQ zx{QoE5sEr~>q~2|G4kba9dCBJ>$BfF?tE@b!(^Vtt#Ys00n-YZg;V6W^XyqXl1&mhvCNqMz(Y4^tUA=e<`9`a8eYovtIh1*s0xN%0;MYlk zFH<0g9~AgXQsA~(1-|v$0(bV}U9$^p&A@wW;MyAYUfeX?NNvye)G}|~Cy(Zd>pH?~ z9qf!yAtnOH%xzbxg){Fl$*X^3s}5Udm;z>>mwx-9YRt@g%v?Kg-Arpp<~ z`2e5XeFtj%OFzj9=2ms@j#s~IB~&=~?#Vi4uhS4jXr~CpQ4fstAh9QxSu$NSIMU$D zS~n?cqSQKn;giqzT~MmEq$gh#$ZVRy#b~k{kXkq`WEOH@ziA7fyq!SQ>pfbrGIO-} z3NP5(scTfW(G=b6(5*~^l{hn^_o(qlpl@iOO+uEve3m{|-M$$zs=j@!zI`)I6}Adi z)?urErq&m@e^THH%GdiymC)Zj%8b|~t>a1d_)R<26g_~r!RFaoY~w>H(QEy8nUNGcjgc5aJG0< z1FfWMrr(Zg@{%7}p*d^rZxKkNtF;oEv$ph`0sfU_rfZhcfR~YMpFxX>)!(xA8;8-y zNo1n<#P*tNEoUbIeyR)O(nwRzIVU#1XY;1m?tC5%FMrK70yk4h`nSPmB;!j%qxi6iGqiN6?9QtHp%g}DsS zj0+$ICvPSr%{t17!o98$TU2_3;?jo{H9wtbSE3yhMa}L(Yy4AUi%OR(UW?>!v^mXl z;SzP@qGm^s=aye3Dk|kmCZ(MfrS&Z*QPk|%O{IA(-_R;5?Wfqv*q1yOnWi~+38mqo z6c3WT#g4j)KeT8v|Fzum(qT%TiZ4;iYt_<4({Z)5=VGRN%N6SPqB*2jwj89I6rGQqfi3rkzYu<#mM_51TdzRJOHs2A$$Zl1 z%3M_XjpEXEl%D0fwN{hsYuDnODYe>LSu?$xrMiPwd5YbTdqit^^P5eFLO!%*JB%9%S>XFnQ_MbR%dC`;Q( zbdux@%JjXH&s38z%-m?qy`Yx5Jm*GgxDe+?aZ#ziUY0u&i%ZXvuO;IZ`9Vp|vIb>w z)}TB}qUO_x_EnTUD2v^oB-xtTG;P2n>XtEkP!?wm%9Ot4B+4F?#cohiM&3b*9bF*I zGbr&T3`)#|K}oLF4NB5iHz-LDgAzMoP{QXOl*MZpl;*k(%3?Ptm#n7|(GQzpI55x& znS~AF%4{_Cqb=B5yOG%6jl?=X68mGdaPH#C<$GyZWwyjx!Q7+DJ68w|WC9k<9bW!9 zC2i$oW6Qq=4RYv+@;f&c+S;M&c&7gX_B`1kl-uMOLBkfz-LL%5WF6_0ch`lyr@+^N zf1K)e_BG^E$SmBYFjV0>KOxqw(GmQ0bbGar(r_2D%V6i?9fwN_e^UBr@{BJN_qCPmzxQ^eh&i0E1EON*j)6_;iPwwK|> zny*aN^leK%pgae=VIt3fYwu?RAUT;?g@6m$JWT&IE7H{;E0qo2ZaoNzwRM z#1@ynp?EElf7RwRX@DkmlX|&XTYNU|xLrx{EYjVq zEj|}BZdXz~hjcea>Ummr(p}lPE5Qf=Mloc`y-;o73xObpU8Nm zA8C8R5m+mnJ7;oy>?obO?d$v+yY4+yXg^xLVD6vd8u_t5C1}pCdj(z`;9Xw#UC@CJ zRjvE=V4*)bn|DtxKgYZIXW1c8pBh)6;dC2p>w1d1GBeZF=m@8&8u8e$tI?G?ZFi;f z(YM`|-Vs;3tEin0>D}UUb#TO0=UP{tqoQ^GfzuBl9p#HXPi;oXEPN{|_5oMyP}hzR z_&U0R9;6^!(XAODawXMGZZnB191mfHE^w{-u=lw90$BjA2a9oiH!Vc2#Xj{d=G^%VcNlGU9P~M^YqYsG z`oa}Zn69e z@vc3lu*P(It8vD|>UNb>uE0apd5KO9iXy(dQkv7)}xFE@z=zw+sEvQhz^`TbhN_j&vs23lx`1kvo_rrM7yzWxb^Ia><%a zS5&}BWYI`=nJSgV-d!dvEoi=xviBW^&S+g%DBfZp*sDn05+@5dzbHQ0*k-x`TvBmA zsVytSc6}W74pKLL5%zhtOi87&e%a zf$l92!rJBrDxP81duO%N(9FZxCLt?rY#s%B?*X9e6`>CI+QOjI^qUD#~) ze6giv17xe&xu}$vT}AqNe^+|DvTe}6_+|<(>kfYjeD|^w(Z7sASy|SA{#8@O4^)%$ z&Py|@Ucmmfbg%7%OGy*oS6d@D!YGDZdL zUrTS9Z+Z9^`SJ%=qi;Ehq5}4>&5wP;^trHaWqd^*i%ip;#~0>DMhK(1sltg=6~VtmaQ_)Z{$cPDq~4&eltFlwmxdq_^5dueOVqAJfTj`Ot@d5 z;5qeirpCs9sa(#SYJ+}nQcpAXbry-!jlC6xDX?v-GH1P^RjzEHiq4$PJ?^ONtF6SJ zgBRsx6G)#0zfRd*8akQT--vHrHiVMT{Z)LsvWH1Ouer=rl-0n`f$v^cMd5SNuPl3# z^z*UPuk2RxUI0I!Y?6k1=0f;^W&cFyBKSdN9Y~)CzfIZE*tr;fyQp9&U_S4_$oE@$ zuA}T*s&gCVL}ktJ_jdTAveEE&Y%JB%vL~>2C;pa~U61|}d~8=1!QX{WMcJk3+)du@ zWuqwO9{65mtFUt~I+bPXkbWQhz^LH=A@4olqbk#gS5!2L3Klea4R(zetoNtB-{+Y* zXE!W*)$9NLect;&%APs%)Ons~o|!W^g{tq!jhFr%0EMK2*ISboqt&@#2mv zwgZ*-Q{r*QcBAr})E*=DmjNihMS7XBSCE{y6TuFyy`7Bo&O-1^&PKgUZT$u1j_IgY zI!+~E$2y4DIyQrw-tkM6T^(-+rdx@*0^k(&fBItpi1l^{>Mxr?C8unvO2K1B@c^u= zgcOGWJP~&f>6h{e7^bMEx)3!{SM&pUq{{s$>Kah0(dq%F=OHPUnZ+q7r@?nAYNC2O z5%Dy!BbSw^iPWl8m44m9j5_^zJam>shDjm}lQzOrE<*!ORL|DaXl;$(YYKGg?@APp zzJ)q<8L9PDo%({9AFI=tBqiz~#rHY-6@d7nt|k+o%MZPy?ja3|^wR*Lb1T%}QxA{@ zGgPXx2gM;M)1}s5106cC4jC%xfFZYYIp!E$x#^h9b>bJeZYrfAOinwoirrOG5%Yyk zY})SXN-(2$xU{=So4#tqepUUKSxsf z@g(UaZdSIGHr0_f*~G3)Wj{ioyaINeEBgnZ^174&c8W@9XmOVkz=p`DV%V(^^&aw7 z`cg7zE=yS_rOa@o>;YP*2T6}yDQ0x1SV179W_LNiWT~Q#QwbA-yu5ud-j?KL15A(x z$cNy)B$$FO)gZ5(!-9X7f{S1ny43o?mTk;)*qAh1?=+q$&ShpaUGMZI<(MLldRo)! zl#Z~&Gj$1C)avvOX<97d-&b`yjT%xc;cZpI)6=E>72)agr2WlKZz6`&^EmLex;XE8 zN-i^*7;(^L(NgTpm8hgAHTzpqZI*-O4Mk& zlCeeNU{RbehCeLf#TgGuFjV2IE2tk6`GoYOB$Kv;q`sm)Dp3zgRP^3RI}TovDvlPN z>J=GN*`oWt%AJa4+rq1R*{fu0;nvsKt@JwLxsP3gWRNlPDq*E|jrmwM zCLdw@DyeE}r$NQd61Oc%=&RO$6=SPwYLsmBx{sH2;*}{uq1S!5OoXwiQ76#r_Ae6( zM`)CA^t$F{Lg5H)CBvUv)~TBh5-p9Asb1H#tP>|kOQYnd)hV4gJ=%|E=aMBQgiZQU z*fvq*MQIOVP{J0?#oqDMN1`>FC%`%vdlyo3Vl*04^t$h>yy+CVu^NS=Ubm~-yMXZH zc?ah2BZ@?3L02)!wP3jZeb2U+Db@b)^gmudntV zCVpL|_O;dCM@gG*@_BW&_fE22ciUQ^C;T3gepPk1P4t|j*Q^ym=j&Z73fs{kr17HP=s zRg{J9l8P;_R(zLUCwS8916?l?&jgbEqU3o;mG>BG-X7b$Ro+5s&Px)0bCs7<=*t>) zaU|?2C1c2qf@=%&L@MEJ&?sGmA8ooA<~NY!p}AlLO_D6UP4cUqOG#}aakF^rzwQ>n zXq;@aT7NqbJ8`0%rBj)60nck@=_1;Y3wpBYc*a4wpi4QnNN4MfKu6#Aaz~xR{IT}z zNH3*9Ylyb((QtUf|_!H%~&xLhqeW#W3jy=elB#U7hbtq@2JixVuO4v6S_9Y z$C;uf0ojs#Ho``o6sIM!jDhQg#&*8$v4PC~9HYZ2)bkq91nHEXS5p`H`hL_z=q(Cf z_i%ZrjS8KtbSZTh@J)5K4_K$-gH|q%{DzAgivadg^ikI-@^Cx z0HKRTiqKsndMVZ>t_8B&Y`~{^KRzO8;aqGLQIIHBrVomqLSF-8PkE8-r6F=HK9b{S2oYg5E{Z*TDltZEK?N#BFY$rzR4RTbt$qf| zbgA``Ou;}<2uV|gq+%gynvjH1sTnhSmofr&G}V`TfqHkgF!hmN4r&N7buPrTU-g%( z`eKpjw-)#H;3ARSDxkyeYrs%$5E$G(xdULBWJ3>u^^m0^I*RXlW;PMot41&4!Hnpi zg(~-$!{}+&gDnpP!t!<(LU9Y~X{Gl$|m%vw4auP#>q?il2)9vEgi zSt-Y2l5Hgbnr1~|rk`%j?t!FbmBYkd>l~=yvxWgD!x{&kU9DFkrJFShe7aluFdUb$ zZiWs$t>{y6q{SKts@~QUz&XZhg(k;ZwQ$>URzKhzZ>Fw9U*a$^*_*OuoVaV6RZ#Ld7?EQ?LEnw3xl0(J%`Uz ztf!&j5Gx1eq1MmfbDA~0x1uyDRstTLP^?Li{G?*t1ht=1tXV@8W%&x#nuMpg3B1;;HS3xT9G=GgUetet`(5C(yh*bbKyIK( zQzFg>g3Ep1eL7tI5Spl3z0q{tIt`yLs|L+*TXpy}tb6h4v4+5Gre(sh5mqX2EX$Aj zNb7AhG|GAfW$O^U5@S6NiLur*&@;|D2KJ4&2II4XH3FXr)--%3T2CRslB@{WG}(F> z8h5nP;O`Wx3|2_BTJh<#P6Ez~Q?2*FdF82=0(%5bwT8n<8&6dtIs(Pzeq$-Jqtz1u zrdr=Xpk`fykkG9Gz>2VDqE(hP2kJyxn$QwHvMxnKVy*Mx!#HasNaL*s;G+)Kv5=Qw zorE?dT2}&^WW5btldTExSVwC=1g2QWfqkm=25jER`U%WBTi>ES&6)!Ibn6O;?P9gU zus+L+sLZe`AginOIc(pzCk}X?+F`{j6(H)8G0hG#OyM z0V5BzK7{&%tXb$)gRNnRjT5ZvP(IQ60roh_`X^+aY^{Tyr&#Hr9b&x>+M(7<&y z{N0LG563^RSX;pU1;u(01TQMqv2frXeD4F8FDX_NJoU0-4TFBoiuHF8yaGB{_*KPv z8z$bXSRPpGHNa5$I+7D~c|)<*0CS&WEr7QB73&;4y{TAx@${Brt%O(KR;(Eyct^4R zhUOl?Sz*M=yNY!#%<-OL(N{TJ6st3g@V;V=0^J9=!NC6jCQv?9taoAJR>hiv%7cp4 z0tJ_j8-%NL4O1W$aaSZBeI%VEhLX#6j~ zDAprr{R%uk1Ia6KSJB2A+y}sAt8o7cN?(HeCuq^7xZeQ>U55KW;H}2}br|Y$+@FP% zHMm~~^Iw5`Dfp9|EVP#RF9Sc~b1UkJ?kCXK;(irEpbqygNI=)(ejc8$!~HN!a6RtT zxZi;LtKf4Z?&)a$O}Mwf_c!C-6Y|#LuE09C;Qj>kS%>?5(5C_SMR03?;Ar1Q++Ra` zHsQVyHrkB)Er^Ueala7lTY;EL#(gF3<8iOSy$Nzw;XVa?FTwp?=yxgZS+L_}xFf%|Ou{z}|?A!x3`{WRcTjr&t*|24QTgj;HHFF{P!;r<5j zuf=^1@UFxCE41%=+z*5A4Y+@U_`DJKPayv$+y|h2H{+fO`D<}+0DL>{k3r9Sa8Jkc zy}17!!Ehh$%fat{-0#Qp1GtaI^Mkl2fPMvfQ8AuZp#R(eJyzoWG4N^;eV4*+%MT+y z2oLvM=)dwXGE{dUxQy3cGZn?^0As-=FqLZ6Kw-@~4r=JuCOF?^-3u4Gt&`yx!Gj<9wjpe^fBh>x_^z$j5z$wySXjE~NU0AwQCp;}Fd2F+T7SkbLVf#kBz zfL-IQCD5vaRRWtQSlawBv;1fH%d8AZtv4=d71ZTw#0;)Qh8;sU$01sY=k2&u+a8?VRLxqq#jpi*%>;(u< z^<0|ix|Eo)h+dyMBR&d%?~yCjS;gev_=@SJSUuc>q8YmdokX2O0-|D122*t|DHj)e zDwXFGX$k~yhMbuF=v8s*k|D%yGl4H8R3(<`)r+ax1S+W%vE+Ctpsu_Eb=J4&TgX|| z5Nj0F)2tT(#k>mL*=3z~Ds|*0d>Yp6=;j{lD`ZpCdK#D!_~ND-cmPZiwvoKeq<%sv z6>qyAOcO@J`s(d$@fZ&p7^l|n2X^dhRNpWhMJ3*^sCSYcrV?}KG32bRv!j9XNGG7& zL+w^#ZzPWQO-9ibdnU9}AE2@s+e)^1NZ4i-G*lm<`ncF{sl1cQiLr~3%hX57xhb(l z$N}o(15xjbU5_-SK0%^-#||W%r>H(FHj)zBGgMDotfYF(1ZbP0?rA_>JnbYjb1xLf zFZU9L8S5c#uahP?7?X$L$EUtcN1NmMXvDieB6gKn-aly}F)2#Sas*dzwKX~h01nKL ziIWoB2{u+g6I>PI`XzIXb;0Ut8=XB*iS2%hc^(+3MtCC)UsRaQ2cmG!7X+r%l*Y6*6aM#Lh= zb|kgpRI;g(Oy6EoJ20M^oJ7V;;)l3o_FzX|^-f9Nh7^j8Bx*}q@;lTPv619UzMq_u zuHFeq?__@2_NvtUtYn?so52q!CSOVny75DHGDma|wIjl2bn>l)mdUE+C+{cS`mqMZ z$!xO$Dw(D%nTb)a|}K^zDeF* zsM@Ox>%o;Swf^r=J%tnLLY2x`;tRiMPd6vl#40q;sTJb33r8r=*o156n7d;A;>J zW;hIr90qmm8Po+Cw30X0^EXIpBm)?PFSUMy!(hE+ke`YTjs`X=ZI7fikj3v*r-GnK zl8;s^hLYbEB>#y9f(KNZ2_aX zD0di~0|x10BV40?PT|801OaRC6={&c;OJY02Ddv5K6W(7&?wBYGnmRtvE6KbUIT-= z+FhFr8u0VR^v7cl)(6o^U7)8nieYE_G9~}Tl0OAfAB}o6mKu>LE6Eunwfh0SU!uM) zQPq0-iizlPBOO&Lr_aUrbK0wNdV5tyhpIBhQRNNEe_4nsc|ldWcqqZl(I|~vew(lg z?8KK^e=n&5-RIZ@!X|SWo%%$_n`sKNOnXq0?sZ5zCBY-STfa=B$txP3&e?sLMj$M_ zr}L8Qg&NJhVD5BYbG?vv%dpIvik;Pq9XWNhS@@L=`l^A z*5$F>aw&I^lZnbZ+F_HY+hM~aYM$hkm(FAAnK}(y*fkYVG*NFCMH6{{1yPj3L--_} z*wQ`{b;Kz;4aXF{hPjf)z68qai}l;K2_r0ZjPQk{%wk&^!EgyPbYggEd+AGU>0Va# zLMgA9Li!?|dKwAuaueC%GPXmP?LzbcNA&0v>E+AXdD(svUcOu>G~3H-fHH=+y`~Sqc+W*kI;QcK2oE)0pOwOU6*Sx5m#SeIWI^#g^uZN0Gepj z3+)?aKgve!Y2T=qY)RaxmxGNOc^rhj%ffoxdt^VMU32b@@3w1{{UrR}YIfyH_0MK%_}n`U*0_VV#CMnuMi~qVee)okkh# zG*+d5Lj%+|9B(*8Q34?XZhI_pHDm=&~256W@Q3t!I@z|}b z^71?I2`lqgONadIS&d()1{lmuJ<{T*JzPR&y|lPEN$B$Xi()M%O5AT zcv}*y^)HY?c{r+aQ41+Iq_cWe%!AIG2m@8SD6`NWvoKJ#YbChQ{;EiTE4T$TU?H`v zWFYnKv`fie>s;vLit(_}eUFpnK1;Lxxz0sdj&^?2InAweQI4eV;HKc^q~1j@Fm(JP zeGg^pdZ}DXRXQK2x1aY*@2+QgdfjVP>HMy+-X-Q7N;?J9MbjF%X*gRVTGk+y zPZ1e5;G(3d)%m=820-*CmvDWcx*JWqQu(Fo0cr3uFTYkjC?AV`d5?%D+cPxs^)oI? zNEAGvPpj?@rf;*pdnNK@L4#&K(8adT+tNO;0NdwnX&+eNovz^Uj!V3hzyds8AK(__ z^i7o*un%yP>41r_$h#8WR3%LEo-~Ofx4V@@VgqS%7{ip(APh`AXX3;p&XdQqL_iEU$ynQ+ZmWxoH|g zC-W5F54%KbLOnUbEj)=MEAV6#HK)=|k>2Yufh;FO@Z=ny?a4~Fh;(Ew_GG17L^?7T zzY8yRJDH1LhZnmk6>#R_%(g_rzelE`%(g_rk-0e5mol7Y1RU#28BCt!xL78kaUv|1 zNob02`-QAM`BKbD-C{P;TXc+z+|=c@x-8-8i`=4PoG1?KRk=mSXshyaLaBDsR8_BQ zsS-)>b9dd7!YaO2X`XBB$T<5XG~{}zT7D{>B3Ey4%NH0gze3$8Rh#MMc)v+XL&D_Q z>&+58*~`PhT1hw^EmCLkSj{&!14T|Etr-hIfLr78U??n9&aQ#bB!$Z^v5^K(Mk7)>baWnWxjNMCp-lO9*H92(?&x9t}A zBUOQ)I&(IRwNB#adrzQYv!2zBZeN8%TSGDh9*?@fM`P2pQ zLklybOr6mp;qQv}DbIF8dgo=SR*7_LwUV*tMPUZ|at&R@Xo~3Dhom2FuI?59AQjsa z9uIkna;>}D%m6RWVQD$nj>_S&);(prSSK< zXg&c386UqaIQp3%_CTST(0{B)%p*UpQo1(-8X(ABG{-BDkQSW!%Xmf5FPHSsI`kD% z?RRjBaj(R}(lTEZuxliojx?joQP6m}-+e(c)_JJk4R}>>A0X4CTK^@0B7D|)#OQ%} z0Ef>yj|d;k12|>Zd&D#i^8n5+^&aZqG!LM$dc8;V)8}M(t@luFpx{gAMdtM$l0;(% zFEelO9Og$el~Yr|Ln(-R1NZ8U9y{X;uWn)sAz6uxy_p+>B_hsbw|Yb-%NL`;r=Blf z6Rm_52x8EICM7M8hV>uVwX6@-Jx=oVMk`Oy_y-`?G9FzL=u?;t{Vcd1BQ^;Y|~Ii-A8?RvX#X_tP6f z-4Z)Wc?xk1uVhf%`7-tkgj3N@y2R8yS8^MTnzVZ<2#WcnS+&GIPO?+$H(`Duf}q$G z8D5S?#iksM(s>(Xx=H&WG#v4SYPu5IseJ^Kyx4bD@cb%i}8obE~eJ^Ky=~$@n-sP+?^>qr$ zHKqv4)zw1(HLO3)kHuvF3T^o%LCX!eQZ~R84Y*1+AWlr*ui-U$ z%Guo%Xey@fo1}^4^nJ5@EJh1k(0SD-xrIaNh&itFoUDE|mM=vMpOh`Mv-*>=g(9mz zC0qEgd|i1;wg_3Bjz{DpK0I1XWF;$S-XY4#Ztp)siBDG z=cP29{^l9?3nqm#dBb}#4QelP>*#zihtD1vKDzlD2%nhF~EuF|2ze@EV05l zT6AH{5-BJg65I7)$0I z?-?}xjg{PsMLv#W<*>@Fq#dN*lg-a6een_3Cvpm-)}P$h_Exqfymhl2M6)g7t=cMX z%rI^YuN|@a!=(DlWp^BI3FpxpSSJV^E}Mflu!qSZBUpVTB(WBpW65<^difY-k!#7^ zHHc~TbX#{XkH4cW8VV`!c+4Ebk9d<1W;lb*z^hK&Q*+r4+>zOgV=WQ-_|glTaU3(( z>kd~5Lyecu*H>pe@sY631nJ7>;9qYKe5jXMVj6{Sx^U#KwrG07Gfduxyj;Rts(jr( z7ECs=p}~OT?K(>YYaaUFTb~GwbSXy6J6~fxF+llJKNawoYz{ojep`ybGBr=i-;wRI zXL<)DT+G7XwN`OQeWi8LnPF z_!Jx>eUa^lNMED~Uwrk7=U`nU#rRw1W%qYu>6mm2t9O@=GkxV>2!*gi%2z6V?QCEq zX+<3lQy}7#wu_ST1m?L>Qqa#Y)1}tuWZ6MHft$b!a$;kE8$osu>j-B?igg4Gy1b4s zF;Y0TwmO}6)+b3ghF#uVpDf`Rc6ps)3d4C=rB}4G7)(irR~gQh&^WQmkT0PrVwIsl zLVaSDp-@75i&ciH(jr-6b~cU8tJR$-deb@5x=o6A9=(eeMbhR3&pLSO4ycEPls>a9ngQ z(wO)RiiY_DKFt< zqu(_!%pUkOX*J?Ve5Rxi{6ye!P;Vh6ZNr>`PnNNSX!wIMTS(9j`XCK~SOvKFaVJl; zuHl#+4Hll2q`LTVC(kNsf%tJJ&uXF)UtagDA$7!$J9)08dhz2Dge;dGaHx(8BAt%pP(!q?OWkb*QD^R9mOn$&);|>f%s12g_*>UzA%5>o?*$Bya z-kKjo=EHy#&)-lQOz8Mpay-9G4qlEY8Vut3yLbG@bg2Kw^XtkU~4~&nulws^RUaLmMe|%5Z*~+2M718nT?9@)PDwN9P$zY_PnDX3%e* zBtAwcXP191ve+~L=~C;3_Gb(2^M%ZOAu~_tS3vqv%UHca!8bd}RHxku)skma;_ww& zG8u()3959skAxM`kAq;Ef`b{DK)I9xOae^x*--$EL#Oy^1e~rCy12AYP^sReYtI9q z-l^-e(K;wN+FfeOP>*gz6ypwXA0;2xywUqC%i2k4mucAjo1+=xc$ zpQ7*_DRB#AH=^J<-wpQw^EwG$fttrj&;e+zpvE)Uqw6b)-v~`NdLRyu{5xK1 zy=N&9wSTHd{zWgf-h7*QnX3J_z%pbYtMz(!V%}F(BSw*tYSbhD{1=F$NykS$P4bV5 z20NsA39)_4yQGRjwvYy0J;hA|5^!krH56LSF5PUR!U&J@v_P5WSS4mS5f^%jpA(S# zWF7|F&N+b0^7x(?kf(zJ*ODT<{47*LeKIS1kDEmK#*)|@}-{g7X?Io z5>4z%g6vr?0e1vRwvhd<_GHnIcH;V*1Bu*BNwiY{d;JSfMlvw(W!pVrfcp;ARI zucdo5B__9(+FkA}J&4Lx!+)a7WX%h6D`M?;-PLmKjQ8uFackj6fp#=cL` z6xRv5Hf93u$LiX0dd@v!EOgUY=!|nTyty&FX$okJ3v{jXSlqAF^-|E{C+t-1qVXtz z`*x~0NmF^)^I+J^KNA&=x~jiP7&}ntkqc(MkQOKBq2>T;W&-3I2G#6=YcWua7L0m? z(bZ7(TOd#S7%Hs>J8g{?9NQX+?PNpM-kOLZ?N(ji4GkiC$syB?AybPcWuY4lRBoD@ z&_Ly;fodvfjKwZhizO{F|0tmLz2j0{C;2cnKSp;YgC?@8uHOnxqWXjOb5d;_RO&^j zpQ@^R3b8+^srqLq5RUt2GD3o(y1yjlIsthU_(u%}c?Q))z+ev(`D#_am?Y0~tJ=@R z_qYSwmMx8{``xx1&0%D1d3+cvY z()by7UKatOA3UQAtd@aQURP0li(>@+Wpdk4Lyi7`6kKGq^%N*i3PMnt_mKgo8cn?f zWV!><*OS*iajTXW46}L*_@N;4>&TGrxb?^h5T4aXz-jS@E+ou&YR4EDdLA*Fr%FYsyD}#`mC|d4vHA_gV zBS%|7&A(o?XdSPqzaXTa`lk!S=^MoIdS$QxydmlV(4G|mY|)?eYLVdcgLGNMc6Hv# zg6@YP-O1!A#6uzI@=ghpm&LJJd#V651?kF!Jo9r>=nGfgX#xY^kmL)kzlemGr=ap|#h2=}3YL=6sqacfEMH}ZxH9+3`@_`i|-H`QVZfnO!} zh~rQ$53AN|si70yYV=~F+~Qs?QK+BLg)n%M+VY*QYW+zabn=%dE9e4*zd^-x3rxl04=O9X&h@1;MwN01z@@ZFsGC7POfZu-r#8mqIV(9E0G`nMkrsa zs$NfWKTy@^$Elfr)8YyQyKAEa722|cDizfo zg4IJ&-6E@l{m&YOYG0Ya4tCoPT}kQ;!#7Vru%OEq^cg`a*BZ+uWK|FnOa54E#LX8p zqs0xjiaw4q%yy%=LR5v&JV1~~j5Z0Wceuspkd2-(YW;%73_>Omt#lNPu^0&HsF}E!&q{`NKe}`0ofFU9H54sxU&tIQ2@tnk;)ejff|1pZaq@2whX9Tx ziZ1100DS$MG)atgGr*xeOR5OYiCSG7VxP$EiUL|b=O7^X~)}S-5gC_ z1%!B#vRt&RM-cE3QRHMv01a();ZUnd6xRe+2#V80JpryDz{VB{7~lZhDFoQ=TPY}H z4*-R`4*?#|3I{A8KvQ-YKzRaoa4F{ptugy7F>6&2?)LRNX06T|&L5h-mK8ucmTuOc zjr;XjsyRp8<&sYL>d~KA@G!?oduoURVdIOt8!PPkc5>1_i_~WP+z>H7Fb;oLUsN5W_kYGD+68 zC=4Stu0vrxfv!g(jX*b`;3m+GC|pUcxCw=L;&TfMcTmkb6zmlseKFO%jhbe{Ie@}d zq|bXO)Dgq?QFxzle3-tzLWK+zuB2Abgxo}Axx1n8PbzdrVItYK2MXh;$vsgxOod)3 zloP{#DBMRi{ZUv;40mC@iDvvB*)=`rn#&MG?(QM$UG%n~)7wJ$GE*-y`+06vf1cR> zjA{I3sBzt{yXBl%k=HHqj!qR#s@&|#lbuI&I_kOZ9D=NM6^BEnQ4{N3<>3$?*>1gS zc{pS+xpIT6HXQOTnXthX2!~9f_5@tp!y%6ow~el*a7Y#za+9k$9P$`JHoIDm0wJw$ zb+v^wcNqGtkJEkYM_B-$~r280F#I z+|<&A#`18;O7hR;Mr}CcS+=zi2#5U0wl=nhLv(_CWHd=gh}OqadwwulBqXS{aXLXX zPuwbD7xX{A@bd8uMeR36xr8(YAsdP2kdbwXpb3FAQ+NB?XbXo-p?>_8vHj98nlzI0 z52O6DFvwj*^S+U_It((OI>&oPTR5bw7?1gw{1pCIOJ+-Poq(LOBhWd`E;w1y-q;3 z1-;!u?YYZnlaN3VavVXn7`63+CIs>~YUv$D*7`8WKx)t5jOK92cLcf3DBlo9<1Pl| zRwJ$<4Dv2T?`C6rIAk~J<}vaDf@YsHKQs=KZeP2zHVMe0V0&W7qVKx5OUSSwv~o23bdP-qU=y3CPuWxu**~_z}`=k$d}{0`k1WO}h&kxE|7t zw@H&$*YdjrhW(`)tSHfISXQH`ULiPwrDqtbn`HHzVD%YA%yQQa0^y%^QS+ryYFM|E>}_2sC}z9$U(T2yZjuU?00-@Rejx1zc>yt)z9 z%6(zj52CtURxb;h>Ty)Jg;zgE*tC0#D+K!$!Va%~i?AOE!~O?hhgW}2*bjzbe?!>e z)jt#VLt)q+yjZk_SI42c{NXU{RKgCg=Jk_D1oo9dn+&9vmK|Z$^hRGBUd?axJHxPP z{cXFft_t#|1(B>>0z0I7I$_J|5PQ=fBFTDGU|$?$vWT!{_0nK9{c+c<#{~A8VD%-a zZVIoy8r6A^hhg7@>Xz{80IJKI1a?qCvlZ2CvbvumQh$ij!&tZK`4aG~Cj^-aPtt`K z@ij<#uA6nwcK~N&*rMxd{^U$Cn=-{5G$4B6zk;&1q81ce5v);vjkb7 zH%Um1vxE}iC2MTd^F9?cz97wE8rvK7atR5(!dsPvfZVSy4~Hm3vs14PgD9OK(xoJ0 zX+my#oikk?){wR&!N21r{`VZ#`15Bpuut`Wc~?pq1&h&njCQZ}yel;t7BX;tg3esH zf52J*9e8llfd^-=DSYq8*>sW{EpB_JPxb{Pz7V(aT~c>ngP03Qf4$_ujdM|5{+S4h zVBhonSPY$}soN#w0%rg=|3Q%J)T}l^Q|5G$h(v0~7B%os0dYG*B7P>wed=}zq4QL9 zp$~su49K^t<|d5ybnR|>ep1&m>3N#2?WX68bWa;S|6Of6EO^&q@s2KV*h7%hb^Wno z-214i=MHA2F4x7rOTg)co(zKgtoq^wB&dex27<(E#R&ou+Aj$($7z}dz0SD0}<%bz6Oc#{CRS)ByH=P2xXfB;2#odsZ&L*dCL zz?^^tbPNJ^6Tsgj0l}Q%8ApJNn!^Dl1gL2V11Pm@lO9OVGGi>Cf#E>nJrXHo9%&P; z7)aVf!9~!7nRwP!o9=a|aqhu{IUDKuIVwy=gkXxVG^dNkHaKn4b`ZReYOY3Ac^3hG z-{GSzAaI=;5l{F1#Xd>zAVmC3fKQdK0&t_lIO0cY`i}t#cu^A&%sk6TQV)T@z`?hC z)Rt?6o_wLBa$njkyW+AxUnA^YUL zpif$%5*@kQE^()&2m!w%lmDSrSXyoUs}2$TnOxPZaRkJqXgq3xV3DM4G3%chP;5ZQqw<_6*J7uM$S* z<$Z*Q@7IL~kOJ2cps#8yq5I72egfe_Cr7$V2=G|bX#z0Ti4A28`#A^eN3!qDD#2?^ zw!oX(Q~H?B0IFHK_91|(AEyA2A+!U!%in(yjuv8F6!rS?syhexHgR`Hh(Sl5_2Jo) z>v#v?Ie`FqwGz-j2xuU{%w`Gb>~t7&CP~!royP@KNJC)>6^_AKxyOiRu-Z0UDBm+f zutPfTPLK(jZ>E3*C$$kH2r^CEE+I9J1`)3kq*BW+38VR(AT?UEgsgLD6#DBlF6GUj zF}KbVou+)2;4&voApg~!hPEzfMnhW{y4<>;`|s;a_W9J`K9TcBI#X~n!|5_KfpOV~ zS6n!}!U^3im(Jajbk|R?t8s!j!Rn$DtaNI}McW>ubOLv^&0QdxWT&eKVT9>HDmi*7esA2p0 z0`Rue(P*h(cYKdSS5k#oIiv;9shgC#Z z$XkA~s1B~~M7oJ!uUcF!AYGmIMqX74$WLnRN&$gq_`;0lQgC%CcVk{8GsuTPrIDgV z;^s=Re|6CRmBIb%$IXICKP-ZSQEo@7dk_Y6ceLH|;5wlDWf;YsR9hp=hZjd_J|m4N z(%K|Ih5?*sY$uAL$|^yT9;8@LfKfgPkkcbjC>fx3DIF3WPn-+hC$LK zR&k_Vqa*DYKXi?bw5vGMuF;Wp6-U~&C8wi+BV{_-S;MhDI>N4fsM)Pu2 z_ut4capEAJfw9LvfA0R803B6h4_ackjQ(UWU9j6h+ya*fs|Amcc%C8fWuh7i^M(Ex zOVR?Weg-kUN;MUFJ||BiKH_8oV*n(?T`B0VaOlmOi0*-a1PluT@aO0h_wKfEKrR6e zWM3s%!DM_P*L+Ba^L z=f*6W@43R}dpr^?o&&pP>)KCrpQvjm%*B07$g$4#1gKH9nRLGzr#k23zE;(?65<`I zzK`nf#+p$nOycf@6H*t#{`k9g_{sua0JJwys0EF-1qI*vC`4lb{5wSe&VSuOD31fO z2GrW^=$zLB#eFe$r0==_g=cY&bl4dfM&)s0gN_s5wh*a%v#wVYDyB~Q8gRq%6;6{u zDeXP58vqm|1-R4+@r?@}o9P=EwNO{RM%SZAlWidRh6H1&LjQr7Y=U;7N`|>wThYHnST9q|M285wt3swNX?Dvroj0 zs9r9s2RnT9Ye>PLF#DKC=I*aGNt6hn(}gT_3!AQavta2%wh#b)5z*#os&y6_d8XEO zmq7VWV1PDqDFu71+IF{qY;?Fr{y_4o)W9|Yp+#fCR=a>gyIQrT5$z5w>t2EJiNiJO z3n2UM6V-8!P4(WS=qgQ(qF-IgdPKlKb;$IaNXsI1GD`)PGbjmyj$65`7U_Yq&cgA;BdI z4yE$f1S>2q+pPMKhWEIeCFEYmM$w}Q@`StgEkQFVsPcORX?8ca2nhW$FkP_grzHLs zO^xnItul<}e+U#Uh_arDr@PeXSIMrKMoX(e2~NtRpC{s3M$;z(0s_9!zs@C^7j!Ka zZnNt2=stw`wvqLzz}x_D(}fAa@ubNwh8p1osQC*4$I>}p^u--=e2gdSO9460fwI01>6>=-EK3xbdEG#wHwCOHsy96`PWi$ZeLQz%R&MYo~Qi(+Ri z3ips5=6KYodXW2m5IlM~Jfb@iVzim}vw%F5Y^xsqI5lmg8J8r&{CG$8=xl;aF!7~K zt_y*@PLQc)xrAKn_#?WJRJ_KFOA$05IuQLXGQ_9|HRcg26he85VC`Ocx^;+*CQbcEq%I_JCmG=?;T(t*G=Hjb}d~;E+Fci zDo{CEbqxa0M!t+uIS@1g&k0B_Qgw=u55QczV0#$AxSRk>nk1m!Vdc4y0IQ3;3x#B? zft9ieWtY+&E|Tv~Z~L(xDDhhR3JzLUB^2`L+8Vm2>v}OXQ&Vj;%;fk&FT$^T08lIG zBZGiZOc9WP-a$alVxnl4fIdNhn*mA>p>k~yu$Giat(AbQf`9`|;p-_V;48kM6@8~y zO$|su2&>Cj-K<_=GO`%ZBmu$KaeXcWijNl*axVjhbmcNYb&rO#^9BfT@Jj&3GFG8> zumChUx_Q!z_o-eref-bH){zFVc3NkHlHl$b~<#PcbTsClp`7H8wt>} zSppIr3VkiH>e(g%Ax?XS0m=};>X;zKz2t(PSrQQ9v`m&!ECJ}be8C0u?R2$giv)n& z1`K0X#Y2S*?DpA!Uzk;s1O$f=9pBO>;in3U5Wr?~LC=5$Tm*Y|7%d}jsV zz?p*j?jYOU%rvLDrg)OTivcsbw80cgQ8;}{_bipa`K^uB z^^55_QS8;&L^XnjvI)7bP4bF%s*O8{>I7x75MnyYcpf4^cH9&Jpv^nFpyds?xs)Cq z9W7r0X8BnHuTo}b`}@(_oTX4XR@Kg>`%rwTjqZLMJ%yPPTWvG}u2r>X!A(0$)d$k^ zmRiX-$I1GxI0C%Xk}m|xL7x<(Wha+1pB1YBl3Kq^Q6}MET$R9;i=xVLy}&{Ixl~R3 zxm3;N85N64@p~JZ_*=D_=KdufZ-U|nIyBSW9i0X!6UhK3kj_K0cIVR5Ys2vg5dFXg z5WPS&Jm%F@scJP)!CZ(Bb->xEIZ_+7{(IC$q!PlwYfxMUPe+`L;Yl4tkI&NMi^y~8 zV0!F;fVX#H<$2qk(HN$ibj zh7varMfX6`E}mqBd=MCD@oJBlgh)N6b4WF@FUlt@(_lR&sp831MiD;hjv zBHcER7>G7)(Xk0&I3yMAafR@R?~U3tggoBCn6sN0CiGQLOBGu8N*$BniyW9r)roFL zCq+r>tJpYW5~$tTDK`xV`{eet4ulwV3^LFV-6^4{?GRH#5Mj1w}(iRzS&`H=-^ zW@oq3FCh(uG%66M^dP5pe7fN8uPX8C4Z~CWLA)1Sr9Cuo^$iR@f=32$;mUq&(ysV} zt%{aXHynU&HUNM879`S{#G!|PNcKI0N`zR1+TAM>j5{Fb_70&3=VJ!3SC4fF-A51} zC-f)fj}Ib|PuexJk2Dv^$r^oSJLO}h6e=IHLK(GV(=P~VSKmLV^=YXTLIWJ%yL)lP zK!-AtlpDg~GRV!X8|=V)mCAk5j`8QHL$A*L=Y#SG}1)2H}wnKJ%>dJ;_&R^e-V83-*K{5E- z?TEJ{w8O6$f>(atjMypYu1guj_Af7QGxQkv}0sZvk*c+`*#?Jat6aQdzB zNW`bv6Yh+#M;gl>Y0#~L!-d_cpa9u9S_;D>jNZQg#kTK%adyYW*F^}sL$Ko}*j+QR zy%&>0hrnbkFq4G`_aJwY~Ac7~&m37AKR z#t#LB9CF&5XG%xP2wGn$(1$du%Lg|-xSSbTB+b?_mWEcKkMzY%Sp*i((mghDNS*1B zApOvM9*Ms_8c&F$K25r2vJt*fj3QD%LRGsg?Y=w!@LNM|Fw)8W>`PpplR6IGaSoYDn-N)qRfcLAIS^ z{*3QJZO9Eg!h!4@`L6 zXtR4XgI;6s8X>|1Z`F9cvBXlWTGUv~mUa@HU`Lh>gR+cPWG<(7Pl9`zc{fjF4 z^vhhda7O0B3MJFOXkq5;`7`GFXO?6xIdO2&;DLSS&YtgI(x-I3Kl8lV6^q)Th=;ke z&&w>GF(Vv*VBZsMX6?wrF&8ZbB8CbXDSNmUUZ&+_S}lu^ZVit-r@IW zD*!1S(6r?VXCH7o)sCc=`rB{Qgu z4JiECh!SRk`WXx6&ze7-Dez?L0X*!IId~A}pFbP&9KQ3X&lP1vgqC%Y*iqH@Dr$0r z9x*E+SC8M}()1z~>kS!aP-zHC-L$jS0>8LWH)RLv`e}J;LT;(Jh7LXXRNXf#;oCRQ zE_nXXHheal8P^ro)NI4QdlJ4)_%=~b_-BGPEkW;fMs9=IJ=Z@b^P>c9V#1pVdbC!o zPOE9v3pe&{M>K9)KFzGz*!bvOg`52T$IUkzvud&$@!!CYJdBiWfet(%|^4Kva!}Qvt@TW7G-sOyW~o`4t6P1|(;Cg1ow<5MU-QD9I}e#%wPO=^3e#>y zZ`PFFF!2AHX~UCcSQ-vT;d~mB%N3<$?yPY4*qIQmw2N?o<20l{BI7)W9&x@X{aZio zSuOo|D^3Bxv;|~i+z0NgS!L$>&D_d@!8>a%Y24>GYbp!$$i8}n`JuV32HiYC_KVWp z`qF$ZZ!mOggPCi-=?~QSUkoA?>@L`E)|mSP+VKfmp9HOEf#D79e{F8_>&v+7ZP8>{pLZfM}i*JS5L!PiiQAX z-%4$GVxe|!qSigJv9WQhxvvoa^oV?XPNm0lS>`Nbcc5|i^LF_jEhl+v>DFuY=nY)8 z(x_XkM`+#E5^YRUf&VSD)yzPcWhWN+_xmf&OP(+fw$`+kwH^dhvuu~vH&Mf`bl(Jh znTU0yhS`D>N?mu9mfmKz9@=W|FVwmvYPm@TmEz-=#D>DH3mX?{Lpy4j3FkoNfO(nL zJ;9HEOKWN#L*oiqp9%x^LZvn?VYgm+H`jr4l#o$@U&-v6P+%r(dR;pysbDcZ1a^TK z9mlWriZ|c02@*Hx{t65x52$KZU}Gsb9{I1%++Cn2nLcxW({T!Xkmr1bC>DA z$h>6eATx76lD5!nx<#7x`!C2PGZ#-^_`9i z|B0k>srkA#BvI>?FzC>}%B^PRHuQ9})K3Y$U?7a2>-US>ZgFcg51aeA*wBb*HoqQ+ z_%|QP5>>6#8II-uyTx86OUEXdd$R|%mhRs-sMY)k15o1O{bpw2phokf!-vhp=L-im z)%ch0gs6s6v!Tq)tQ@;4*RE@D>UMEN+-;Pag}DPSsmbF0H|3t(LFQsWv;cjWCG@Ec ziD%q=W6vV(_@u_2$V2AiW})_|megR@1RBuS8!#(qFiQgsW&!>U4Ky6m2B4Av_{RVO z4&7|#2Fy&9GB+|>DdrU5;2=n9Ac8?hhx<;!lo*>sD^bn=sMUv%xikIrKjm+~d59DE zZvQ^yZzT77T45o$gBxIWFp#ek&4isx$Cw`>y@6T5U~@?$wX%VmdV<~5{ex&s$b_N| zlJic#xzjJk2WAgJQgnkKJqg*HhK}9H0F?!T7-}smgcjPMj*Ytx(~PST^8IykTrOnM0B2FTvau z6O>9=GZ!w^GLxPs9cv&Xx2~q`Bt^b7uJHtqp9qft9Kv2rRJ9gD_c z(w+|o1k6?%32XfL|3$4JDWDJ1`r-F9^YuYyUwwRjWliPA%9?9e)%Ytn)~u?j9JjNk zrWGGM>7Sk>rkeSN{-k31b{;O%&Pk>iq`ByvQY7A07?d{elr=jyZq;UYqzC=SstSFL zY7QyTW1vg2SU+X z^cU=FHTN|%H0;D>)|r>!wo5BcG54Vh_6zWh#ciz~qQ9;@=g(Sf?lv1Z#y)x84ltzq zx+N4^OU%NZ0rOM}3dk6gv_k8XG+67CYEqP`#v8_dvtXkc(8eaLGV5UGeTU6$2g%xI zV=IQUjTm#YwBGD8^D2;N#s=d)v*0fCn(c=I2%Lbqv(W5gUdt*i-k?X`ZTfAZLx&D= z^)jwXw!O4G}$HH}YHVFJ+j(Vkpi_+GJ*$x!SQQ6byx! zh_q@06B^8}t*woEkCpn2{L&+Z^@p(YN!TU*TC>dE4d-iplkh@y4ranT%~Qr=)>~+1 z;Hg26zFV)%N6wfU(7GoT;`>bbz^OC+5PmqzEbtF(9YBpX$pqRzNN?i|W42z*vlacT zDxdx!$BMN<80Hd^#o5TL)ta({)r{ejA}MW5P1 z2CFd6%C0E`OZa1|)0O8XZ$g*wZw=@$=*jq9-RgXlOrKr2+b#^z1J(Jf>dYjw(ww@{ zeB{!NHM=*N`^*Dq;4z8*ts7VG+`6fzaU3!M{&6N4N0~sss@iG!Phia2&oXvl=vW*m z)5a&-iJ+{sMmr^u!1V(GTyn5Xo1CaeY%o`8lM(}%MJ84@ns0G~^y{lW)c?u8Mrs?> z$-mJoxTLXlANx2q7Z3x!lP(f=~VD2o!0t%0Zq}Pv_a}dbo$DM+c*nPLGm?A@hVZV^YQ-s z3LCNtg@%iEpdXa#F=oZSLcbpITuq}kA$4D%6+H;CrCSyITX(j;rCa%%OSRJywc{~$ zPQ1??e+U6~COWy6l~~yjFw3altojC{rJ11hOJ1QJ7eAp+>(`OheUQ~1#Ogj$h+evF z*Uo^}Ke4nB3iJ55^(_nmgoQlopG1W%dJNt<5F)$vB!pLrHa8g=3bBRk^r%08$aAg+ z^V(cJnPN~|*wJ6v?v+OGeD{9+{E8+$E}z!|&g8X#l)rG2`TJJ`f8#auPcA6TULfY) z_RA?&6zt*=YkGfZE@}V$KK(@1d&&sL88B4ubqO6!bSFFBG$NJ`U zQM6HtLZ;tj@)^@-l+iLN3~+&e`oih+vEC}5gA1;3h)oZtVX{8YUs19|P=zjtDqHvs z?bbj2hGt9o4Qu|crDTT>8)SOLf_bxN2z6=MauFJVwk!0D1e!uW3i{{XCmkuj?%`jD z{PA}Dj%Yc$??atjHhodqZ$?DRVaBuJNP;<_jF~4GNe=r1!6A36Y7mg~W zfMa6Pe;yO;OJ`-C_XLy!%zWQ}&iwzjqe6Pnj57cH^NVIKl404d+bPFzjCT94k5RiX z{YHM8Q8D+o1CtkXHKpr+y|MmKhn{hM*-^}i^R{=e+5QXe$S~ynUy6liRlU z|LL}IRybPY260B9KW_N{pHb_`smZToix9N%5lo>`0>8L$)TjvAPYIvuicOh6G!gqN zhm(-thSTNj4l&OqZl`iQ$3)NnrI`4ujrZ%b*wDoHD=`of3Vo|nQ~vy` zlr8%==Ba;W1pFm4KU?P`N7zL(k2XB`*h2Ih*#9+ICgg4CkHt}$zm$fVBd5g5c(xJ! zp22^OjgI>6_&cm6Y|AzZeLWCwTl^ky)P9LK1teEGULf8T?&K7``KT%Se=q-rs4j}) z_3><0_RRlWS><4ne$Yy3WL0ke&sF&=6QVr|qU(vb zCwWAL-s;8V@4llc+_!HgPEX7%DPNRXS~9<6;p`cI;FKGP=a*N^bvWR4cL_aIX7VXI zyz^F+Ei9QnvuJw7tOX0thbM6r&8}D=S70PK5220=i(1Y}8b;@%Y_#)i|HuJ;Czn?p z4O&>%EAllL(#%<>7fqRzGjU?hnMFn8hK(INVZ_)mxj99{QOH#m%`PpOS6;CchuxH- zNh6BJ=A4x?c0kdHVIxN86ipgan8USW#!m)mKCqXS6jktz7Ty>(ZdhJk&d8!sW5(jo zEmq7cDqG-R$bb=JbBiXE2;z<9uIV_JH?O2f04I$({mdyjQ*xLss45l|@$tQidEywK z{mx#5bT9*Nx+M!sN^y#=WT5~PC;ZeNX*_xK#GGLxizZGOK4sG6qP&S?CKQbsKRRdP zn8^$tnRC{d5jjQptI|&M2Fm6Qn>1;{2(CV3!tkOI6UI-TIAJV5j~G2{B5TG1CJrM8 zl4qzjCrutUBDV<0<4+fM%Ab&zGrs7ooQadhOc>9cPS2Tq`oyA%Y)Xe?-k32(5S^PN zRGc*IEEsUi$Vp5wsh#j)6Hj-@CXX4HGhxbPfyP+FWg~~7(PPIxon!d1f5pyQ( zft)jOywu;}Jz+%7q)A1SV7#1>!cV0o6-D#?^NMDa`vvi2Hs<(Ya01{h%L%y%*r+hAnQ*vZ4#I-x3z%Ndt9VZzv=$rHzn6IRR_H(_D{ zNZ4ZJRE|<7n%ha8IA#3!G2>4!`ai6l34B!5^~WEAibW+N3M$~J2v!BcB4S0Iut$Lm zBrGa*5|Rmtgv>Mxi=w8Aii#SQDk^H+sT-+U#ibgTDs`!GskYT>T&lLxnpRua>i;ai z^WM9c(AIwb^ZCHceBZg}o_p@S=PvKgOA$4Jg6UJqqmx95GzzO1I7{D(!}{SiJb89{ z9yMEf=?Fw>=+Z6Q7qRpwM(n(vbD5%Nzs!IO()8$%If~> z^UB^SW%dR4sG{P+^u+1Zx#R6|w)miMW@izt+*CQV3Bnml37)WVt6n&bYk{uv9ose-B6P*^z+Lh0h;i%TYJ_Z{W5 z_t}%vljfwvRH=k)E>lZgNX&A^J#{FVy`;KUu8vAiDVkkEM$MJ48lh2$!lJpNlEiE4 zGvy+HE;2DShhw%NwJJTSprl|zL9w!UBu!76I=euvmQrvCpkShDoebw_l&5^(w@62-BCnZ?r!Xk3`-Hmr$7bEx^#q@ZZF4BBEiNBO!;ePd07=9(&;iAY3c ztFEu8SMGMyaE>s$U>*iFjaGfE|@YoJ!Q_!iE0qn*t{Y#(}uCxlc!FepOO>> z#mCQ_IBj;(%%VBPHh8laCQhfyNr&S{tTP~RU{Fs}#nM_nQ>LxXsopTQaB4G6hVmJx zQ*Fg_W){xxviVJ(PlKeElEOyGxe4*N;(P#S1ppkCb0f&4?4mg-6(1#W zclzW>G{%buDcDLIj<+G5+)$NJSt&-wFIhL7GJ7%_^0ecN)6x?~pSq6*F0#{_f8o@b z1=BVA8C0t!MKcR0Qo!RmD4Q_5gl2?c6p`qTZe^ zuM)LfAM;BJyRZrsUraO8+C>TZk9;PA641C!as;3_&-TrqP<+_dRX9gGCZ=4eLW*WA zTyi|mh{;PlcPN^0EKRnGc`}uQdJ1fA6GkIEZZf&ino_}}xrN27V5=yoHAB+{s~d@C z-i+CuFY_XU48Y`jV$t;J>3Ne2r%o%0^0Pt6A}5Xh2zOrSBCkt^b&a*P^y`{*wl-~f zYw2Z*rvt3hQRfs-qabSKD@@HDEArEdXvXOX(#(VU4o{^_7!Km88_kf8CnryvJZTPf zxNTofu_@!=|xkWlFcZZ8yPPtbjl_Lp+bfI47Kbeo=W2_^~plccw*6v83mZP(j2+q zc<#Z`S_lIn&2&XGg)o1X6pKW(qMG7lWN||lp`yTP5j;7!3ZGCgdv+nMqeM!^g{X5= z50k)1^I2J@hVh*HYem@#Xy#Rj-wETjChjge-l=m`S~&5GfMUPm1a^ z_;Zw67M8l07H+BOs(DFzg>f=$rkW)a`G#OgW{I^ZZIUx+ETO5C`fl=!^h_FxqToAC!ip2`wshgrm(D{@I=+(ym0&EzGL; zcgZ)&d|(t{FylW_>_Lf1PQbAuyt}WYPn=r zx_C~CDzOCPm)aqNv_?(q1b*M66_aFc^U7>vLz<@5)BvcrQ+tCe+~!eVm91+?aI1|s zekvFFhi8Da$SW?GFn#h2S`evr4i?n7rqi%x+ZgWfhxHt-|7rRb&QhJpic@Netn&*s z@>g)bkZf$cnOKCW6fJLMX>O&b2FUAZ>=AA4J<%dAQm>?VW@w40@cfbH4HX&8TD3ex zxK*;U5*kLrhE+im-}0JFE&K8m`XMYGz+%tFJ?6JwZ?A+^q7TtbsF?eFP{Gp{$;^pY zn4(ewYMQ(l2(5O+!ucM}iD##2IUJ3hHaWH)$eC*^)V`w*(cl`cwRpYFO-(0UGj%=~ zW-SZeSU4j`tjN%^R-4aO(a&w;Vybk05~M93S{KuzyL?Gm{bDKp651xOgvsIRW}2r9odduI?WX;Rn9XLr&8xmo=@{D zYMZpaOBc?ji6Yz1MQD%|6gP_}%j|yZrXT{mr!v7ddJv$aoe}X%_*<5AWnG4TN=ng@ zRwj+*4b;f0`7`|}Hqd=w`g?BQeZQl!v342#{&`qK*}|GkJ?(nXiM)#Jl413kOvO>6 zeRxea+!CqH4)b?KA_FsZb=kT!?bOyV3+$(_)Qqbes>^DsPbq7lpNXd{%jh?;6}+dr zI4vg`qo44m>sQdCxiT9m`H%Y&bSs0l!=oP!k5HS-V@fLCAGf<^OEn zRwXxw(~SW882LUEGb2~dPL2VX9^}gE>jSR9OhwwO&Hv|?Wd{D&jmvK-OLb2!SGFi4 z`G4t>E5A5xb(UKE1R$vy8{O z>Iwz_Lu=IE2y+(JF{Cr_EdkZfr%Wj7NM4i+eWR=c>J3#q$j1@}6*al)wA@Rm$SiDJ zl&1YAi6o*+ujZ=gMuBRPIYK6lr&5r@oGMIbs-&V>Gp%QXjMyW(8*1v)@{LSoljJj7 zLX*=lO&G@Lf`+L;_8E1FEqdx37uKsiltEqish*6GX)e`9eTFlqjk0>A=DCjSxX^BQ zLr__hEo(q6rPv=)eFSddr3>fM+>z=}L1l6Ua(T_{C1uOm8$4In+O8_AsT7s!b#_H< zR`hcC;-c4A)mAJw?=Q?!;H0Ku7EROSTo`eSrQsV0s7*~T-pFZvR@Ri!y&ug#!$?1J zCFf`WpzcBzQJ|uT#4aa2Y(ZErOR^Qz3R#y{i~77^!i3qh!BE~<$4}HqQ_NNGaKnZB z=1a?#gyEQ^S<8jV(i4iv3We-wR0&Ok$TYQ^Ow;fny+x|kO3ev!X}Oh|lNR&;93!cA z{zG^qOHe;#rc=?&v|s0_6LU+=Lm>l6w?|+xHe1T^}*7`nHAK8NDDO^X<8&LnQQZr^<8n?l2}%xnHr&H zNQJfJQqfDbA6KlXW#4PDqYxW~2y#w!1H%Ap^!lv7Zjmo6yb%Z;@hxhku9ULDA! zo|dDu0Z8j)(NRo^=z&9J_0{E2EzLSjXEW#&LncS-Zfbh`?3ju)P10q=6ZLFUW3HT+ z0oCQS)Zn8Onrl7(GAORSJX_Paq&CW(*MgCS*&GE<3C@~abHnutTG2|)sy-<(8(c@* z24s`geppz_h!??&cz$1#U6#(3Lk)$Ug%m1OFta>YQ(a!&U|(x8OQ?&`ikdFNskv;9 zA{srzhyK%_li(vAs+-yeZ6c)?(NBshXxf9c>?7J_j{B&g zj2uhbIOH`tP{WUWsx;}!x@x+o$KPl{H-jCV3%{`bx(v-6=>C=|Z(L~JuneZpET%BC zw5+zACScr)!-}U95ox+5R1(OToU2dgG8~!eYgwDN7@mEn7p~xJ=)el8pk~k@QL7$N zJ`$z%v1mYFHj~&&T2M}$t}{C5W?Hc4^6|OJLR;-{g9as785AD%t zUeXNEjJTicluI1PL!N~R66T_lS67%ROUvr2sZW?57UqKwJaLO>yO0`<0UoBgx~Ktg zoMlOxRnz$aZAMOD-_s_V&#HI&y<+tjjDlM@w>y2b6*uj?@riS@hA45qT>N80s=u zD&?)oQV)wey`q}N3J&~@+}@~lNER~a!6c1Kyd{&VXrwV+mKV|lxMFBBuS+pCr-tgN zkrrj43%K#I95wce%yP{lY~dC0IKq?q{A z0mA&BZj^}{JSQdREtR0EY-uK~jR$(H&6U^inz+8Ix{~J5dahNXqpeCaEZHJsoq28A&ad<9r!Snfw5~ zq=8JPO3_-P-nk@~l?JXr8mu-#b*M!InQ+mFOAagNB|3?7P~uUG8gET@Q6n$IECxzl zSkfG~YgHcxglt`P6q=;(khL`wYvLV<>&ohx2S2L=DxM_a0jMGqaMObR)YQUs4KU@% z3fMwP81^TY))1AqkyfO0 zN~VkpC}?sD+VZw04vVRIQ-EwNqeXIkL#%Sx!1C-8y2(v_n|^W34}nAy&MXQGQbrmq zIef=GRFh3p?lyw+;+Z0mbWrWqHJODYM~w?=GupRUw>$T;c@b}!HK-eS^rACYBr1KL zJ<4C$1e!ANJ|xY|!YK&tcG96zUX{lT=MWUeA!{LYUfE(Wsnga=o}wv@^=^rq)aALu zW^?rceWa7Q4RjY7A)I_AYa*CaRjs9G89EfpYXylCHl4O)JVBvih}kv-@(i6P53)He z8KF6I@nc2FH7?|aWrg5sVUL6*79a5(5NUW`shi1E*W?3dCPkah)NH~EWS1_@@+eC& zCf4q=3s0s2f#$_zN?5tNi-3|Zt8SoGH8myVT0tGHftnI;G+_1=uvd5tpx#wZ^Jtp? zsdwUDrp*oVGy5iN2+6FZ4}arX znbzo5m`g(1Is9OmV8vy#s6$Pl2v<)*JVOHtb^m}@X|b6o2MKXsB|Qfd%LC~XoGs;QEWKvM6a$sNUIUS6RxI2&GP)l<)shZx9ooVwe> z>e@28Pb`fxlqGIUU7G5JIkPdCeoCij`EUjx^{D>f%)*YY!*@9AAl2b?)vaFh2sin7 zEXmPojQa=2c3rNpc|7lRW5-tBblr-=QT5SCUq;92B0EqOviRF-H064h+e0*Yq8$(` zGA$5daZ9R++^B0=X~aB}m0FicRJdNzhZBZ(8crLsTz;z^TBtPE)kkahnHxE*5XE$~Bz} z($6X=kjQkfJWG3~9Ja&iq;5z{wQBl1oRot6)0pGMsd}FK2Yq3cw6@67t~zZ|FVpyA zb7?k6!bjKxNr?oTOs<;xceLKHwjcF6e;w~Huc#l`Lztze5Bz}7Nc~Px;-_jFeFMf(}>68z09Fx)kLj)zy`)2;)61 zs>0H{Gff^l7njwZTphMXaaDYl!l10YoCZ?TM=h5YX;E*W=2p>It}_=FpY1B3N^Th3J1mzk-tp8hVH} zsLSeg91EL;?O~8iS57>^;v;ER3fq;X5exf&Z~!+_ zT07X-QO}z>wgap#;AMaBm3B{;H!{heoQ;MkS$%|?rP>T|JB;M4 z3vfV@`>xnG(|aUQ$LAK!kB*16lqv6!*JPGbbh71$dvB@skOpT3x@2L|( z2?1P(l!!VfZ6Qm0=Q<)p-7v~h;)gRk%GFiVY&{&DZC0pZxrSn2l-Md6gnnqm%XXx7 z`io3nr9WATqUDBolNMc=7xI#FS!awg08^XBn|75C+aj5!(OOVVYIIv-dkXY+J1i+uy~)HPtd~!(n~6-D9{}bCulXa z>Dl1173o_amWiv!YFvZipWotA|M}aa-M{1{(qz}}Kzv{D< z4b;VH54Accf4zW4N%}Fd?zu^j@zRYXC@ES38 zU~EH3+8TF|XlUhc(QZ0_lL3`{#1`-k4r_;DVw=g(Hb9ofIhvA$6Oai>sRI(D6Zqt4kYh^_XVt}8!R(Wc2gOUGzw za$-9it#h~Ph1C+&ZW=97JNBbO|dTf}IS+ElnrVx$ve4jN$UgY|skJT`M--T3StAMJrF0af0aXEf&)VBJ|_$Djw(Uo-p~= zMhk7lRAw5Ed8fn~(8z(YUAF(>D1tbW4pYJ_RNduOcB|eA9=r)m%>jiEJ2IbaqJsT@ z-f!V!fb<;Ge}8U4=R|Z1gzi{{M@4XM5l2C2BZD^xqRaeKdpSE*UCT!*{|9fuv~qfI zCynVeC7``8?j-!3CROxlIe+A4uCTsrR3j6b$Qa@C3(`(T(RLs8I9|(WdR9m~xmh|b zkmel`&Lp43MVEfi$snJNrceb`E6)xf>BdoYr${Pjs;4`-*{mp1JH*US0nq z%OD*+=queoNnwIMr$&Q8nvR982y;k75d)aQA%brE)0|L#KvPb)%DEJJUQ~6+%vE9t zU8$4Im(x+3Fdf}bkUJfmPFzgQfudMFbyeCY63>}w|50A@dm5{!oA6bB> zd30Qy_6OORc*D$@`Oqv+Goo>g+`gEF9c)lqLAriaBl%@Xj*qF3WUK>91<{jYvZA6| z`$^0?x~;}1GIYSHmS+83!|-T&7R1QJup)Y==jI$mf3NO{Bj`sE(YSR~RW&_Mres~kb&JN(+n!kW?}S)nKShuG>7iix!NGLMpf*e_eR3)utM zswVgbN-T9eJg{t-!zdZ1>1TyzRxEb&AQ9Fx8aYS8cL`G-jT9>u(#h?GVw5(UC<*yT${rhbtZ7NS zLLi9zP17dohN4RyAmxTzXwv|FQ@R7f*?)|#{F@HTLH>-QeW7Vcb-grY@(cR7?!d7D zu})8YQB2Z^pjBZ59GVynd=;^gN{#14x$Lr0>GBL6CpDdX>x%w>A^k+q#$2%h6>crL zIyPuVoi`f3^#N^scPNe9^WWVOG76Fx*fM##wx~M=qoW3$8v0SWjj%duDyOP7Ovz*8 zsgqhqW)6}xY&9%TS2WVLA5GY0)DcYE@>1pUMJ{6HDDj~Tna_%Ve59e1o}5(`=ocvtox+Hj!rx-z+%=;-F}Tu^Rk{m; zmcx$$PcNr)+I*tJ{83Lwd-(7GC7@q@(5-OX458~mLcl#fh%Q<%thDhM6kmj)GiP@XauS|hp3 z`En^}*xTZ@OKURPrVNuH7)kat*$I15)CFSIAV$|^qT-4nUA1wZdP>ubl~(6CI>1KN z#g>SF>DGBoSdnDPV)}CkG#QFYVk4-iTqNB!)(zt^K>R?hzdkHxxS(_NEsK3~+M-o& zSRp!hh-F8SGeg_cCdkpBhIa0?bmK=3`h?f04^sz=${{&XC!^$1MM~k+S$@c~JfiL= z6Y{t*98s+wkvKIK8-il~=LtkSS}YM4#ss$R7_o~s6*g-mzS608{HRqVrHs-X{(SwyU;6#K~@L_0dQY9n$?Cp&`odSHNL zt-qWQA^9$L(;$}fJ3odgkrbiG@~G;hAdxZ|F6k#+(Rhi7B?`1px{U{uKj|}}3qr%f zc7(|V#s)O9$TS_WB4Z@Gt^1rd8)=g|qQ(jmniUU-v@EAn@8o9MkB~nJO^cJov_hf# z7<#}&7JOS@tj+3fq?45UNli5+*LwlqeGIXDbjD-fB9r*WI-dg;qr$)Ezy}A)ZNyco z?U(-6!+*D>WAja!e1>|}3jInOGpvmq6<+3SZ7v*xUX+in)GyR|b40{$blMm-4dId| zx+bxK@6Vmgf6Ibq_OxfqhxoCerSGvBAl)S8^-q2JWSuX`(u32e46Vy$s=|bqXw~!+ zQ`vNh0UB-TR4B5+B;USD<76Mu5Y0>zQ(&eIS^)&ndtsC`V&B4e0<|Knch*WCN4}LZ z@IsXqI4oZ+-*=*(NcSFKtXRhbjSznYMnAWK9BmG%dl^7^4V+Aw^17~z>lBCtht(_hN8B><_JIh&r|~`{ob;k| zcG)P{Q=txZtF;u*L9mv8le`UkYh%qL%#~*xvc`mER)uVrv`DIK{*iXq^%3*#)@_6% zs%K=5?%p@7=)xh^uDWou^{IbTGHo2#=j}p;)#SD%YPEix3JvF_*y}_UR_ONeR-F%{ zL)3!NK9|RwXd5hexZBsZpR2CTYO}p`sDUWLxP>s@r3bBUfil}%vmhbY32)@() zdTj$nBP%mzb)JvlR~;-Z^75@Tl|v)cTXnIbh#4~X7wfeJHS%vS(Wa>R$Rk(0>?CCB zGzzAAWrV9lf2_NSFpX-~hLM<^B@ZLQ)XXtj&i$F+tlMBAVmM|p`#g4E!Xzl62H7Qi zPul3e2|{!dG@O6J%v$XeoLCB`3mN{pbqwsXC0px{bt%uW+77*tqSYc<(o>ZdmD90F z$`dJ_#^`CY{CJ+MF`N?W@|-_t;FDntC8PvYJK@N>Epav%xnuVPPZvDwB68YzKw40YdtJnDfftRNWmFhGZ&$ynYWktZe|ZpN>s32B!8Dhzpc!Ulwv2tz*Dk6;6IzAE zEt0MqDdq=(ghfYTV{VFtMw`=;v_~zQ7~UGi{!(nZqKIhG;W#=3b2Nf(m5Hq*MKXyK$~B3$BEQn(B-<3J6QNGEg~HrujCAI zCAR4gf}5a`h$g1<@Hm_qOKqzWZaCH+pr#AN_blX;$9MOmD%DCv26FFK^+mSwa3%XL zde$apYIH?L)Yuga)v<<$9JGJy0BomIa4EWf2cQF^&ZT4K$h|}QjtYxAC5DhSjd%F_ zH*N~;v;V`^3uWiDd(NItn8ZpNGeSSIUt|%3K*9TV|3l8KLbDcSQJa#lURGTMHxUbY zIGY!24NYajQ9!;%#|7joJZEK+36tzF^BTaYreVieFH+6nmN|AjL3IxmJ!&aGYd~+j zMx(V}qqU11`fAjp8L|v!O){h6L$eao$OsjeQt3zD%MhKF{PzvmPUWZ)ol)_EPWP4l z?0D@#(`Hx=mFlMW7dwrn^DezY8zK#S2UutGoHG@H7h(04jk@|wmr0Q^fkD=|*FjIh z;5h{?IVdGs7M(?P5@N=p300TeqEW!Uk!7HxU&l6fSDJo~MWd|>vzxfAv9EUXFB0G` zCHBCFUDgWkJ+Zr@WHfuCzgNYN>;ltRpvS=!#YS8R*#V|H+gTHOBYorCao%{ zImkY_MkvL4yH>Xd!E)HFdN-?p}I{D@hiy^e224OLbAB)l0hi>Y}FA6S5CNeaEDg z#(bzD*PKpA)ni$zGvd|7hD6~27O2jc&qEJKGY7qO5w8+%Wpv&xt^0&dTX)Xn@WUVY zVLFi~q*?K46k}?D_Gp+o8TU;sMb-N|sQckCruN z2Cs^vNddHKfjCQqQ{`No@+>`9gYMx*Z6D)A%rjwYiNyjLJzI!BrTXA}LTBeR}kMMRB#bSO^fVeF#C^^cGok#zh#9~)m zu&eT5Iv!Uq>B2K=TV07pm#r`To1(xPTRUu(HWw`n;@8LnU1!J_;@N%oCZpMCoAI(V zV}QkWn>2f(+cul5>%!ycbkIVj=t{3-Nbz-P7YgVpP+hgm|4`B5D+()m{4HJv$!nYK zI<6K6tGr$z>ANyY6?g3)xfZi2ZV>sT%hpGH8!p*)=j%Fm()3@Ji%sOev0Xokrk#y+ zHu1YRGo89=Gs84aW+)b6;;a_Akc)x&mI60|P>RBm?nv__`F}7+LpA0m2S!EXO?w;t@2;|!BYQsD)f7maYqc(A6(OKQnvo99Ry|2 zA4V1qqnnS^%;}NtM5)T?_x-hthAk;;sM4Ra&|fuKOoMNR?i=T5f3beC{;-A`mMobm zrew?T$RK%;TRkPP{U-crY9bZ&S=v&ot)Q*w5&9c4`M+XBW)aJ%<_OUztJk&IxQ5L zV;@%mZ5K2K_W4?{9>FKw=3E!4(NCtVDO6TsAFm0~0{a-(RkBT8mUFjYmVLZB)HT;W z#&ylwN>>XK{31*^$38v@#D%oa9bjD-(v-D@%1Z3xTOnFtALF{VE~M$QoT-rZ@eiS{ zx%M%xYwJS(5(!?#`*y)4)BFlD4O>FxbL`_+KwTF);J@`wubuHujmtjn1JrfG1g;K_ z657WD|82s2Tpbf7w2y~<$Al$aCEU6)w$5=@R|&WFyt*a``r!jP$3FH4Qs>yW0g<4k z_1{fFx1hv6T58r+a-DsPbd~rz?7JzT)@2_pHS3zyg|1na*4`8NFc|Mc@qRkq+wg9o z24BOsTldtD&*1$tyuWOggp&H-k-<&R~7@kWXFwC zuoUm7;{Eq{_r!xk#w$4u@8{$FYrOmN&5O4e^pkddZ#q>a9{1iCtW<9AL(bLj_C6oq z?R_)8+xz9&J>nQ*$kTe`6qsEobO!}lnqeoCE*bbr=&M2o=Q zefbv1UD1C>xny$o?#p*xsB*mz=qZ=Xjw@l0y^r2T`GVp4mo?~J{-OuH^B=OH2l52N zWdWTFhST4d$_y`bvbFIV@dqqaIr{p z7hSZ3kSAXa*CSW-1UPxLJif}aIqZ@?N)6xmQ6!{a{|pg(ML*IepM8WTzjFVV@7&M1 zu^`q5Ief790iII7VI4r%xk*|2HTYof2`_yQ@B2vl9#4M<(%ZWQLQCeSpF|h_`R%t^ z%fB5T?A`3w@DK#r>`hw`%%qRK=%1zU#0PuN+f`+`J9ejkmfqs&TyRSt?56Ve{)zTu zK=pO_g+81_|Gtgc|0#wJdp{HoH~TFgdtXfHzlo(!?4{c6-698@!M-#5RVoNh0XKaK z3;_1N{5X}g{4Kqef0dVhT}I{Yz2`1b`km>cpZ+3ZTtstIOP$KwJIql?|NHfS9VEkkI?^WN8b>1_ZB-@CgCEIrf&S9$4!Ga!%molFq#zWpsoZ~jjroxRWdk*gr- zehoHw>DP5?{`S6xJ810X=YJnvWB*zH2lZ8p?S1Y2vBdPz^+pi15sRmP_*qSF@AvM- zSEHAo|4Vd>F0}<=s!RGTXc!LIQMOS zS^5^F_vQWae?)0|(?3h!iu_xV-k0~ke@1Dg{PfPRO-R4#zfAu%rHQ9+L;5zP-*kki z4gX7opY+2{l$iUT*}r_)A#!2)uwL?>K*O;9Y4)36`cV3K{_93)`gJ2TeM++l|F`t^ z-p@-PjKq8l&l(#%TI=Y+US>h<)adL+Co|vhpX!YWn_THGPve z5l(QT*y|AFpC4oV(b5n0xS3<`W02kx3&tb=Jaaq*ESgK)kRyU;z@DX@7=43qr#0-K+>yjNiJ4wvs7 z*nGm}y972*a5;@AHV=qh=uRVrjq5Q?_T&XNUb}p^z{X*h_X%u#b@}drjh`;>8;)x( z-(wqm&%nkpSH533KDoSqVB?O<_X=!0arxeXjT0`XU~BO|cA}bPp2oui@wJ!G7WA_=oPn{_(Hj=kCD);pg~=?twoF=+*AQfpIbU z%>A=R@V9UM3mgr$3!?Tm0RlYTXKouFJRjxPX!^(8Hawou=~OTY+%`T&u`s=g=^xA6 z21rh55S$2Z8zHYC9@G%;#{NIz5RtSnzZAR_+~Uo7;3;s6W9x}axt`M%#s<+A1RKGF zdgUX*p8`*U7l6NNe2s!x;2+U@SN=4=*#?dIjl(V5V;ec^F@Erd8}sB2Iv{t`eUzXt zcxo5rV^QFP!JBtgJ`DE!0K5%+1~`wytUs?e^dqQez-{AbKggd3p6H|U{b0{};#@DK zM{2#a!2TN{pWI93zo%{u?t^>+@>Y+JK|VD|<-dVFzc#+V@~fc#FW_xMm6yTJ?$lnm zT=@qn{{-^=iL;%#q}plifp@J%ewfOSfu5rw-|+*ty%mAy!G6=T0D5xJb1K=#uNue) z&;xUV)4_XyLtMr=wzCuM*5t2*{?6fQ=clSZxXt(o<7px25$%dBQkym zyls@q9|r$_2_B49&h4IGd32rq)&ag4@KT!EER6H1O{76@SF?jRQ%G)4cW%9=; z{}y(xG+vYxvm-0@8{k=5fS0SJ9^uGrl zpuHUgJ3GOX;5HBa9Qu>WTKiv{4NUcQTobH1IGs{bkIIUT%hk@7y^=MnEJ9@_X~8^RMHZ*kH#hAmEB zV)sIj6OEn<9pxFn%0MEZt`JISAzX9*KRymJD{CW>Od7bi3v^OpvmpA`< zZ+rW3C{==^k;O#f6o&*})RPfH*mGkj1vcp6X34zM<14`P zFN7f8E*AaKybjeKTq}I*dFd~qC+F#TQRKIt-*yu3s$9F1TiDK4=&^i96Yom?7;)p) z^YB^Vt2%Ta%u1I5&wJbDE5HZ5<8tj*eS!*)YcuW>Jn8YDL(i6XT|K`7Prm2!KY-VG z{BPhT@4NEbOY`UxGhXVoC$_kHc9O4sg6SR~2tMxbuKY;w{7+pz8GM1q zj|YF)<4eGM{KM7rWAF-({{;L=kN*_B)8oGYf8%rcV9h*u5q$0QF4tz(C+P8OmwyKN zPrq<^FIlhj3G%;m`M%&a9v=<9!Q)fG-}Cs1;EAtX{aNto9zP3w(!X5!E5JX*zPCBz zr{MWsc^?K}@Qtgd9sKieUH%?;ji=``@FeYJ#9zH+9@Hmj-`?f>f^XT;<)gv-?&R{R z;7O042)Q9C)+G)8HF+cjfEB-{|Y|bHNwv>GG?=SM_tb?iKb4 zT0Q=R>G$|+;63}hdOk8fz~$e9f1Pmo?z^bpf&*MW6nvV;j|6|k<3*-tu&bvWywu~% zz}q~20r+nZboE>Z-eZW%?*Y&E_|xE>9)BHt@IkJgkHMFFyt~{yrl9wISH2&3g~ty8 zZ}Ips;K9MJo?`Ho9$y6hhR06@pMHp|=VI_XJbokiZ#{lL__#w|J^f*eANrC{Da^9{f3v zZv>z3Ek+(E&WoM)S9CW5YscUO+9eSFf^zIt1S`Pv&emno46Kgs1#f#?SDC}WKQ=ut zDj$wT=)t=~|Me<(8F&2L|Vm)5HOHL$aQPG_p$JpUq9 zz=uQl^&)uUV*UOHeG7J?bZmd}4%K7znC7H{>4#Z~lub|CQ+h|32i$CscpxPpV2s=xGhRq!PWJdHT}E$?&n8zq<5h2Z(%=FjKBQy$-bf7Rc~ zyVmsLn<)G`3cR&mIdHJt4%E{7xc7z;kK(I2D5(Z1cx0W@;T_K5Z*uN@bbMH zJb<2j$iD`j@A2Ia)N-{|Z6}iF4%Y-ngExPu{8W7la^QJ?RKPby_;mwu_Cu3r|2yEN z9^Ze6%C~>!wueUWPH<}v&k>h?QKB{5f(qVlsOo9)`rQ=pHjlRuXFYlIRKZcu(+=K( zK#N1yK|mcr zzK?SK(`^q`;7uOC8$1BFdhbTb#cz+O{)e!8ehhK0ufX&3rQivV{}KFils6CM8cfZS z^)!3+*g%}~P41=*#Qb&-t!#=%tLtiR(QWB|RaJ*)?B^Z4JOr)4)S zZ=ygA-FKMkNg`kKPX%$dGry18d8j4})J{EZ5(f_xiz-cpS-)4+Ec zsd`#BDBlBoHhAgP3XHD@Z#vi2^8t9i$48A){cYvy$feM~X|(d@2b5d6W*??JcY_MH zL;iZ>&uYHCz<&?k1UrrQrFPB!X}(PbAA|fP@I;;JG5ssSQ@D$=J>)llccA|oe+9hV zgu}Q1IkjEwAaB58gUV+ne!K;HhiW5aT}s&%^x0_?sr5bM^Ncr}lK>F0RRs z18?*4&6xap&38Wha5;D@>^Hs{Jmv8(!Q0WUFgyp-j!=7&ztQsYO<#Up1)jHyg2WEW zw}9tv(sG%6@&~FXb+>YpUkjdiTlL?fYJ!iz+kUV74SfqHAE|nR-zk8)panedBjs<> zI)`7cftT*C{B2sF@T<>w)zfj2+H*p0RiYY)aBqxw^`)W9duflmSN{Fln_)>94I1fE0x z8jEs$0iO7wf`5S@nNj9%R!TI_s9+ZKY$48i>~N#C|6``Ap4O{0zdQ9U$bttrC3l3`177-`>c0!}b7;Wj ze$kjaiKd6GY z6$e9(gZ|r8{toaPz&ml8`91Lcr>lJF1#Z4Kf_FTp`uQ*%zYd(C^10OtK7jojz*EmC zF#8Xgsq%SGD?c3ew}O{GrTk`99~@q!@@-K37C09+~5&#I}AJw`kw;N;qdSw;J*fM0jFt(yj}(G z0H-i6uQ$OHO={0>;O~Qv1P2cO3Z4X~VOn1Q1aAVTZY!^Ez}vy8yUA;ZS?r(QLE^`n z?_ls1#fDeKEU%^x0`-A@zyb0X= z_6_*e;26Gw9cF9$Zw1FRFxVBm9egk7-xItO-0~d+o;XMC-vjbPz?0x+|8Ve1aI>fg7*Wre3ybJ zJo(eX4+qDv5S#;^1gGtNd0hlv3O)w>a`3g_X6Low*MRQ;`CGtS!7UEl1>O#B^>QD0 zfcS6q`v`bGxaoNcycGOsAha9S?OYftdR`D%}iUxUDZ2yXr#0-gi6_&i*A z|DYZFBnjw00=(rw9Z6S%PXf;$qMU{^c@=>-fj5Jn0G>Bg<>!NEz;hnYfwzO(czUYo zIY{*!1U=_~C&3fomw=aoSAnlL{owiFw}J=XSN)dn-KHNr3He`uH-VReZwAlD{5b*s zGI$5%JHg*1-qj(=4~X;q=vCf%o3FuJJ-%Cs%CEWWd(fA)Jm9Z|b01pm#`Eu|rV_g0d2^4*TLp}KmAisK?D}NpMy&k^@{A-Ut4ZijWSI_I< zpL+ab@Wc;X`R;SnpH&|32fo?k;bA7@%X8bA9u7Xe=+zvkKYL1;qm(|-(y@ocK#~oaXV*qhsU3Vo)0~4=cf85UHx`G zD&_IFpl6N8KLOwD@g3)C{SGK__3s0o^Y{qx!~|Dxzt`iRfp>bm*F5-5Plsxdq5t;-}87Dd{Ut+e-?PV$FBfiaI7nTJNQi=f7JAN{AKX3J^lgsLC3lJzXD(F z@!m4<(cw~$9{|2#x~u1K@b^4^9C+RgS3V6s-{bY*J!iV|=Yp^D_|@R89^VMQy2#b@ z1o*uke+~R=kADO{F6HX^7QDwSm+vkc4t;_R9v=$+ipP%xA2Zw4Qv|-&PkQ`m@YNoF9emteSI@`b8$90q1nrMw=DG6yz;E*SA>cjc zyYk0?Z$94T#oz-@aQPzedp&+Cc!dsdVSKn4ymf)A=SI_?cKQ9L$K%g}Z}RwC;GcT@ z6YxZ-tAEE6)o;^1z7Ked$47vFUFPbU2;R5c<@3Ok9$yT;(&J}VFix-QzEV?_A}|e*iwt<6nU{c)a%y)o(2xKLGp`;9ETYE%=i) zuKwLmQopq?arsd2{FYMc_>yF9+Z3@nzt7I+120 zK0)3xm+xzQxywg`-|O+I;K>!P{E6TzJ)Q+`J;jwj3;Yd_Ujg3pR9F6X@We`&KMLO9 z@t470@%RVe2c72X`3k(m& z8LpnI!N>pDi-t})3aQ@d%5~;{3@3Z1>fxPBf$?k z+m$Z@f6n9Orf0P)zYP49^IU!b_@?t+ejRw#1unk_e67cy2LI6GuY-?Y$HeEKD>{EgsWd;EUz z@t3*s&zhc}xcn{f7LR`dKIw8-e#eaZZJo#W0nfj}l^+4#bDhg4g12~l9{6(}Ukv`a z$Ik#Ce5I@ZGVqkgZv|iJ@rS@Sc>D$MS3LeMcyN`Q?`PnLdc0Sq`fa|)_XS_&@zLO| z9-j*ShR06?AAhxLPuBE%{4DSR>s|RPz=LaCemi)p#~%fM!{aZ5=U?mU`2c*C$G-x9 z&*Qxpso(OhbM+hmKHlSpgTLbO}I z)$;`Sp|`mFHSj8re+0hP+~DfjU2fdaLmNCk6#R{!y7EVY55CRiMc`{aUJkzc zc2|BGc;7o*egSbgzlW!$-m*Q{EB&4hymY4?^8E_=pYH8ct9<^J?m}c)O`lr86Mt2X z<6praz?1u^o^H^y)5&^%rsbQ1h1h+oBH;sr7Vmcu7lUu`_-5jAju-at4gG%uZy%xg zo(Dc)vF6)^d=ubl@M++A;I|NG{lWKCPm2~WcmwjKkna!qp*1Ss{*4N5(qusjykn4p ze?tDp;7tc9{~G)r@K%1B5WVd8bbkcz9IE_G$oE^K`Q{z0d=2zPXP}OP%g_= zN^=)@`=QFE`xAc$yk&porO>}et>#+_d8%%C6@s@dQ~A;0E5Vyiad|6v(&O)$yr-vs zR`X4I{5bHy({l!R+fp~*yTO}Qxcq(7kMhbk2$f;4oaWnkh|0^bLVN~z6Sz$Oh&O?E z?5Faw?MeJz@HQ{s55NPjT>Jb;^KBaJ>X~VLxN^()Oz=F9{~SEw>G=@6ZMo{P`WjG& zd{1?G3OwoYvrOL8b3b_C$^Y5(c=Chlk*`-@v%r&{-_8baLwlC(ck=Tl@Rng}zbt2n zZ!taKrNsC(s6q2Bg&w*6L3|c?o7b*Zfd`)b_k%Z~-YrgU0nbA_sgPWQV82GqHvxIG ze-3yH`nB1AK6vYaTCN?T=jY%_aJ@?BV8K&}hsJkVs`<8g^)enj@cg_OyaVmW{BtFE zC)!&n?AdJkVb1{=06qiH+gmL$K6IJd(=k^0#gM-MJhhMVd%!!vJ8=Lxg?#5Ohn{^^ z-s0ie;7#9m`Muz!h_^-1^A313;_ZC!J}XpzD?bH}Uii6k@I&xs956o`cHRu$vWLps zx%5xKJNhf%5Au^vQT@5yl%v{$%Zc+t=UTmSupNAz$G;Lz=byhmSnTXC{|CYNQ&mqA z@>Z@|;ym7^_^EgF>IwPFA)h$>5QjevzRAnC$4b@T-;6ruG{)H?5WAIkkW9{Tl@YEkv z{z+8i@4)js{oDUo^G&|*>K_Rnc=A64FZK9&;CU<6|5o1nz*C<5yWlyG=h1|U>#+^( z@W?=4M}e23BU*V+22Xf;t^n`A?}E*qCr$n>x4eG?4?Oz^ou&39JboN_`&hTU%fWNw zlo!JOjo?YdG2BPCelz!#*({}JCkMDoB%I7@Z z0N&H%=wS4}u3Ds{H-ish)R3_f!37#ghJt?zo)50I76ktS zF9rVrt1o`|EZ5_&z^%SY!JqZytHImBhaulO@Zdr%*Wuu&f+xX`0AB^Z z0^IDm5WET8{Bt>Y3;6e;=Q{9qa2rQ9fahJL_UsS&pMj48xAHy+J_dYO$Ugy|0^c3{ zIq)3#f#AOZ{|UI}9t3ZKw}6j?{0HD2;MP7n!SgOw4SPZU3-EmKKH%HY#GC7J0=Si{ z7x*M_^K)PD$sQjFo&vY_JOn%kZuL6?{8mrTIPeYNy85 z!xr#na2*|j;2+?Zfm?g~27Il@cf3&B?N7jU)T4*1gJ0>%?*)F9C%-@VwcuvYA>h}0 z@?*en_VgbGev2nR1^hNoz6ktwPkui5Mo+#Byw#IG8T?*Pz8?JNp8QJi2R!++!5;)S zKU@U<3s3$E@JBrTE#QxP@;?QC!jr!n{ArIr1pchYp9F6Qw|4tHcqjOtX#cN*?|}87 zwa>S}dxBeeKLl?E-wAsD27V>DwdXIvZw0rw-TfkMpBup~&g=~SAh_kb2Y4I!2;@5m z{9|ylXDImR;5$H`pNGZq{2TCHz>fg$b(vadewZMezhz?u_-ubVCMT6-%9Xx?~yYchE+YdfO-l|9NM`J`OhH#=20gFgm6!>?66*C5{)!Jh@61O7Yk#C0lf z<$W9cEbyZs{}Ff__(br3f_HCGJwFEDu37746?i-NuHYrttNev1@7~~V-=KUnv!OTT9y9+d<*zj;HLi@@Yz3e z_4K+#>*ZPS6QHLb_c4>yYHw8?gbzHlJe0Qc%A^S z$Qp78gTp8WSN z({iy2n@J${c1^vN`uKp?DP4~Fm{wTwtp8WBUzr&Na zKVI-#kJmuH$GxupGr*fYeku5ZpS$umgRl1ZCh!kE{w#Rk`&>P5f+sy5KA+j+e}nv? z_q%#}tX2Qd_jo_>RS&rG2ZOJC$mRC@=N7M>9|ieCA9m$amaoUl!QX3h<(Go5dEDja zflq(JgkR1bd2mAB_q*LeH` z%NL zJs!W=^mu#|c>m{IJCXU9I^9JuY>3Qp?rI;CVK67h0f2LchL2P?av%Voag6>f2#Z+Fdn5LzZvp*swTJ_ z^39)O`~rVpm-l{wx9f0@HUVC6Fj(5<&T7(Z@`lt-(j7u6Hf&c`H+rJ$Sz5;w#=pPH-48A+~(ZstN$88*0_Zzoe9ZT{& zUUzuh{+Q0rue$OlL4Kvj?YRM)JZ^tvXUuD^9{VFZr5>+?{w*Fq2Yk$LT|HNUmwNmz z@OwS}IC#(Bxq4m&U*PdSgSUFzo>$Q0_pTm$UP031-$2i5kN1+~^t)q^+j9vzJ>KU^ zt*-&EyZP=5Jry3e=MQvv+@2>e;0;&L5a?g$@gIQq{evq%6Flkhh2X#SxXmBdd-Ic} zkni-k%^z02}vh^`{=U@i*~`tLHq}Io;zney#QRp}T2) zwRt@Jy9pj&5B>eU{JluF`lL^mOCxHQ)*Ggh&U$Ux>4w zmOWJu9!D7LcQy7^ytsXWaC*MCcOGUn_&ASm0^i{AE#R%-^I^}R^=eNiPI_Qi2nxYV z4^=yR;leubyh+MSpyxyI9C$DA{b&P3{C1Se>;FM89lT?t%a?)Y@9**(!IMY2`~~pD zb}s)4yyXjbd>neM+LIgR$`^y@i)1pD8p@+q%B9!H$}OUL#q z|N3@nPlL$QxiT-#+zsC3@ejaDJwD(j)!#W(_19{12@1gT4^)04@~tJ#`@P8>HNGX( zoZx2ggvZ|iF9q)p`8{ri9xoowC(h;V9Ig50Aio;&n;~!Wz^A}BdA!Fhs=st6Hx5q$ zPkMYcc!%eoXTY00`JHJ4ll_qJ_)PG?>`v%qD;mOYzJ}_t=r{%K# zvKsO|zo*>%^E`Oc<9&aselA7)G(82xxm+nv{xsnOgFNKhgnIcYV?1kYi- zehK_?lSh1B0R9|t{`(ip@%JyxKmRg4@Y_L%4?Et$^1Xu&tP2K0PjB$xYSm!tg?``( z@M)0W7d!`k6!=i^JHc&sGy=R0T&6vg=5X*1@B^Xe81TIHYR_Qsso-P4frBFOB={g) zmy`5#cjwm`;E5ZR+jD)-1#i7s zx&3{Xi%tGk<#r$83h)`=sK($r@D%tSnr(0^cm~|s;YRQ#@Pi096_@bQrU0K6IeQ1Fkz+dTQtz`q8!@_q}R_fyxN z9q-ikpAX&-`g?;<1>Xt0A9%{+`+^@2z60ckf|r8t13m)03EbM};ovRcVPk52Z7%Tz6sp&-6*_&(0Qnq)Z`xoPYiSU zFTqnDZ#Q|2J7&-8#Jk#8vHKw7-n2-lhT46Ql*fDDrQ<>{Q^$)wDAyq3UFjb|ocCwG z_Vi2y-|)7ZukG{nf5+waN2N>;6K6YH+SSgx(BVJdhJ1Irk=>R4-o$y`(Ux@kT|eOif`>7m(b*UM znJLI`fV`G22u6apc>Duj)Z>f5a~^L1Z}RwR@Me#% z2XFECJ>ab#e+s0S6Cn0b1y)z--*3Xr{8uB?W-`l~PJpKT9v&T1sw|M;b;H@723wRs2m20P;X}LP` zTssdY&h4iI@>Z^?Cg0nYuZDcyD)qDNN1ZP61B226SNdX%ukpWwcY1t}yR}@c=eY9Yz;oxi`~>j))h=HN-s$o6rvE%w{!!C^zRNpI z{{=4ZaSz(F$A^Hou5sn3f#)uCc@22}Maroe$m=5T4v*gj-h8nu|7-AMv&%cdJ3YSp zy=s5UC9eD!@YJO)p93CT=JMs>tscJ`ymYNA|1fyoPh9>7@HUSJKUX_*m%H+NgD0+V z`B?CFkEg(!*17U0gXdrA@>Sp+9={H}`6^fbKJet#$|(%W>m~3`@D}h7P0xCjH~uYn z{xvS|f1moH-Q(W}&t2=v{{TGiI+xD`Z}oU7c&bI^U&F$08F>B;%IjhO`KAZF0DK*B z+5g$gjSsg&KDbf!^nm^+!Sil%`5WMgo0VULf%yaIZ^L}p<`thozV)Xn{|xl+c)$9s z>2~G#b34I);Q4nd|1sRm?H+#`Joz(M{&(Q59{&(Lakne~C3v&Pcip7^4DNB|_XE#?p8~&)0PpnpktTny z>M{B0ChzeDCjWC+zRu)5evZlC=gMDZ@*cm%|+FzXc8uBT~0|&Q5zVkhmr|ofh{aobx2SG25w^c~+sPTmI{@~AocMMeC6ZXFb zp4?mcy6&pK!}K7Y=ON#ZOwS%FzX|$3GkNgMkni@8jtfmYt9&Q;&c^#HUk*M9JcoIv z<(m)Q25$CG0`J&e^|V0GN#IG3F9&bwJ6@ZtbzKqWV?*LE1KgXM%{nSq5HQ))4 zpGLf^_3U1xPuA&w*7o^p=s%0(ndd%IZvFJCZRojP@*Nm-p#9tUej9ijxb>q4z*{}O z8GN(HUj}dS_?yJLD%bnO+5XObbjSWTXy>1Rw+~cKw~ytu{V%k?cT8~o*%v%H(d7q% zCp`Jl;7uN%NL>6mNb`Lg_RJ#QmHj7egJ+;8FR6NLpEkD*`4z-v{{;5iKFQhJkiP)( ziAh>slm7{L2lOQ2w`;ed=Vr*aK##SDyTFs+)^6|FhMtGE!Jpg)e|{VM_uJqf5a)ff z=3i;c9E);wg10@Z{0Q(bwxOr{BVE_yF2uRs+jZjEB`;dd&X49@X+DI#o{+dX6Q|c6Kx>KN0P7HF$D`^0|CjsfAM#+63|l#-Z@zN3ytXVdJsGh^2U2Vp?Xr_ zHeQs1=MHf7Tm#+=o`n9lz}r3f1D{m=d7eGzfOmTGAAsk3^3%xST;80=p9Ig}U+ql5 zo?cI}Jl!w;Nc}bjyf1j)Ey{s|f#3;n(=!A-3El?@Mu3-sTR$BK-s15B@DA|9pyycd z#9!2&(cs0VAAAt_0`R84s=VyYw+zMe;#-T`2OIR zg6Dm#8ti`G)!<3+gCTztcn*AT@H@eq!S?~b5BzrU?Z6)eZv{Ubd^7k5p8Sj8o#5J9 zg5dYyrHDVK=Uw7mjf0_Hkt9<*D zyu`!t>gS~p9|7KUnvTD=-!d7zty1xzL=t(Dea|vCFJw> zR`~?t(#7B{D^>pu;J1M1&QM;gYJ$g%&sF;^{0M&2hJsiAksPZc@ftU^6vPSh3Ku;NX67!jv;6DQI__3DD`srE5Jv*-g zZ+lc<~3EDC{P zF@zsMhY(QFbl$!Y4YMbcOfsFBo@^{Nuii3UneMKds_L2P5pXbKWRw2kf`XCp-So&dl9zadkvPMv%1z2}~L?z!il zd)_vwcc--TA%DdDnSIeD|G!n>y{jLgFrOg!k-*nZF}@zh{Q^HH_NuP8rRjV#(|NVD zb13lHnq0j^;9LKb`z7IS*8KusJ<22XRB6wf1itM&<6~J@e}AOu-^cK`$~gX+#+UYJ z{qxU&Kg5C-vGq)6I+y;j@aM}+=eI6r_!9(v_OeMI0}YV-8p1imWr?+Tr-2z*xLaI3%{`6tZJEi&)!6ZlqvpYL(K zyF^Z|6Zl!_m)8F~G=5Fq?iTnt8JC{W9}3)>WBxos_;#V4dMnV)Mr82*f>as|&2xV@A6Yw^$4vjx7TCjW;7zWV))c$2iV5ct+*hId5&oY44P zhQD3#U!mz=!S#Mp+W(URx4)kWJWB9?Q{ZQ09G@ugcL;oTh4IhGxO_<9TWfSaE%3vl zuY^6;e+YcbA#Ts}h0a6Y$9%IyKkSlvuN3&XntuK+f%l%y{p||=bpl`e9Jh1z(fq?+ zfgk=Zu2-gkl?(h#ZQXf+!0ppaCzp1-F>ofuH{;hCg5EJV)SXk1|}(uVsxd`sZna|8jvJ-pcr|7rwn-;IkrEdj$V2nvUqb zH%mL;54dGL#kxZBjtaW#b97n$%`q5s$iMDK|n zyHfDC3jEA7n9i!ezgys|wRQY}z|V@Erq})F3;e4k-=Qwc7 z+9&YWYW(lx{$3>$=~o1P_NkL}-XZX{tqgyQ(D|^yXaAYobHn5Lhfe@*S>J4(t=X}k z6Z{J`eg4Sv%(ug`E)+ul=>oT&%=La;`0NRMt+oy(fYbP%x$QfJ0)JdD_&u?^ZkAv7 z3w*1ritYKPU73rv!dR;O8$e9UW);n}8F4&eZtx zM}lw3`qC3RpH%o)Hstm*f`8_E=8vRVu`c}p^Yg-;4CmR6{0#y>FYEY|MQ>jt@Y9kI z;>=}S@pT&i6Wsnw1phXHTcXFFF6}%b@U1!Hzf9n#1m3IJfj=Vfvo*W)%>rM22GhZD zq53D1=S1AsrodXjZg;u{6s`ZK{leGSw3b&>PW0RFg35Fh0+e*%F&>VuZ`Sojl8 zf9{!zgx-&A1N?F1cltd>)ON)wfv2=19wkLyC2;!*Okb7@>-Pk{Mf`6X{#k)<&3FK{-|WdBrh1!yHsFuF zxIs_zhc7I2;ctC6#Pg3Df6fI=Zr7a zTK5o~#_<4;<3okcO9j5R%##0n8Q<3koh^@H#Q&CleM;bT{zHF`(6K+l@^JnV)+bsX zUZmldPQu>}xRR4&+@9-YzI;aDTYr`t@(La{>zNqJu6`U+aGV$X zDAT!A=>LSkx82Vp{&Q037X^NPjRCI~_} zKTY%DLkeGrRzChs=xmjJoUqe+7RJxiuUn_U+XP2D*KX%=ydZU~DE!N;)8hYpmcZX6 z@L8D`S4qYHCGai3&WJA-_;$=&>Q}GUuloR}aXce>Uf68CM({7x@(I6B;Y%YbAD@^4 z|2)yTIz2N`PS5!KM$A1?1+AS=|S}%PbaN_6In*MYkPsGo& z;#U{(w~lDIv`52#7jU9uf5YVbdIa!u9cs1ar_WuIl zmtXP(YgXE!$K|&bKJ(y^!hEw_K`{>k=V3%F`$eO&;Y>fI)E zb-k-Z2l9FNIMe@CnW*m;`gJ?@{Q|e1&J;%T5%8@-yZZ4TQ{dn9aT+h!!#kOu50OGo z6Zn>767B;|?X+Zlx7@{ic(qLU`viZRY(T$R=>Ls^S6e90pJ2XisqyUw zfv?u&?WX}(^@<+8QpmhXR+8%h% z6#S11{RZ1=sTsV=O{Qf;oql6gnvi{|L`05`>zT9F9J^EXvw

|4=u^>-h^(Vo@X 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 ew$^H3RUu0XhDevMMD!+VGMq5 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use std::fmt::Show; +use std::default::Default; + +// Test that a blank impl for all T conflicts with an impl for some +// specific T. + +trait MyTrait { + fn get(&self) -> uint; +} + +impl MyTrait for (T,T) { //~ ERROR E0119 + fn get(&self) -> uint { 0 } +} + +impl MyTrait for (A,B) { + fn get(&self) -> uint { self.dummy } +} + +fn main() { } diff --git a/src/test/compile-fail/recursion.rs b/src/test/compile-fail/recursion.rs index c99ec5187b00f..d6a2fb75fa210 100644 --- a/src/test/compile-fail/recursion.rs +++ b/src/test/compile-fail/recursion.rs @@ -20,9 +20,8 @@ impl Dot for Cons { } } fn test (n:int, i:int, first:T, second:T) ->int { - //~^ ERROR: reached the recursion limit during monomorphization - match n { - 0 => {first.dot(second)} + match n { 0 => {first.dot(second)} + //~^ ERROR: reached the recursion limit during monomorphization // Error message should be here. It should be a type error // to instantiate `test` at a type other than T. (See #4287) _ => {test (n-1, i+1, Cons {head:2*i+1, tail:first}, Cons{head:i*i, tail:second})} diff --git a/src/test/compile-fail/trait-coercion-generic-bad.rs b/src/test/compile-fail/trait-coercion-generic-bad.rs index 74982946d7ddd..fcfd079997734 100644 --- a/src/test/compile-fail/trait-coercion-generic-bad.rs +++ b/src/test/compile-fail/trait-coercion-generic-bad.rs @@ -25,6 +25,6 @@ impl Trait<&'static str> for Struct { fn main() { let s: Box> = box Struct { person: "Fred" }; - //~^ ERROR type mismatch + //~^ ERROR the trait `Trait` is not implemented for the type `Struct` s.f(1); } diff --git a/src/test/compile-fail/traits-multidispatch-bad.rs b/src/test/compile-fail/traits-multidispatch-bad.rs new file mode 100644 index 0000000000000..f5ce904a4bb5c --- /dev/null +++ b/src/test/compile-fail/traits-multidispatch-bad.rs @@ -0,0 +1,32 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that we detect an illegal combination of types. + +trait Convert { + fn convert(&self) -> Target; +} + +impl Convert for int { + fn convert(&self) -> uint { + *self as uint + } +} + +fn test(_: T, _: U) +where T : Convert +{ +} + +fn a() { + test(22i, 44i); //~ ERROR not implemented +} + +fn main() {} diff --git a/src/test/compile-fail/traits-multidispatch-convert-ambig-dest.rs b/src/test/compile-fail/traits-multidispatch-convert-ambig-dest.rs new file mode 100644 index 0000000000000..9ceae41d1a465 --- /dev/null +++ b/src/test/compile-fail/traits-multidispatch-convert-ambig-dest.rs @@ -0,0 +1,39 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Check that we get an error in a multidisptach scenario where the +// set of impls is ambiguous. + +trait Convert { + fn convert(&self) -> Target; +} + +impl Convert for i32 { + fn convert(&self) -> i8 { + *self as i8 + } +} + +impl Convert for i32 { + fn convert(&self) -> i16 { + *self as i16 + } +} + +fn test(_: T, _: U) +where T : Convert +{ +} + +fn a() { + test(22_i32, 44); //~ ERROR unable to infer +} + +fn main() {} diff --git a/src/test/compile-fail/type-params-in-different-spaces-2.rs b/src/test/compile-fail/type-params-in-different-spaces-2.rs index 580aea651857b..d1bbda932cb73 100644 --- a/src/test/compile-fail/type-params-in-different-spaces-2.rs +++ b/src/test/compile-fail/type-params-in-different-spaces-2.rs @@ -15,12 +15,12 @@ trait Tr { // these compile as if Self: Tr, even tho only Self: Tr trait A: Tr { fn test(u: U) -> Self { - Tr::op(u) //~ ERROR type mismatch + Tr::op(u) //~ ERROR not implemented } } trait B: Tr { fn test(u: U) -> Self { - Tr::op(u) //~ ERROR type mismatch + Tr::op(u) //~ ERROR not implemented } } diff --git a/src/test/compile-fail/conflicting-implementations.rs b/src/test/run-pass/coherence-multidispatch-tuple.rs similarity index 53% rename from src/test/compile-fail/conflicting-implementations.rs rename to src/test/run-pass/coherence-multidispatch-tuple.rs index b5a04491111bf..04a69bbf3a2bc 100644 --- a/src/test/compile-fail/conflicting-implementations.rs +++ b/src/test/run-pass/coherence-multidispatch-tuple.rs @@ -1,4 +1,4 @@ -// Copyright 2013 The Rust Project Developers. See the COPYRIGHT +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // @@ -8,15 +8,22 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -trait Foo { -} +use std::fmt::Show; +use std::default::Default; -impl Foo for int { //~ ERROR conflicting implementations +// Test that an impl for homogeneous pairs does not conflict with a +// heterogeneous pair. +trait MyTrait { + fn get(&self) -> uint; } -impl Foo for A { //~ NOTE conflicting implementation here +impl MyTrait for (T,T) { + fn get(&self) -> uint { 0 } +} +impl MyTrait for (uint,int) { + fn get(&self) -> uint { 0 } } fn main() { diff --git a/src/test/run-pass/coherence-where-clause.rs b/src/test/run-pass/coherence-where-clause.rs new file mode 100644 index 0000000000000..faec0c502808c --- /dev/null +++ b/src/test/run-pass/coherence-where-clause.rs @@ -0,0 +1,46 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use std::fmt::Show; +use std::default::Default; + +trait MyTrait { + fn get(&self) -> Self; +} + +impl MyTrait for T + where T : Default +{ + fn get(&self) -> T { + Default::default() + } +} + +#[deriving(Clone,Show,PartialEq)] +struct MyType { + dummy: uint +} + +impl MyTrait for MyType { + fn get(&self) -> MyType { (*self).clone() } +} + +fn test_eq(m: M, n: M) +where M : MyTrait + Show + PartialEq +{ + assert_eq!(m.get(), n); +} + +pub fn main() { + test_eq(0u, 0u); + + let value = MyType { dummy: 256 + 22 }; + test_eq(value, value); +} diff --git a/src/test/run-pass/multidispatch1.rs b/src/test/run-pass/multidispatch1.rs new file mode 100644 index 0000000000000..76c87f5d4c59f --- /dev/null +++ b/src/test/run-pass/multidispatch1.rs @@ -0,0 +1,40 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use std::fmt::Show; + +trait MyTrait { + fn get(&self) -> T; +} + +struct MyType { + dummy: uint +} + +impl MyTrait for MyType { + fn get(&self) -> uint { self.dummy } +} + +impl MyTrait for MyType { + fn get(&self) -> u8 { self.dummy as u8 } +} + +fn test_eq(m: M, v: T) +where T : Eq + Show, + M : MyTrait +{ + assert_eq!(m.get(), v); +} + +pub fn main() { + let value = MyType { dummy: 256 + 22 }; + test_eq::(value, value.dummy); + test_eq::(value, value.dummy as u8); +} diff --git a/src/test/run-pass/multidispatch2.rs b/src/test/run-pass/multidispatch2.rs new file mode 100644 index 0000000000000..13131be93c892 --- /dev/null +++ b/src/test/run-pass/multidispatch2.rs @@ -0,0 +1,46 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use std::fmt::Show; +use std::default::Default; + +trait MyTrait { + fn get(&self) -> T; +} + +impl MyTrait for T + where T : Default +{ + fn get(&self) -> T { + Default::default() + } +} + +struct MyType { + dummy: uint +} + +impl MyTrait for MyType { + fn get(&self) -> uint { self.dummy } +} + +fn test_eq(m: M, v: T) +where T : Eq + Show, + M : MyTrait +{ + assert_eq!(m.get(), v); +} + +pub fn main() { + test_eq(22u, 0u); + + let value = MyType { dummy: 256 + 22 }; + test_eq(value, value.dummy); +} diff --git a/src/test/run-pass/traits-conditional-dispatch.rs b/src/test/run-pass/traits-conditional-dispatch.rs new file mode 100644 index 0000000000000..a94f73c2b6da7 --- /dev/null +++ b/src/test/run-pass/traits-conditional-dispatch.rs @@ -0,0 +1,36 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that we are able to resolve conditional dispatch. Here, the +// blanket impl for T:Copy coexists with an impl for Box, because +// Box does not impl Copy. + +trait Get { + fn get(&self) -> Self; +} + +impl Get for T { + fn get(&self) -> T { *self } +} + +impl Get for Box { + fn get(&self) -> Box { box get_it(&**self) } +} + +fn get_it(t: &T) -> T { + (*t).get() +} + +fn main() { + assert_eq!(get_it(&1_u32), 1_u32); + assert_eq!(get_it(&1_u16), 1_u16); + assert_eq!(get_it(&Some(1_u16)), Some(1_u16)); + assert_eq!(get_it(&box 1i), box 1i); +} diff --git a/src/test/run-pass/traits-multidispatch-infer-convert-source-and-target.rs b/src/test/run-pass/traits-multidispatch-infer-convert-source-and-target.rs new file mode 100644 index 0000000000000..c10029791df52 --- /dev/null +++ b/src/test/run-pass/traits-multidispatch-infer-convert-source-and-target.rs @@ -0,0 +1,35 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that if there is one impl we can infer everything. + +use std::mem; + +trait Convert { + fn convert(&self) -> Target; +} + +impl Convert for i16 { + fn convert(&self) -> u32 { + *self as u32 + } +} + +fn test(_: T, _: U, t_size: uint, u_size: uint) +where T : Convert +{ + assert_eq!(mem::size_of::(), t_size); + assert_eq!(mem::size_of::(), u_size); +} + +fn main() { + // T = i16, U = u32 + test(22, 44, 2, 4); +} diff --git a/src/test/run-pass/traits-multidispatch-infer-convert-target.rs b/src/test/run-pass/traits-multidispatch-infer-convert-target.rs new file mode 100644 index 0000000000000..54515f3b0d7d8 --- /dev/null +++ b/src/test/run-pass/traits-multidispatch-infer-convert-target.rs @@ -0,0 +1,46 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that we can infer the Target based on the Self or vice versa. + +use std::mem; + +trait Convert { + fn convert(&self) -> Target; +} + +impl Convert for i16 { + fn convert(&self) -> u32 { + *self as u32 + } +} + +impl Convert for u32 { + fn convert(&self) -> i16 { + *self as i16 + } +} + +fn test(_: T, _: U, t_size: uint, u_size: uint) +where T : Convert +{ + assert_eq!(mem::size_of::(), t_size); + assert_eq!(mem::size_of::(), u_size); +} + +fn main() { + // T = i16, U = u32 + test(22_i16, 44, 2, 4); + test(22, 44_u32, 2, 4); + + // T = u32, U = i16 + test(22_u32, 44, 4, 2); + test(22, 44_i16, 4, 2); +} From 6340c1a3739de1519f7416ac52263b4234965739 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Wed, 1 Oct 2014 05:00:50 -0400 Subject: [PATCH 2/4] Add a model for how conditional trait impls might be used to implement the Fn-FnMut-FnOnce hierarchy. --- .../run-pass/traits-conditional-model-fn.rs | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 src/test/run-pass/traits-conditional-model-fn.rs diff --git a/src/test/run-pass/traits-conditional-model-fn.rs b/src/test/run-pass/traits-conditional-model-fn.rs new file mode 100644 index 0000000000000..11e144e7dfe4e --- /dev/null +++ b/src/test/run-pass/traits-conditional-model-fn.rs @@ -0,0 +1,101 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// A model for how the `Fn` traits could work. You can implement at +// most one of `Go`, `GoMut`, or `GoOnce`, and then the others follow +// automatically. + +use std::rc::Rc; +use std::cell::Cell; + +trait Go { + fn go(&self, arg: int); +} + +fn go(this: &G, arg: int) { + this.go(arg) +} + +trait GoMut { + fn go_mut(&mut self, arg: int); +} + +fn go_mut(this: &mut G, arg: int) { + this.go_mut(arg) +} + +trait GoOnce { + fn go_once(self, arg: int); +} + +fn go_once(this: G, arg: int) { + this.go_once(arg) +} + +impl GoMut for G + where G : Go +{ + fn go_mut(&mut self, arg: int) { + go(&*self, arg) + } +} + +impl GoOnce for G + where G : GoMut +{ + fn go_once(mut self, arg: int) { + go_mut(&mut self, arg) + } +} + +/////////////////////////////////////////////////////////////////////////// + +struct SomeGoableThing { + counter: Rc> +} + +impl Go for SomeGoableThing { + fn go(&self, arg: int) { + self.counter.set(self.counter.get() + arg); + } +} + +/////////////////////////////////////////////////////////////////////////// + +struct SomeGoOnceableThing { + counter: Rc> +} + +impl GoOnce for SomeGoOnceableThing { + fn go_once(self, arg: int) { + self.counter.set(self.counter.get() + arg); + } +} + +/////////////////////////////////////////////////////////////////////////// + +fn main() { + let counter = Rc::new(Cell::new(0)); + let mut x = SomeGoableThing { counter: counter.clone() }; + + go(&x, 10); + assert_eq!(counter.get(), 10); + + go_mut(&mut x, 100); + assert_eq!(counter.get(), 110); + + go_once(x, 1_000); + assert_eq!(counter.get(), 1_110); + + let x = SomeGoOnceableThing { counter: counter.clone() }; + + go_once(x, 10_000); + assert_eq!(counter.get(), 11_110); +} From 2bb0796ae27b3b1c0563f1779680e63b2ca322c3 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Wed, 1 Oct 2014 07:51:46 -0400 Subject: [PATCH 3/4] Convert tests to cross-crate, fix a RefCell bug I found in the process. --- .../middle/typeck/coherence/overlap.rs | 12 ++++- src/test/auxiliary/go_trait.rs | 51 +++++++++++++++++++ ...ket-conflicts-with-specific-cross-crate.rs | 29 +++++++++++ .../run-pass/traits-conditional-model-fn.rs | 44 ++-------------- 4 files changed, 95 insertions(+), 41 deletions(-) create mode 100644 src/test/auxiliary/go_trait.rs create mode 100644 src/test/compile-fail/coherence-blanket-conflicts-with-specific-cross-crate.rs diff --git a/src/librustc/middle/typeck/coherence/overlap.rs b/src/librustc/middle/typeck/coherence/overlap.rs index 88e09c3060060..ccfa31df82646 100644 --- a/src/librustc/middle/typeck/coherence/overlap.rs +++ b/src/librustc/middle/typeck/coherence/overlap.rs @@ -35,8 +35,16 @@ struct OverlapChecker<'cx, 'tcx:'cx> { impl<'cx, 'tcx> OverlapChecker<'cx, 'tcx> { fn check_for_overlapping_impls(&self) { debug!("check_for_overlapping_impls"); - let trait_impls = self.tcx.trait_impls.borrow(); - for trait_def_id in trait_impls.keys() { + + // Collect this into a vector to avoid holding the + // refcell-lock during the + // check_for_overlapping_impls_of_trait() check, since that + // check can populate this table further with impls from other + // crates. + let trait_def_ids: Vec = + self.tcx.trait_impls.borrow().keys().map(|&d| d).collect(); + + for trait_def_id in trait_def_ids.iter() { self.check_for_overlapping_impls_of_trait(*trait_def_id); } } diff --git a/src/test/auxiliary/go_trait.rs b/src/test/auxiliary/go_trait.rs new file mode 100644 index 0000000000000..4902766534a13 --- /dev/null +++ b/src/test/auxiliary/go_trait.rs @@ -0,0 +1,51 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Common code used for tests that model the Fn/FnMut/FnOnce hierarchy. + +pub trait Go { + fn go(&self, arg: int); +} + +pub fn go(this: &G, arg: int) { + this.go(arg) +} + +pub trait GoMut { + fn go_mut(&mut self, arg: int); +} + +pub fn go_mut(this: &mut G, arg: int) { + this.go_mut(arg) +} + +pub trait GoOnce { + fn go_once(self, arg: int); +} + +pub fn go_once(this: G, arg: int) { + this.go_once(arg) +} + +impl GoMut for G + where G : Go +{ + fn go_mut(&mut self, arg: int) { + go(&*self, arg) + } +} + +impl GoOnce for G + where G : GoMut +{ + fn go_once(mut self, arg: int) { + go_mut(&mut self, arg) + } +} diff --git a/src/test/compile-fail/coherence-blanket-conflicts-with-specific-cross-crate.rs b/src/test/compile-fail/coherence-blanket-conflicts-with-specific-cross-crate.rs new file mode 100644 index 0000000000000..2e163bc11a804 --- /dev/null +++ b/src/test/compile-fail/coherence-blanket-conflicts-with-specific-cross-crate.rs @@ -0,0 +1,29 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// aux-build:go_trait.rs + +extern crate go_trait; + +use go_trait::{Go,GoMut}; +use std::fmt::Show; +use std::default::Default; + +struct MyThingy; + +impl Go for MyThingy { + fn go(&self, arg: int) { } +} + +impl GoMut for MyThingy { //~ ERROR conflicting implementations + fn go_mut(&mut self, arg: int) { } +} + +fn main() { } diff --git a/src/test/run-pass/traits-conditional-model-fn.rs b/src/test/run-pass/traits-conditional-model-fn.rs index 11e144e7dfe4e..92ba5aad05958 100644 --- a/src/test/run-pass/traits-conditional-model-fn.rs +++ b/src/test/run-pass/traits-conditional-model-fn.rs @@ -12,48 +12,14 @@ // most one of `Go`, `GoMut`, or `GoOnce`, and then the others follow // automatically. -use std::rc::Rc; -use std::cell::Cell; - -trait Go { - fn go(&self, arg: int); -} - -fn go(this: &G, arg: int) { - this.go(arg) -} +// aux-build:go_trait.rs -trait GoMut { - fn go_mut(&mut self, arg: int); -} +extern crate go_trait; -fn go_mut(this: &mut G, arg: int) { - this.go_mut(arg) -} - -trait GoOnce { - fn go_once(self, arg: int); -} +use go_trait::{Go, GoMut, GoOnce, go, go_mut, go_once}; -fn go_once(this: G, arg: int) { - this.go_once(arg) -} - -impl GoMut for G - where G : Go -{ - fn go_mut(&mut self, arg: int) { - go(&*self, arg) - } -} - -impl GoOnce for G - where G : GoMut -{ - fn go_once(mut self, arg: int) { - go_mut(&mut self, arg) - } -} +use std::rc::Rc; +use std::cell::Cell; /////////////////////////////////////////////////////////////////////////// From 7a07f2a78092b3381d44a86330eb2de364aafb95 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Thu, 9 Oct 2014 17:17:49 -0400 Subject: [PATCH 4/4] Add a few more debug statements --- src/librustc/middle/traits/select.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/librustc/middle/traits/select.rs b/src/librustc/middle/traits/select.rs index 64931b4943572..305528a9af8fa 100644 --- a/src/librustc/middle/traits/select.rs +++ b/src/librustc/middle/traits/select.rs @@ -109,6 +109,7 @@ enum BuiltinBoundConditions { AmbiguousBuiltin } +#[deriving(Show)] enum EvaluationResult { EvaluatedToOk, EvaluatedToErr, @@ -246,7 +247,9 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { obligation.repr(self.tcx())); let stack = self.push_stack(previous_stack.map(|x| x), obligation); - self.evaluate_stack(&stack) + let result = self.evaluate_stack(&stack); + debug!("result: {}", result); + result } fn evaluate_stack(&mut self, @@ -259,6 +262,8 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // that does provide an impl. let input_types = &stack.skol_trait_ref.substs.types; if input_types.iter().any(|&t| ty::type_is_skolemized(t)) { + debug!("evaluate_stack({}) --> unbound argument, must be ambiguous", + stack.skol_trait_ref.repr(self.tcx())); return EvaluatedToAmbig; } @@ -286,6 +291,8 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { .skip(1) // skip top-most frame .any(|prev| stack.skol_trait_ref == prev.skol_trait_ref) { + debug!("evaluate_stack({}) --> recursive", + stack.skol_trait_ref.repr(self.tcx())); return EvaluatedToOk; }