WhileyCompiler icon indicating copy to clipboard operation
WhileyCompiler copied to clipboard

The Whiley Compiler (WyC)

Results 43 WhileyCompiler issues
Sort by recently updated
recently updated
newest added

Currently, the following passes verification: ```whiley assert (-6) / 4 == -2 assert (-6) % 4 == 2 ``` However, they _fail_ runtime checking! In contrast, the following pass runtime...

Bug

It makes sense that we have a single source of truth for the reference tests, since these are shared across multiple components. Currently, they are updated through manual copying ......

When using the following comment structure (that enables to switch commented lines easily), ```Whiley function comments(int a, int b) -> int: //* a = a + 1 /*/ b =...

Bug
Parsing
Easy

_(see also #706)_ Currently, `MoveAnalysis` has two distinct limitations which should be addressed: 1. **Does not distinguish moves from borrows**. Consider the expression `arr[i]` for some array `arr`. The analysis...

Feature

There are various situations where we can end up with _duplicate_ error messages. The following is a simple example: ```Whiley function f(int z) -> int: if z: return 1 return...

_(see also https://github.com/Whiley/RFCs/issues/36 and https://github.com/Whiley/RFCs/pull/51)_ The semantics of the runtime type test operator `is` remain problematic, despite potential improvements coming from RFC#51. **In short, relying only on the underlying type...

The following now fails to type check: ```Whiley type Tree is null | Node type Node is {int data, Tree rhs, Tree lhs} where (lhs is null) || (lhs.data <...

Bug
Typing

_(see also #845)_ At the moment, there is no sutyping operator for casts. Thus, the following fails: ```Whiley type Link is {int data} type BigLink is {int data, int code}...

The following does not parse for reasons unknown: ```Whiley type fn is function()->(int) method m(fn[] fs): assume fs[0]() == 11 ```

Bug
Parsing
Easy

At the moment, the `branch always taken` check is embedded within `FlowTypeCheck`. This actually causes problems because it results in errors being raise prematurely. For example, consider this: ```Whiley method...

Bug
Typing