xermicus
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...
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...
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...
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...
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...
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...
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...
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...
[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.
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