tree c590d014235c41a76b3c367f1ec49aa19dab0abe
parent c3fc3d02ec864719d8e25be2d7dde1e35a36aa27
author Abhinav Gupta <abg@uber.com> 1572891784 -0800
committer GitHub <noreply@github.com> 1572891784 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJdwGyICRBK7hj4Ov3rIwAAdHIIAARvIhA9dL6uBEhOScoMhwTj
 EztIgbEWzNT8lzIig+60kB6loaMdensnLVHGobenUSm3tiR8QAo+tRAo5wr2RRyG
 HHumXUzR26jQCwcSfk9uZTiahGgyDododn8HyxfDpSGlHmDjB1gaws0gxiQ9VIei
 EBdH2+qcqmN/ZCypDmCuxNEx2y/5zvdH+Ho6F8h0HmsbD+vlxFPrPguimJ1QBXVk
 7VXYtgBfawiaI+nhHRb2lrD7KYWGkMnQB5e1fgBWZ7F+qLYMHqncPcjCe1lwt9t8
 8gF1yEltkxqcL5CMbHjKvFTxK6vAu0ELrHGgW3G7O5NzNFU0vW32hNe0xyYzgEw=
 =us4e
 -----END PGP SIGNATURE-----
 

Add AppendInto function (#31)

This adds an AppendInto function that behaves similarly to Append
except, it operates on a `*error` on the left side and it reports
whether the right side error was non-nil.

    func AppendInto(*error, error) (errored bool)

Making the left side a pointer aligns with the fast path of `Append`.

Returning whether the right error was non-nil aligns with the standard
`if err := ...; err != nil` pattern.

```diff
-if err := thing(); err != nil {
+if multierr.AppendInto(&err, thing()) {
   continue
 }
```

Resolves #21
