Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion compiler/noirc_frontend/src/hir/resolution/resolver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ use crate::hir_def::expr::{
HirMemberAccess, HirMethodCallExpression, HirPrefixExpression,
};

use crate::token::FunctionAttribute;
use crate::hir_def::traits::{Trait, TraitConstraint};
use crate::token::FunctionAttribute;
use regex::Regex;
use std::collections::{BTreeMap, HashSet};
use std::rc::Rc;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
name = "conditional_3_regression"
name = "conditional_regression_421"
type = "bin"
authors = [""]
compiler_version = "0.1"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
c=[2, 4, 3, 0, ]
a=0
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
fn main(a: u32, mut c: [u32; 4]){
//Issue reported in #421
if a == c[0] {
assert(c[0] == 0);
} else {
if a == c[1] {
assert(c[1] == 0);
} else {
if a == c[2] {
assert(c[2] == 0);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[package]
name = "conditional_regression_547"
type = "bin"
authors = [""]
compiler_version = "0.1"

[dependencies]
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
fn main() -> pub Field {
// Regression test for issue #547
// Warning: it must be kept at the start of main
let arr: [u8; 2] = [1, 2];
if arr[0] != arr[1] {
for i in 0..1 {
assert(i != 2);
}
}

// Regression for predicate simplification
safe_inverse(0)
}

fn safe_inverse(n: Field) -> Field
{
if n == 0 {
0
}
else {
1 / n
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[package]
name = "conditional_regression_579"
type = "bin"
authors = [""]
compiler_version = "0.1"

[dependencies]
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
fn main(){
//Regression for Issue #579
let result1_true = test(true);
assert(result1_true.array_param[0] == 1);
let result1_false = test(false);
assert(result1_false.array_param[0] == 0);
}

struct MyStruct579 {
array_param: [u32; 2]
}

impl MyStruct579 {
fn new(array_param: [u32; 2]) -> MyStruct579 {
MyStruct579 {
array_param: array_param
}
}
}

fn test(flag: bool) -> MyStruct579 {
let mut my_struct = MyStruct579::new([0; 2]);

if flag == true {
my_struct= MyStruct579::new([1; 2]);
}
my_struct
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[package]
name = "conditional_regression_661"
type = "bin"
authors = [""]
compiler_version = "0.1"

[dependencies]
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
fn main(a: u32, mut c: [u32; 4]){
// Regression for issue #661:
let mut c_661 :[u32;1]=[0];
if a > 5 {
c_661 = issue_661_foo(issue_661_bar(c), a);
} else {
c_661 = issue_661_foo(issue_661_bar(c), a + 2);
}
assert(c_661[0] < 20000);
}

fn test5(a : u32) {
if a > 1 {
let q = a / 2;
assert(q == 2);
}
}


fn issue_661_foo(array: [u32;4], b:u32) ->[u32;1] {
[array[0]+b]
}

fn issue_661_bar(a : [u32;4]) ->[u32;4] {
let mut b:[u32;4] = [0;4];
b[0]=a[0]+1;
b
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[package]
name = "conditional_regression_short_circuit"
type = "bin"
authors = [""]
compiler_version = "0.1"

[dependencies]
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
c=[2, 4, 3, 0, ]
a=0
x = [104, 101, 108, 108, 111]

result = [
0x2c,
0xf2,
0x4d,
0xba,
0x5f,
0xb0,
0xa3,
0x0e,
0x26,
0xe8,
0x3b,
0x2a,
0xc5,
0xb9,
0xe2,
0x9e,
0x1b,
0x16,
0x1e,
0x5c,
0x1f,
0xa7,
0x42,
0x5e,
0x73,
0x04,
0x33,
0x62,
0x93,
0x8b,
0x98,
0x24,
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
use dep::std;

fn main(a: u32, mut c: [u32; 4], x: [u8; 5], result: pub [u8; 32]){
//regression for short-circuit2
if 35 == a {
assert(false);
}
bar(a as Field);

if a == 3 {
c = test4();
}
assert(c[1] != 2);
call_intrinsic(x, result);
}



fn foo() {
let mut x = 1;
x /= 0;
}

fn bar(x:Field) {
if x == 15 {
foo();
}
}


fn call_intrinsic(x: [u8; 5], result: [u8; 32]) {
let mut digest = std::hash::sha256(x);
digest[0] = 5 as u8;
digest = std::hash::sha256(x);
assert(digest == result);
}

fn test4() -> [u32; 4] {
let b: [u32; 4] = [1,2,3,4];
b
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[package]
name = "cconditional_regression_to_bits"
type = "bin"
authors = [""]
compiler_version = "0.1"

[dependencies]
Loading