-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for interfaceId. #8642
Conversation
Rebasing this to see the coding style reporter in action. |
There was an error when running
Please check that your changes are working as intended. |
awesome! 😃 |
1f017ed
to
42eabf9
Compare
@aarlt please also change documentation. |
075e84b
to
65858e4
Compare
ef743cc
to
30e3b55
Compare
|
||
function hello() public pure returns (bytes4 data){ | ||
HelloWorld i; | ||
return i.hello.selector; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HelloWorld.hello.selector
does not work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yes, it seem to work. At least if Yul is not used. If Yul is used, we got the following error:
Exception during extracted test: /Users/alex/git/solidity/libsolidity/codegen/ir/IRGeneratorForStatements.cpp(988): Throw in function virtual void solidity::frontend::IRGeneratorForStatements::endVisit(const solidity::frontend::MemberAccess &)
Dynamic exception type: boost::wrapexcept<solidity::langutil::InternalCompilerError>
std::exception::what: Member access to unknown type.
[solidity::util::tag_comment*] = Member access to unknown type.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
6fb43ce
to
eac142a
Compare
Can you add a test case for both Also can you add the example contract form the bottom of the EIP-165 spec (which has the helper for |
@@ -4,11 +4,11 @@ Important Bugfixes: | |||
* Fix tuple assignments with components occupying multiple stack slots and different stack size on left- and right-hand-side. | |||
|
|||
Language Features: | |||
* Add support for EIP 165 interface identifiers with `type(I).interfaceId`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should have used EIP-165
😉
Closes #7856.