Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

packSCMP Continued #373

Merged
merged 15 commits into from
Aug 15, 2024
4 changes: 2 additions & 2 deletions pkg/private/serrors/serrors_spec.gobra
Original file line number Diff line number Diff line change
Expand Up @@ -76,12 +76,12 @@ func Wrap(msg, cause error, errCtx ...interface{}) (res error)
// Elements of errCtx are limited to "primitive types" at the moment.
// This is a safe but strict under-approximation of what can be done
// with this method.
requires cause.ErrorMem()
requires cause != nil ==> cause.ErrorMem()
preserves forall i int :: { &errCtx[i] } 0 <= i && i < len(errCtx) ==> acc(&errCtx[i], R15)
// The following precondition cannot be adequately captured in Gobra.
// requires forall i int :: 0 <= i && i < len(errCtx) ==> IsOfPrimitiveType(errCtx[i])
ensures res != nil && res.ErrorMem()
ensures res.ErrorMem() --* cause.ErrorMem()
ensures cause != nil ==> (res.ErrorMem() --* cause.ErrorMem())
decreases
func WrapStr(msg string, cause error, errCtx ...interface{}) (res error)

Expand Down
2 changes: 1 addition & 1 deletion router/assumptions.gobra
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
// +gobra

// This file is used for declaring assumptions which we cannot currenlty do
// away with, due to Gobra's incompletnesses or lack of support for
// away with, due to Gobra's incompletnesses or lack of support for
// specific features, like post-initialization invariants or because
// Gobra does not currently infer that 'x' != nil if 'x.Mem()' holds,
// where 'x' is of an interface type.
Expand Down
Loading
Loading