From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id A529559CA3 for ; Tue, 15 Mar 2016 06:24:29 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9D7C121C021; Tue, 15 Mar 2016 06:24:27 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 12AD621C001 for ; Tue, 15 Mar 2016 06:24:26 +0000 (UTC) Received: from [192.168.0.20] (ip68-5-185-102.oc.oc.cox.net [68.5.185.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: zmedico) by smtp.gentoo.org (Postfix) with ESMTPSA id 8104634092D; Tue, 15 Mar 2016 06:24:25 +0000 (UTC) Subject: Re: [gentoo-portage-dev] [Patch] Repoman rewrite stage2 modularization conversion complete To: gentoo-portage-dev@lists.gentoo.org, dolsen@gentoo.org References: <20160110134008.4fce78c0.dolsen@gentoo.org> <5693CCAF.7020102@gentoo.org> <20160305133705.42b54258.dolsen@gentoo.org> <56E6F167.4050806@gentoo.org> <56E6F343.80005@gentoo.org> <20160314105256.37fb8e90.dolsen@gentoo.org> <56E754D3.5080308@gentoo.org> <20160314174710.4b6ebd1e.dolsen@gentoo.org> <56E75FB8.9060802@gentoo.org> From: Zac Medico Message-ID: <56E7AA96.3070106@gentoo.org> Date: Mon, 14 Mar 2016 23:24:22 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org MIME-Version: 1.0 In-Reply-To: <56E75FB8.9060802@gentoo.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Archives-Salt: 6a9b53fd-9f20-4e2b-9a01-91b925b43ac3 X-Archives-Hash: 793cfdb701e3a58bba5779dc33a70d50 On 03/14/2016 06:04 PM, Zac Medico wrote: >> The only consumer for that allvalid variable is the metadata >> UnusedCheck class. >> >> So the allvalid variable is True until found False >> by whichever checks along the way find it to be False. Like a fuse, >> it's good until it's blown, then it can never be good again. I don't >> think this particular variable justifies a special class that more >> fully mimics a fuse. Impossible to reset it like a breaker. > > Yeah, let's do it. It's a great opportunity to add clarity to the code, > and prevent future goofs. We could have modules declare all of their input/output keys, filter input keys to only include those requested by the module, and trigger an error if a module's invocation returns unexpected key(s). That way, the interfaces will be clearly defined (we can even assert specific types if we want), and it will be much easier for a person to reason about the system. -- Thanks, Zac