xermicus

Results 59 issues of xermicus

We need to change the current model so that optimization passes can run multiple times. Extracted from a discussion in the chat: ``` What I can say about constant folding...

enhancement

We should ABI encode compile time constant values at compile time. I had to work around this in #1449 for error data. However it is not entirely clear yet how...

enhancement

We should add tests on our CI ensuring that using the same version of Solang on Windows, Mac and Linux (both x86 and ARM) produce the exact same contract artifact...

enhancement

Since the custom LLVM fork should only be necessary for the Solana backend, we should decouple the substrate backend. Otherwise anyone wanting to use solang as a library is forced...

enhancement

Currently, we just support 256 bit wide integers, which are primitive types in `scale-info`. This type is [about to be removed](https://github.com/paritytech/scale-info/pull/181) from `scale-info`. The way forward is to change the...

enhancement
polkadot

The scratch buffer is (re)used very often in emit (at least in the substrate target). This might lead to unwanted data leakage, exposing access to bogus data in memory from...

bug
polkadot

I'm reading through [this section in the Solidity docs](https://docs.soliditylang.org/en/v0.8.20/contracts.html#multiple-inheritance-and-linearization). Without diving into the code, I don't think we handles this correctly, because the following code compiles fine for the polkadot...

bug

Currently it's super easy to write code that forgets to unwrap user types. I _think_ that for most cases, we want to work with the actual type and not the...

enhancement
under discussion

[Overwriting interface functions](https://github.com/ethereum/solidity/pull/11628) was removed in [Solidity 0.8.8](https://blog.soliditylang.org/2021/09/27/solidity-0.8.8-release-announcement/), while Solang still allows for it.

bug

The code example about [linearization of constructors from the Solidity docs](https://docs.soliditylang.org/en/v0.8.20/contracts.html#multiple-inheritance-and-linearization) produces wrong code: ```solidity // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0

bug