Hello,

I am experimenting with arraymancer and when compiling with nimble install 
--gc:arc while using arraymancer I encounters weird behaviour such as :

  * code blocking on Matrix by scalar :code:* operation
  * SIGSEGV: Illegal storage access. (Attempt to read from nil?) when doing 
Matrix by Matrix :code:*. operation



I am using the devel nim :
    
    
    Nim Compiler Version 1.1.1 [Linux: amd64]
    Compiled at 2020-03-05
    Copyright (c) 2006-2019 by Andreas Rumpf

I installed arraymancer with nimble install arraymancer@#head

For reference here is the code that reproduce :
    
    
    import arraymancer
    
    proc doubleMe(data : Tensor[float]): Tensor[float]=
      result = data*2
    
    proc squareMe(data : Tensor[float]): Tensor[float]=
      result = data*.data
    
    let A : seq[float] = @[0.11, 0.12, 0.13, 0.14]
    echo A.type
    echo A
    var B : Tensor[float] = A.toTensor
    echo B
    # Blocking
    var C = doubleMe(B)
    echo C
    #Segfault
    var D = squareMe(C)
    echo D
    
    
    Run

If I remove the \--gc:arc flag it behaves normally.

Is this "normal" behaviour (meaning arraymancer does not support arc) or am I 
miss something obvious ? 

Reply via email to