You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If there is an unsupported feature in a function, we give a quite user friendly message and skip that function. However, implicit constructors are generated separately and for them this is not done, but rather some confusing errors are printed.
Error while running compiler, details:
Warning: This is a pre-release compiler version, please do not use it in production.
======= Converting to Boogie IVL =======
======= Impl.sol =======
Impl.sol:5:9: solc-verify error: Inline assembly is not supported
assembly { /* ... */ }
^--------------------^
Impl.sol:4:5: solc-verify warning: Errors while translating function body, will be skipped
constructor() public {
^ (Relevant source part starts here and spans across multiple lines).
Impl.sol:5:9: solc-verify error: Inline assembly is not supported
assembly { /* ... */ }
^--------------------^
The first error and warning corresponds to skipping the constructor of Base. However there is an extra error afterwards that corresponds to inlining the constructor of Base when creating the implicit constructor of Derived, but this cannot be seen in the output. This also makes the whole translation and verification fail, instead of printing the skipped functions in a nice way. The workaround should be simple, we just have to include the error reporter swapping code from functions into implicit constructors as well.
The text was updated successfully, but these errors were encountered:
Base::[constructor]: SKIPPED
Derived::[constructor]: SKIPPED
Use --show-warnings to see 2 warnings.
Some functions were skipped. Use --show-warnings to see details.
No errors found.
Output should be similar if the constructor is implicit.
If there is an unsupported feature in a function, we give a quite user friendly message and skip that function. However, implicit constructors are generated separately and for them this is not done, but rather some confusing errors are printed.
For the following contracts
we get the output
The first error and warning corresponds to skipping the constructor of
Base
. However there is an extra error afterwards that corresponds to inlining the constructor ofBase
when creating the implicit constructor ofDerived
, but this cannot be seen in the output. This also makes the whole translation and verification fail, instead of printing the skipped functions in a nice way. The workaround should be simple, we just have to include the error reporter swapping code from functions into implicit constructors as well.The text was updated successfully, but these errors were encountered: