interface identity (was Re: Proposed new dependency: github.com/juju/errors (and github.com/juju/errgo))
Tim Penhey
tim.penhey at canonical.com
Wed May 28 01:43:11 UTC 2014
On 28/05/14 13:31, Nate Finch wrote:
> If you're talking about errgo, if all we care about is transition, but
> not what the actual types are, we could just record in the list when we
> mask the type.
We could, but that would mean walking the list every time you want to
check the cause. It would also change the meaning of cause, so a nil
cause means get the cause from the previous (underlying) error.
Do you not agree with me though that in the general Go language there
should be a way to check identity? Or do you not agree?
Tim
>
> On May 27, 2014 8:48 PM, "Tim Penhey" <tim.penhey at canonical.com
> <mailto:tim.penhey at canonical.com>> wrote:
>
> On 28/05/14 12:43, Nate Finch wrote:
> > This sounds like one of those "if you have to ask this question,
> you're
> > doing something wrong".
> >
> > Can you give an example of where we need this?
>
> Sure... let's say we have a stack of errors, for simplicity of the
> argument lets say it is a slice of error interface values.
>
> stack []error
>
> * an error is pushed on to the stack initially, we now have one error
> * the same error is pushed (or appended - I don't care)
> * we now have the same error twice
> * I push a new error on the stack, so it looks a little like this
> [err1, err1, err2] right?
>
> Now iterating through this slice I want to know when the error changes.
>
> There seems to be no clean way to do this.
>
> Tim
>
>
More information about the Juju-dev
mailing list