Sarek Høverstad Skotåm

Results 19 issues of Sarek Høverstad Skotåm

I cannot seem to find a way to implement `Default`. Ie: ```rust struct MyStruct {} impl Default for MyStruct { fn default() -> Self { Self {} } } ```...

enhancement

Pretty odd issue tbh. ie: ```rust #[requires(x@ < (u32::MAX@ / 1))] fn div_err(f: f64, x: u32) {} ``` and: ```rust #[requires(x@ < usize::MAX@ / 1)] fn div_err(f: f64, x: usize)...

bug

NOTE: (Okay, I just remembered `#[why3::attr = "inline:trivial"]` exists, which, when added to the `fn invariant` in `Invariant` causes the two implementations to take roughly the same amount of time)....

enhancement

```rust #[requires((*a)@ == 0)] fn test_arc(a: Arc) {} ``` gives: `File "../pt.mlcfg", line 53, characters 77-89: unbound function or predicate symbol 'Deref0.deref'` Same error for `Rc`.

bug
error-messages

Could probably be reduced further, but, this code: ```rust struct Heap { activity: Vec, heap: Vec, indices: Vec, num_vars: usize, } impl Heap { pub(crate) fn new(n: usize) -> Self...

bug

Here exemplified with a `Heap` which implements `IndexMut`. The source of the conflict is ```rust && forall 0 self.heap@[i]@ < [email protected]() ``` in the `invariant` (as we have no way...

enhancement

The following code ```rust use creusot_contracts::*; pub struct Formula { vec: Vec, b: bool, } impl ShallowModel for Formula { type ShallowModelTy = (Seq, bool); #[logic] #[open] fn shallow_model(self) ->...

This is a regression, meaning that the following pattern previously worked in CreuSAT, but now gives an MLCFG error. The following code: ```rust use creusot_contracts::*; #[logic] #[open(self)] // Opacity doesn't...

Currently the following: ```rust #[open] #[logic] fn my_logic_function() {} #[open] #[logic] pub fn my_pub_logic_function() { my_logic_function() } ``` would return the following error: ``` Cannot make `"my_logic_function"` transparent in `"my_pub_logic_function"`...

enhancement