stainless icon indicating copy to clipboard operation
stainless copied to clipboard

Verification framework and tool for higher-order Scala programs

Results 183 stainless issues
Sort by recently updated
recently updated
newest added

For `@synthetic` functions we re-assert postconditions at inlined call sites (see https://github.com/epfl-lara/stainless/blob/3da44e47828dd6269131270b76ada1617eb00b6a/core/src/main/scala/stainless/extraction/inlining/FunctionInlining.scala#L114). The particular way in which this is done, i.e., by let-binding the post condition and *then* asserting the...

This is a low-priority feature request. GitHub limits individual file sizes by default to 100MB. Because we commit the fat JAR to our GitHub repo (yes, I know...), its size...

It seems string operations are unsupported `object asdf { def testString(s: String):Boolean = s.isEmpty }` Stainless error: stainless.frontend.package$UnsupportedCodeException: Unknown call to isEmpty on s (String) with arguments List() of type...

enhancement
reporting
feature

This code: ```scala @extern case class Foo() { var counter: Int = 0 } ``` shows message: ``` [ Error ] extern.scala:5:5: Mutable fields in traits cannot have a default...

bug
reporting

The combination of - using a type class, - having a recursive data type and - matching on a `Tuple2` ADT makes Stainless time out on the following benchmark: ```scala...

bug
imperative
aliasing

Thanks to Romain (J) for reporting Stainless times out on the assertion `arePositive(l)`. ```scala import stainless.collection._ object Imperative { case class Test(var l: List[BigInt]) { def lemma(x: BigInt, amount: BigInt)...

enhancement
imperative
FAQ

Ok this one is a Sev 2 from my vantage point. Stainless does not support `return`. One way out -- when attempting to get existing (Scala) code to work with...

imperative
feature

Since I've enabled inlining (once) of recursive functions in themselves, this example fails: ```scala import stainless.annotation._ import stainless.collection._ import stainless.lang._ object InlineOnce { def test(l: List[BigInt]): Unit = { require(arePositive(l)...

FAQ

The easiest to explain form of strong specification is having two versions of a method and proving that one behaves just like the other (possibly under some joint precondition). The...