IGI-111

Results 106 issues of IGI-111

String literals should support [typical escape codes](https://doc.rust-lang.org/reference/tokens.html), such as `\n`.

good first issue
compiler: parser
compiler: ui
team:compiler
ODHack12

The pass is modifying the caller block before fetching instructions to inline within callee block.

bug
compiler: ir
compiler: optimization

mlog / mroo should be safe operations and panic on illegal inputs. ([1](https://github.com/FuelLabs/sway/blob/master/sway-lib-std/src/math.sw#L152)) / ([2](https://github.com/FuelLabs/sway/blob/master/sway-lib-std/src/math.sw#L31))

bug
lib: std
audit-report

Currently, all invalid arithmetic operations including division by zero and all overflows are considered UB to allow for optimization. We may want to reconsider this as the VM doesn't make...

compiler
audit-report

* FxHasher is currently used for function [hashing](https://github.com/FuelLabs/sway/blob/master/sway-ir/src/optimize/fn_dedup.rs#L55), which is not a cryptographically secure hash according to the [document](https://docs.rs/fxhash/latest/fxhash/). Diving deeper into the hasher [implementation](https://docs.rs/fxhash/latest/src/fxhash/lib.rs.html#64) reveals that there are no...

compiler: ir
compiler: optimization
audit-report
team:compiler

CS-FSSA-025 Some operators like return are assigned to a Never type also denoted with !. This represents expressions whose evaluation cannot be assigned if they're on the right-hand-side. When never...

bug
P: low
audit-report

CS-FSSA-021 Empty arrays are assigned the never type. Never type is treated as a subtype of all types. This means that a never array should be assignable to an empty...

bug
P: low
audit-report

CS-FSSA-018 Users can define generic structs that implement generic functions. For example the following is a valid Sway program: ```sway script; struct S { x: T, } struct M1 {}...

bug
P: low
audit-report

CS-FSSA-016 The same code snippet as in Incomplete monomorphisation leads to ICE cannot be made to compile, even if the call to feed() is replaced with its fully-qualified version feed::()....

bug
P: low
audit-report

CS-FSSA-020 An early check in the compilation process, before type-checking begins, ensures that the module dependency graph has no cycles. However, the algorithm employed is broken, as it only goes...

bug
P: low
audit-report