aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4799 from ethereum/semanticsTestsGasEtAlchriseth2018-08-145-0/+122
|\ | | | | Semantics tests for ``gasleft()``, ``blockhash()`` ``tx.gasprice`` and ``block.gaslimit``
| * Fix tests for constantinople (expect zero for the time being).Daniel Kirchner2018-08-141-9/+22
| |
| * Add missing tests for ``gasleft()``, ``blockhash()`` ``tx.gasprice`` and ↵Daniel Kirchner2018-08-145-0/+109
| | | | | | | | ``block.gaslimit``.
* | Merge pull request #4777 from ethereum/typeConversionMemorychriseth2018-08-145-5/+14
|\ \ | |/ |/| Defaul data location for type conversions is memory.
| * Defaul data location for type conversions is memory.chriseth2018-08-135-5/+14
| |
* | Merge pull request #4798 from ethereum/mappingArgumentsAndReturnschriseth2018-08-1336-7/+438
|\ \ | | | | | | Mapping arguments and returns
| * | Add tests for mappings in function types.Daniel Kirchner2018-08-134-0/+20
| | |
| * | Allow mappings of arrays as arguments and return values of internal functions.Daniel Kirchner2018-08-1313-4/+101
| | |
| * | Consider mappings return values in control flow analysis.Daniel Kirchner2018-08-136-1/+25
| | |
| * | Allow mapping arguments and return values in all internal functions.Daniel Kirchner2018-08-136-11/+57
| | |
| * | Allow mapping arguments and return values in internal library functions.Daniel Kirchner2018-08-1315-1/+245
| |/
* | Merge pull request #4696 from ethereum/byteLiteralConversionchriseth2018-08-1326-126/+316
|\ \ | | | | | | Disallow ambiguous implicit and explicit conversions from number literals to bytesXX
| * | Disallow ambiguous conversions between number literals and bytesXX types.Daniel Kirchner2018-08-1326-126/+316
| | |
* | | Merge pull request #4618 from ethereum/docs-1211-contract-typechriseth2018-08-131-10/+23
|\ \ \ | | | | | | | | Add contract type to types documentation
| * | | Update from feedbackChris Ward2018-08-131-3/+6
| | | |
| * | | Remove initial sentence.chriseth2018-08-061-8/+5
| | | |
| * | | Changes after rebasingChris Ward2018-08-011-12/+18
| | | |
| * | | Add contract type to types docChris Ward2018-08-011-0/+7
| | | |
* | | | Merge pull request #4794 from ethereum/tableWrapchriseth2018-08-132-4/+4
|\ \ \ \ | |_|_|/ |/| | | Fix table css.
| * | | Fix table css.chriseth2018-08-102-4/+4
| | |/ | |/|
* | | Merge pull request #4793 from ethereum/emptyRemappingschriseth2018-08-1310-43/+82
|\ \ \ | |/ / |/| | Disallow remappings with empty prefix.
| * | Update documentation.Daniel Kirchner2018-08-112-11/+11
| | |
| * | Disallow remappings with empty prefix.Daniel Kirchner2018-08-118-32/+71
|/ /
* | Merge pull request #4791 from ethereum/useCodeBlockchriseth2018-08-102-23/+23
|\ \ | | | | | | Use code-block when using a different language.
| * | Use code-block when using a different language.chriseth2018-08-102-23/+23
|/ /
* | Merge pull request #4790 from ethereum/fixCalldatachriseth2018-08-101-1/+1
|\ \ | | | | | | Fix data location of external reference parameters.
| * | Fix data location of external reference parameters.chriseth2018-08-091-1/+1
| | |
* | | Merge pull request #4767 from ethereum/cvc4BuildDaniel Kirchner2018-08-095-13/+39
|\ \ \ | | | | | | | | Add workarounds for building against CVC4 on ArchLinux.
| * | | Add Changelog entry.Daniel Kirchner2018-08-091-0/+1
| | | |
| * | | Do not force GMP to be present as dependency of CVC4, but also allow CLN ↵Daniel Kirchner2018-08-093-17/+23
| | | | | | | | | | | | | | | | instead.
| * | | Add workarounds for building against CVC4 on ArchLinux.Daniel Kirchner2018-08-093-2/+21
| | | |
* | | | Merge pull request #4786 from gftea/developchriseth2018-08-091-1/+1
|\ \ \ \ | |_|/ / |/| | | add "ref for text "fallback function" in Types.rst
| * | | add link for text "fallback function"gftea2018-08-091-1/+1
| | | |
* | | | Merge pull request #4785 from f-daniel/patch-1chriseth2018-08-091-0/+9
|\ \ \ \ | | | | | | | | | | Extension of tools list in documentation
| * | | | Extension of tools listf-daniel2018-08-091-0/+9
|/ / / / | | | | | | | | Adding some recent and reliable tools to work with smart contracts and analyze their security.
* | | | Merge pull request #4783 from elopio/test/function-call-syntactical-equalitychriseth2018-08-091-1/+27
|\ \ \ \ | | | | | | | | | | tests: add yul simplifier not applied with function calls
| * | | | tests: add yul simplifier not applied with function callsLeo Arias2018-08-091-1/+27
| |/ / /
* | | | Merge pull request #4784 from ethereum/fixes-msvc-compilationchriseth2018-08-091-24/+25
|\ \ \ \ | |/ / / |/| | | Fixes compilation under MSVC introduced in PR #4772.
| * | | Fixes compilation under MSVC.Christian Parpart2018-08-091-24/+25
|/ / /
* | | Merge pull request #4781 from ethereum/stdNextchriseth2018-08-092-2/+2
|\ \ \ | | | | | | | | Explicitly use std::next to avoid boost version.
| * | | Explicitly use std::next to avoid boost version.chriseth2018-08-092-2/+2
|/ / /
* | | Merge pull request #4778 from ethereum/dynamicArraysDocschriseth2018-08-091-8/+5
|\ \ \ | | | | | | | | Change note about returning dynamic arrays.
| * | | Change note about returning dynamic arrays.chriseth2018-08-091-8/+5
|/ / /
* | | Merge pull request #4775 from ethereum/sha3-to-keccak256chriseth2018-08-096-15/+15
|\ \ \ | | | | | | | | Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in libevmasm)
| * | | Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in ↵Alex Beregszaszi2018-08-096-15/+15
| | | | | | | | | | | | | | | | libevmasm)
* | | | Merge pull request #4773 from ethereum/chriseth-patch-1chriseth2018-08-091-7/+5
|\ \ \ \ | |/ / / |/| | | Clarify packed encoding.
| * | | Clarify packed encoding.chriseth2018-08-091-7/+5
| | | |
* | | | Merge pull request #4772 from ethereum/asm-jsonAlex Beregszaszi2018-08-093-3/+182
|\ \ \ \ | |/ / / |/| | | Add tests for the assembler object (and avoid misusing string{} for u256)
| * | | Use dev::toString() in Assembly instead of misusing string{} for u256Alex Beregszaszi2018-08-091-2/+2
| | | |
| * | | Test for legacyAssembly in StandardCompilerAlex Beregszaszi2018-08-091-1/+29
| | | |
| * | | Add tests for the assembler objectAlex Beregszaszi2018-08-091-0/+151
| |/ /
* | | Merge pull request #4684 from ethereum/underscores_in_numeric_literalschriseth2018-08-0915-14/+256
|\ \ \ | |/ / |/| | [BREAKING] Underscores in numeric literals
| * | Cleanup & polish numbers-with-underscores parsing, also improving tests.Christian Parpart2018-08-0812-200/+180
| | |
| * | Add stricter hex underscore rulesBalajiganapathi S2018-08-087-20/+86
| | |
| * | Allow underscores in numbers.Balajiganapathi S2018-08-085-2/+198
| | |
* | | Merge pull request #4665 from mattaereal/cmake-patch-solverAlex Beregszaszi2018-08-095-11/+43
|\ \ \ | | | | | | | | cmake option added to make solvers optional
| * | | cmake flags to make solvers optional. Implementation of #4651Matías Aereal Aeón2018-08-085-11/+43
| | | |
* | | | Merge pull request #4770 from ethereum/throw-codegenAlex Beregszaszi2018-08-091-4/+2
|\ \ \ \ | | | | | | | | | | Remove code generation for Throw statement
| * | | | Remove code generation for Throw statementAlex Beregszaszi2018-08-091-4/+2
| | | | | | | | | | | | | | | | | | | | It is disallowed in the type system.
* | | | | Merge pull request #4769 from ethereum/inlineasm-overloading-resolutionAlex Beregszaszi2018-08-093-0/+15
|\ \ \ \ \ | |/ / / / |/| | | | Provide nicer error message when referencing overloaded references
| * | | | Provide nicer error message when referencing overloaded referencesAlex Beregszaszi2018-08-083-0/+15
| | | | |
* | | | | Merge pull request #4753 from mattaereal/boost-to-string-patchAlex Beregszaszi2018-08-0814-36/+32
|\ \ \ \ \ | | | | | | | | | | | | Replace boost:lexical_cast<std::string> for std::to_string.
| * | | | | Removing std:: from std::to_string and include for boost/lexical_castMatías Aereal Aeón2018-08-0813-35/+31
| | | | | |
| * | | | | Replace boost:lexical_cast<std::string> for std::to_string.Matías Aereal Aeón2018-08-084-11/+11
| | |/ / / | |/| | |
* | | | | Merge pull request #4761 from ethereum/libsolc-exceptionsAlex Beregszaszi2018-08-084-22/+28
|\ \ \ \ \ | |_|/ / / |/| | | | Mark libsolc external C functions as noexcept
| * | | | Mark libsolc external C functions as noexceptAlex Beregszaszi2018-08-082-18/+24
| | | | | | | | | | | | | | | | | | | | These are part of the external C API where leaking through exceptions makes no sense.
| * | | | Mark StandardCompiler::compile as noexceptAlex Beregszaszi2018-08-082-4/+4
| | |/ / | |/| | | | | | | | | | It has a generic catch statement and shouldn't leak out exceptions.
* | | | Merge pull request #4763 from ethereum/remove-experimental-050Alex Beregszaszi2018-08-083-6/+2
|\ \ \ \ | | | | | | | | | | Remove experimental 0.5.0 pragma
| * | | | Remove experimental 0.5.0 pragmaAlex Beregszaszi2018-08-083-6/+2
|/ / / /
* | | | Merge pull request #4740 from ethereum/enforceNumberOfReturnValueschriseth2018-08-0813-38/+101
|\ \ \ \ | | | | | | | | | | Disallow empty return in function with return arguments.
| * | | | Add back lost test case to a more reasonable location.Daniel Kirchner2018-08-081-0/+3
| | | | |
| * | | | Adjust return expressions in compilation tests.Daniel Kirchner2018-08-082-9/+8
| | | | |
| * | | | Update and extend tests for return expressions.Daniel Kirchner2018-08-088-28/+84
| | | | |
| * | | | Disallow empty return expressions in functions with non-empty return parameters.Daniel Kirchner2018-08-082-1/+6
| | | | |
* | | | | Merge pull request #4589 from sifmelcara/fix/dynamic-link-boost-testAlex Beregszaszi2018-08-082-0/+19
|\ \ \ \ \ | | | | | | | | | | | | Fix shared boost test library build by customizing main
| * | | | | Define BOOST_TEST_DYN_LINK for building soltest if Boost_USE_STATIC_LIBS is ↵Daniel Kirchner2018-08-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | not set.
| * | | | | Fix shared boost test library build by customizing mainmingchuan2018-08-021-0/+15
| | | | | |
* | | | | | Merge pull request #4528 from guidovranken/propagate_CMAKE_CXX_FLAGS_jsoncppAlex Beregszaszi2018-08-081-3/+11
|\ \ \ \ \ \ | | | | | | | | | | | | | | Propagate original CMAKE_CXX_FLAGS to jsoncpp compilation
| * | | | | | Rename JSONCPP_EXTRA_FLAGS to JSONCPP_CXX_FLAGS, add EMSCRIPTEN workaround ↵Daniel Kirchner2018-08-081-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and remove obsolete MSVC workaround.
| * | | | | | Propagate original CMAKE_CXX_FLAGS to jsoncpp compilationGuido Vranken2018-07-191-1/+1
| | | | | | |
* | | | | | | Merge pull request #4747 from ethereum/enum-docschriseth2018-08-081-1/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Update enum with lifting the restriction for interfaces
| * | | | | | | Update enum with lifting the restriction for interfacesAlex Beregszaszi2018-08-081-1/+0
| | |_|_|/ / / | |/| | | | |
* | | | | | | Merge pull request #4737 from ethereum/isoltestEarlyExitchriseth2018-08-081-13/+22
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Return from main if quit was requested during a sub-testsuite.
| * | | | | | | Initialize ``TestTool::m_formatted``.Daniel Kirchner2018-08-081-1/+1
| | | | | | | |
| * | | | | | | Always count all test cases in isoltest and exit early on user request.Daniel Kirchner2018-08-081-12/+21
| | |_|_|/ / / | |/| | | | |
* | | | | | | Merge pull request #4748 from ethereum/validate-identifierchriseth2018-08-083-2/+13
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Assert that type identifier contains only valid characters
| * | | | | | | Assert that type identifier contains only valid charactersAlex Beregszaszi2018-08-082-1/+12
| | | | | | | |
| * | | | | | | Yul grammar: allow multiple $ signs (matches Solidity)Alex Beregszaszi2018-08-081-1/+1
| | |/ / / / / | |/| | | | |
* | | | | | | Merge pull request #4745 from ethereum/nameResolverNoEarlyExitchriseth2018-08-081-3/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Do not stop after the first error in reference resolution.
| * | | | | | | Do not stop after the first error in reference resolution.chriseth2018-08-081-3/+0
| | |/ / / / / | |/| | | | |
* | | | | | | Merge pull request #4749 from elopio/test/yul-simplifier-not-appliedchriseth2018-08-081-0/+10
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | tests: add yul simplifier not applied
| * | | | | | | tests: add yul simplifier not appliedLeo Arias2018-08-081-0/+10
| | |/ / / / / | |/| | | | |
* | | | | | | Merge pull request #4754 from Rytiss/patch-1Alex Beregszaszi2018-08-081-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix typo in Solidity name/url in the changelog
| * | | | | | | Fix typo in Solidity name/urlRytis Slatkevičius2018-08-081-1/+1
| |/ / / / / /
* | | | | | | Merge pull request #4736 from ethereum/removeFillRightAlex Beregszaszi2018-08-087-41/+26
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Remove remaining instances of ``fillRight``.
| * | | | | | Remove remaining instances of ``fillRight`` left over from tuple wildcards ↵Daniel Kirchner2018-08-087-41/+26
| |/ / / / / | | | | | | | | | | | | | | | | | | assignments.
* | | | | | Merge pull request #4744 from ethereum/smt-magic-variableAlex Beregszaszi2018-08-081-2/+8
|\ \ \ \ \ \ | | | | | | | | | | | | | | SMT: do not crash on referencing MagicVariableDeclaration
| * | | | | | SMT: do not crash on referencing MagicVariableDeclarationAlex Beregszaszi2018-08-081-2/+8
| | | | | | |
* | | | | | | Merge pull request #4703 from ethereum/solc-fix-double-quoting-path-nameschriseth2018-08-082-4/+54
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | solc: Fixes double-quoting path names on stderr.
| * | | | | | | solc: Fixes double-quoting path names on stderr and adds tests for it.Christian Parpart2018-08-072-4/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before it was possible to get a failure message, such as: ""notfound.sol"" is not found whereas it should be: "notfound.sol" is not found.
* | | | | | | | Merge pull request #4742 from elopio/patch-4chriseth2018-08-081-1/+1
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | Fix typo
| * | | | | | | Fix typoLeo Arias2018-08-081-1/+1
|/ / / / / / /
* | | | | | | Merge pull request #4731 from ethereum/interface-enumchriseth2018-08-0710-9/+93
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Allow enums in interfaces
| * | | | | | | Add endToEnd test for referencing enumsAlex Beregszaszi2018-08-071-0/+44
| | | | | | | |
| * | | | | | | Add more syntax tests for enums and interfaces/librariesAlex Beregszaszi2018-08-075-0/+48
| | | | | | | |
| * | | | | | | Allow enums in interfacesAlex Beregszaszi2018-08-074-9/+1
| | |/ / / / / | |/| | | | |
* | | | | | | Merge pull request #4692 from ethereum/devcore-pathchriseth2018-08-074-28/+30
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Move absolutePath/sanitizePath helpers from CompilerStack to libdevcore
| * | | | | | | Move absolutePath/sanitizePath helpers from CompilerStack to libdevcoreAlex Beregszaszi2018-08-064-28/+30
| | | | | | | |
* | | | | | | | Merge pull request #4699 from ethereum/cleanup_VariableDeclarationchriseth2018-08-073-111/+109
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | libsolidity: Remove dead code wrt. VariableDeclaration::canHaveAutoType
| * | | | | | | | libsolidity: Remove dead code wrt. VariableDeclaration::canHaveAutoType()Christian Parpart2018-08-073-111/+109
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | Closes #4667
* | | | | | | | Merge pull request #4726 from ethereum/moveNothrowchriseth2018-08-072-11/+2
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Make MemberList nothrow move constructible.
| * | | | | | | | Make MemberList nothrow move constructible.chriseth2018-08-072-11/+2
| | | | | | | | |
* | | | | | | | | Merge pull request #4720 from ethereum/abi-rational-type-identifierAlex Beregszaszi2018-08-074-1/+48
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix type identifiers for RationalNumberType (on negative numbers)
| * | | | | | | | | Add test for abi.encode (negative) literalsAlex Beregszaszi2018-08-071-0/+36
| | | | | | | | | |
| * | | | | | | | | Fix type identifiers for RationalNumberTypeAlex Beregszaszi2018-08-073-1/+12
| | |_|_|/ / / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #4729 from ethereum/slot-on-non-storageAlex Beregszaszi2018-08-073-1/+17
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | Properly handle invalid references used together with _slot and _offset.
| * | | | | | | | More precise error message if using non-variables with _slot/_offsetAlex Beregszaszi2018-08-073-4/+8
| | | | | | | | |
| * | | | | | | | Properly handle invalid references used together with _slot and _offset.Alex Beregszaszi2018-08-073-0/+12
| | | | | | | | |
* | | | | | | | | Merge pull request #4695 from ethereum/test-natspecchriseth2018-08-071-25/+26
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | Be explicit about which contract to test for in the Natspec tests
| * | | | | | | | Be explicit about which contract to test for in the Natspec testsAlex Beregszaszi2018-08-061-25/+26
| | | | | | | | |
* | | | | | | | | Merge pull request #4724 from ethereum/slot-in-assemblyAlex Beregszaszi2018-08-074-0/+24
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Do not crash on using _slot and _offset suffixes on their own
| * | | | | | | | | Do not crash on using _slot and _offset suffixes on their ownAlex Beregszaszi2018-08-074-0/+24
| | |_|/ / / / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #4725 from ethereum/chriseth-patch-1Alex Beregszaszi2018-08-071-2/+11
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Clarify allocation and initial value of free memoy pointer.
| * | | | | | | | | Clarify allocation and initial value of free memoy pointer.chriseth2018-08-071-2/+11
| | | | | | | | | |
* | | | | | | | | | Merge pull request #4592 from asifmallik/fixBackslashBugFinalAlex Beregszaszi2018-08-072-2/+3
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Fix backslash bug
| * | | | | | | | | | Fix backslash bugAsif Mallik2018-08-072-2/+3
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #4701 from ethereum/removeClonechriseth2018-08-079-122/+3
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / / |/| | | | | | | | | | Remove clone feature.
| * | | | | | | | | | Remove clone feature.chriseth2018-08-079-122/+3
| | |_|/ / / / / / / | |/| | | | | | | |
* | | | | | | | | | Merge pull request #4563 from ethereum/codecov-configchriseth2018-08-072-1/+19
|\ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / |/| | | | | | | | | Add codecov config
| * | | | | | | | | Add codecov configPaweł Bylica2018-08-072-1/+19
| | | | | | | | | |
* | | | | | | | | | Merge pull request #4719 from elopio/coverage-optionchriseth2018-08-071-2/+2
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Update the coverage info message in cmake
| * | | | | | | | | | Update the coverage info message in cmakeLeo Arias2018-08-071-2/+2
| | |/ / / / / / / / | |/| | | | | | | |
* | | | | | | | | | Merge pull request #4598 from ethereum/issueTemplatechriseth2018-08-074-0/+94
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | Add issue template for GitHub
| * | | | | | | | | Adds issue templates for GitHub.Erik Kundt2018-08-074-0/+94
| | |_|_|/ / / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #4557 from ethereum/ast-function-fqdnchriseth2018-08-072-11/+2
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Properly show constructor/fallback in FunctionDefinition.fullyQualfiedName
| * | | | | | | | | Move fullyQualifiedName to ContractDefinition onlyAlex Beregszaszi2018-08-072-11/+2
| | | | | | | | | |
* | | | | | | | | | Merge pull request #4694 from ethereum/test-abijsonchriseth2018-08-071-31/+31
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | Be explicit about which contract to test for in ABIJSON tests
| * | | | | | | | | Be explicit about which contract to test for in ABIJSON testsAlex Beregszaszi2018-08-061-31/+31
| | |_|_|/ / / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #4663 from ethereum/dropConstantASTchriseth2018-08-0722-54/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | [BREAKING] Drop constant field from JSON AST
| * | | | | | | | | Update tests.Daniel Kirchner2018-08-0620-48/+0
| | | | | | | | | |
| * | | | | | | | | Remove "constant" from JSON AST.Daniel Kirchner2018-08-062-6/+1
| | | | | | | | | |
* | | | | | | | | | Merge pull request #3496 from ltfschoen/patch-6chriseth2018-08-071-5/+63
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / |/| | | | | | | | | Update Style Guide examples to comply with CapWords requirement for contract and file naming
| * | | | | | | | | Update style guide with regards to CapWords requirement for contract and ↵Luke Schoen2018-08-071-5/+63
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | file naming.
* | | | | | | | | Merge pull request #4498 from ethereum/faq-reorg-introchriseth2018-08-062-107/+24
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Move intro related FAQ points
| * | | | | | | | | Move intro related FAQ pointsChris Ward2018-08-062-107/+24
| | |_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes from feedback Changes from review
* | | | | | | | | Merge pull request #4659 from ethereum/abiv2-fixedbyteschriseth2018-08-062-1/+40
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | FixedBytes(0) is invalid, do not check for it in ABIEncoderV2
| * | | | | | | | | Tests for deriving types for empty string.chriseth2018-08-061-0/+38
| | | | | | | | | |
| * | | | | | | | | FixedBytes(0) is invalid, do not check for it in ABIEncoderV2Alex Beregszaszi2018-08-061-1/+2
|/ / / / / / / / /
* | | | | | | | | Merge pull request #4689 from ethereum/cleanup-050-testschriseth2018-08-0625-109/+11
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | | Cleanup 0.5.0 test cases
| * | | | | | | | Remove unused 050 variable in ReferencesResolverAlex Beregszaszi2018-08-062-3/+0
| | | | | | | | |
| * | | | | | | | Cleanup 0.5.0 test casesAlex Beregszaszi2018-08-0623-106/+11
| | | | | | | | |
* | | | | | | | | Merge pull request #4690 from ethereum/equalParameterTypesAlex Beregszaszi2018-08-065-9/+9
|\ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / |/| | | | | | | | Renamed FunctionType::hasEqualArgumentTypes to FunctionType::hasEqual…
| * | | | | | | | Renamed FunctionType::hasEqualArgumentTypes to ↵Jesse Busman2018-08-065-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FunctionType::hasEqualParameterTypes
* | | | | | | | | Merge pull request #4671 from ethereum/mappingTupleAssignmentchriseth2018-08-0611-17/+179
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | Disallow assignments to mappings within tuple assignments; allow for local variables.
| * | | | | | | | Additional semantics test cases.Daniel Kirchner2018-08-031-0/+45
| | | | | | | | |
| * | | | | | | | Review suggestions; to be squashed.Daniel Kirchner2018-08-031-8/+10
| | | | | | | | |
| * | | | | | | | Allow assignments to local variables of mapping types.Daniel Kirchner2018-08-037-5/+67
| | | | | | | | |
| * | | | | | | | Disallow assignments to mappings within tuple assignments.Daniel Kirchner2018-08-037-17/+70
| | | | | | | | |
* | | | | | | | | Merge pull request #4595 from ethereum/tests-run-improvementschriseth2018-08-061-15/+59
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | fixes tests.sh to not use hard-coded working dir and adds proper cleanup
| * | | | | | | | fixes tests.sh to not use hard-coded working dir and adds proper cleanupChristian Parpart2018-08-011-15/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implicitely also allows concurrent runs. * Properly cleanup of any working files created during runtime. * Properly cleanup upon singals. * Allow early-abort during cmdline tests without leaking processes.
* | | | | | | | | Merge pull request #4602 from hackaugusto/warningschriseth2018-08-064-18/+21
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Added guards for unknown pragmas
| * | | | | | | | | Added guards for unknown pragmasAugusto F. Hack2018-08-064-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed push/pop if there was no change to the warnings *in the same file* for a given compiler. This assumes the imported boost headers use a warning stack themselves. The pragmas don't seem to be required anymore, but were not removed to mantain compatibility with older versions of the boost library. Compiled with - clang version 6.0.1 (tags/RELEASE_601/final) - gcc (GCC) 8.1.1 20180531 against: - libboost 1.67.0-5
* | | | | | | | | | Merge pull request #4644 from ethereum/event_struct_errorchriseth2018-08-0610-0/+39
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Disallow structs in events without ABIEncoderV2
| * | | | | | | | | | Disallow structs in events without ABIEncoderV2Leonardo Alt2018-08-0310-0/+39
| | |_|/ / / / / / / | |/| | | | | | | |
* | | | | | | | | | Merge pull request #4681 from ethereum/var-suggestion-crashchriseth2018-08-062-0/+18
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / |/| | | | | | | | | Fix declaration suggestion for var with different number of components
| * | | | | | | | | Fix declaration suggestion for var with different number of componentsAlex Beregszaszi2018-08-042-0/+18
| | | | | | | | | |
* | | | | | | | | | Merge pull request #4677 from ethereum/jsonAstTestExtractionchriseth2018-08-0658-473/+5054
|\ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / |/| | | | | | | | | JSON AST test extraction
| * | | | | | | | | Extract AST JSON tests.Daniel Kirchner2018-08-0454-470/+4753
| | | | | | | | | |
| * | | | | | | | | Infrastructure for extracting JSON AST tests.Daniel Kirchner2018-08-045-4/+302
| |/ / / / / / / /
* | | | | | | | | Merge pull request #4616 from ethereum/1093-interface-generatorchriseth2018-08-041-0/+3
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Add interface generator to tools section
| * | | | | | | | | Add interface generator to tools sectionChris Ward2018-07-301-0/+3
| | | | | | | | | |
* | | | | | | | | | Merge pull request #4412 from ethereum/v050-reference-resolver-errorTypeForLooseChristian Parpart2018-08-0422-275/+38
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | [BREAKING] permanently set errorTypeForLoose from Warning to SyntaxError
| * | | | | | | | | | Drops tests for inline assembly jumps and function access as both isn't ↵Christian Parpart2018-08-021-46/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | possible anymore.
| * | | | | | | | | | Drop swap_peephole_optimization test from EndToEndTestsChristian Parpart2018-08-021-44/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Already covered by libevmasm/Optimiser: peephole_noncommutative_swap1, peephole_commutative_swap1 and peephole_swap_comparison
| * | | | | | | | | | Update tests to remove support for loose assemblyChristian Parpart2018-08-0210-81/+24
| | | | | | | | | | |
| * | | | | | | | | | Remove loose assembly features from the documentationChristian Parpart2018-08-021-54/+3
| | | | | | | | | | |
| * | | | | | | | | | Disallow loos assembly in Solidity by permanently setting it to SyntaxError ↵Christian Parpart2018-08-0216-56/+17
| | |_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | (from Warning)
* | | | | | | | | | Merge pull request #4662 from evgeniuz/developAlex Beregszaszi2018-08-033-10/+61
|\ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / |/| | | | | | | | | added helper function that joins vectors of strings
| * | | | | | | | | added helper function that joins vectors of strings, refactored suggestions ↵Evgeniy Filatov2018-08-033-10/+61
| | |_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | formattingi function to use it
* | | | | | | | | Merge pull request #4526 from ethereum/docs-address-truncationAlex Beregszaszi2018-08-031-0/+8
|\ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / |/| | | | | | | | Clarify truncation with addresses
| * | | | | | | | Clarify truncation with addressesChris Ward2018-08-031-0/+8
|/ / / / / / / /
* | | | | | | | Merge pull request #4664 from ethereum/uninitializedStorageReturnchriseth2018-08-0323-183/+184
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Turn warning about uninitialized storage returns into an error.
| * | | | | | | | Turn warning about uninitialized storage returns into an error.Daniel Kirchner2018-08-0323-183/+184
| |/ / / / / / /
* | | | | | | | Merge pull request #4657 from ethereum/fix-beyond-STL-end-undefined-behaviorchriseth2018-08-031-3/+11
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | evmasm/Instruction: fixes undefined behavior of advancing iterator beyond the end of a container.
| * | | | | | | evmasm/Instruction: fixes undefined behavior of advancing iterator beyond ↵Christian Parpart2018-08-031-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the end of a container. Usually the STL doesn't check whether or not the developer advances beyond its container's end, but MSVC does (found out by running soltest in debug mode on Win32 / VS2017).
* | | | | | | | Merge pull request #4327 from ethereum/document-internalschriseth2018-08-023-2/+19
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Properly explain all the analsys steps in CompilerStack
| * | | | | | | | Properly explain all the analsys steps in CompilerStackAlex Beregszaszi2018-07-313-2/+19
| | |_|_|/ / / / | |/| | | | | |
* | | | | | | | Merge pull request #4522 from ethereum/fullEncodingTypechriseth2018-08-025-42/+37
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Isolate determining the encoding type into its own function.
| * | | | | | | | Isolate determining the encoding type into its own function.chriseth2018-08-015-42/+37
| | |_|_|_|_|_|/ | |/| | | | | |
* | | | | | | | Merge pull request #4560 from ethereum/cmake-policyAlex Beregszaszi2018-08-022-25/+6
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | CMake policies
| * | | | | | | | CMake: Better policy availability checkingPaweł Bylica2018-07-241-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's better to use if(POLICY ...) and we don't have to check for CMake 3.0 because this is the minimal required version.
| * | | | | | | | CMake: Set CMP0043 to NEWPaweł Bylica2018-07-241-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids warning in CMake 3.0.2
| * | | | | | | | CMake: Set CMP0042 to NEWPaweł Bylica2018-07-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should not affect solidity, but with this setting all supported CMake version will use NEW policy are will be allowed to use RPATH on macOS.
| * | | | | | | | CMake: Do not set CMP0020 because it's about QtPaweł Bylica2018-07-241-3/+0
| | | | | | | | |
| * | | | | | | | CMake: Do not use non-existing sanitizer blacklistPaweł Bylica2018-07-241-3/+0
| | | | | | | | |
| * | | | | | | | CMake: Drop policy CMP0028 OLDPaweł Bylica2018-07-241-4/+0
| | | | | | | | |
* | | | | | | | | Merge pull request #4584 from dylanjw/update-abi-event-docchriseth2018-08-021-1/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Update doc referencing packed mode encoding for dynamic typed topic args
| * | | | | | | | | Update doc referencing packed mode encoding for dynamic typed topic argsDylan Wilson2018-07-261-1/+1
| | | | | | | | | |
* | | | | | | | | | Merge pull request #4600 from sifmelcara/tab-sizechriseth2018-08-021-0/+1
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / |/| | | | | | | | | Set tab size specified in .editorconfig to 4
| * | | | | | | | | Set tab size specified in .editorconfig to 4mingchuan2018-07-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This make tabs appear as 4 spaces on GitHub
* | | | | | | | | | Merge pull request #4654 from ethereum/licensechriseth2018-08-021-0/+31
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Include license header from code derived from V8 (scanner/token)
| * | | | | | | | | | Include license header from code derived from V8 (scanner/token)Alex Beregszaszi2018-08-021-0/+31
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #4656 from ethereum/chriseth-patch-1chriseth2018-08-021-3/+4
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / / / |/| | | | | | | | | | Add "Changelog entry" to pull request template
| * | | | | | | | | | Add "Changelog entry" to pull requset templatechriseth2018-08-021-3/+4
|/ / / / / / / / / /
* | | | | | | | | | Merge pull request #4603 from ethereum/smtlib2Alex Beregszaszi2018-08-024-18/+44
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | [SMTLib2] Fix repeated declarations
| * | | | | | | | | Remove repeated declarations in Z3 and CVC4 as wellLeonardo Alt2018-08-012-7/+15
| | | | | | | | | |
| * | | | | | | | | [SMTLib2] Fix repeated declarationsLeonardo Alt2018-07-282-11/+29
| | | | | | | | | |
* | | | | | | | | | Merge pull request #4646 from ethereum/smt_model_secondary_locationAlex Beregszaszi2018-08-022-7/+15
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SMT model is sorted and printed as secondary location
| * | | | | | | | | | SMT model variables are sorted and printed as secondary source locationLeonardo Alt2018-08-022-4/+12
| | | | | | | | | | |
| * | | | | | | | | | Replace "value" by "<result>" in the SMT modelLeonardo Alt2018-08-021-3/+3
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #4650 from ethereum/conductAlex Beregszaszi2018-08-021-1/+1
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Point the documentation to the new Code of Conduct URL
| * | | | | | | | | | | Point the documentation to the new Code of Conduct URLAlex Beregszaszi2018-08-021-1/+1
| | | | | | | | | | | |
* | | | | | | | | | | | Merge pull request #4649 from ethereum/conductAlex Beregszaszi2018-08-021-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename CONDUCT.md to CODE_OF_CONDUCT.md so that Github picks it up
| * | | | | | | | | | | Rename CONDUCT.md to CODE_OF_CONDUCT.md so that Github picks it upAlex Beregszaszi2018-08-021-0/+0
|/ / / / / / / / / / /
* | | | | | | | | | | Merge pull request #4399 from ethereum/contractWhitespaceAlex Beregszaszi2018-08-0243-792/+792
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | Remove trailing whitespace in all contract files.
| * | | | | | | | | | Remove trailing whitespace in all contract files.Daniel Kirchner2018-08-0243-792/+792
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #4508 from ethereum/nameCollisionCrashAlex Beregszaszi2018-08-029-12/+44
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | [BREAKING] Don't exclude public state variables when looking for conflicting declarations.
| * | | | | | | | | | Extend code comment about signatures.Daniel Kirchner2018-08-011-1/+2
| | | | | | | | | | |
| * | | | | | | | | | Add additional test cases.Daniel Kirchner2018-08-012-0/+10
| | | | | | | | | | |
| * | | | | | | | | | Update documentation.Daniel Kirchner2018-08-011-4/+4
| | | | | | | | | | |
| * | | | | | | | | | Do not exclude public state variables when looking for conflicting declarations.Daniel Kirchner2018-08-016-8/+29
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #4639 from ethereum/docs-fix-specify-limitAlex Beregszaszi2018-08-013-3/+6
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | Small clarifications around the 2300 gas stipend from transfer and send
| * | | | | | | | | | Small clarifications around the 2300 gas stipend from transfer and sendChris Ward2018-08-013-3/+6
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #4378 from ethereum/noBaseWithoutArgumentsAlex Beregszaszi2018-08-014-18/+18
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | [BREAKING] Disallow calling base constructors without arguments.
| * | | | | | | | | | | Correctly determine whether base constructor is called without parentheses.chriseth2018-08-012-11/+20
| | | | | | | | | | | |
| * | | | | | | | | | | Disallow calling base constructors without arguments.chriseth2018-08-013-15/+6
| | |_|_|_|_|/ / / / / | |/| | | | | | | | |
* | | | | | | | | | | Merge pull request #4631 from ethereum/cp-cycle-detection-recursion-guardAlex Beregszaszi2018-08-019-6/+806
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | Guard CycleDetector against recursion exhaustion.
| * | | | | | | | | | Adds positive/negative tests for checking error on cyclic dependency checker ↵Christian Parpart2018-08-014-0/+791
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exhaustion
| * | | | | | | | | | Guard CycleDetector against recursion exhaustion.Christian Parpart2018-08-015-6/+15
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes #3935.
* | | | | | | | | | Merge pull request #4321 from ethereum/contractConversionAlex Beregszaszi2018-08-0131-50/+134
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | [BREAKING] Disallow conversion between unrelated contract types.
| * | | | | | | | | | Fix tests regarding contract type conversion.chriseth2018-08-0118-36/+37
| | | | | | | | | | |
| * | | | | | | | | | Disallow conversion between unrelated contract types.chriseth2018-08-0116-16/+99
|/ / / / / / / / / /
* | | | | | | | | | Merge pull request #4507 from ethereum/v050-var-keyword-trace-removalsAlex Beregszaszi2018-08-016-2/+59
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | Ensures an empty use of var keyword is caught with the proper non-fatal error message
| * | | | | | | | | Ensures an empty use of var keyword is caught with the proper error message.Christian Parpart2018-08-016-2/+59
| | | | | | | | | |
* | | | | | | | | | Merge pull request #4626 from ethereum/grammar-cleanupAlex Beregszaszi2018-07-311-1/+0
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | grammar: remove stray IdentifierList rule
| * | | | | | | | | | grammar: remove stray IdentifierList ruleAlex Beregszaszi2018-07-311-1/+0
| | |_|_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | This was left in #4274 (dbd0723)
* | | | | | | | | | Merge pull request #4625 from ethereum/pragma-cleanupAlex Beregszaszi2018-07-316-20/+12
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Remove unnecessary or stray version pragmas
| * | | | | | | | | | Replace stray solidity pragma with progamatically inserting it in ↵Alex Beregszaszi2018-07-311-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SolidityOptimizer test
| * | | | | | | | | | Remove unnecesary version pragma from some syntax testsAlex Beregszaszi2018-07-315-16/+10
| |/ / / / / / / / /
* | | | | | | | | | Merge pull request #4621 from ethereum/nested_typesAlex Beregszaszi2018-07-319-12/+38
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | Fix crash when FunctionType has undeclared type as parameter
| * | | | | | | | | Fix crash when FunctionType has undeclared type as parameterLeonardo Alt2018-07-319-12/+38
|/ / / / / / / / /
* | | | | | | | | Merge pull request #4569 from ethereum/grammar-assemblychriseth2018-07-301-3/+4
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Update grammar.txt for inline assembly
| * | | | | | | | | grammar: rename AssemblyLocalBinding to AssemblyVariableDeclarationAlex Beregszaszi2018-07-251-2/+2
| | | | | | | | | |
| * | | | | | | | | grammar: introduce AssemblyExpression and use it in Assignment/LocalBindingAlex Beregszaszi2018-07-251-2/+3
| | | | | | | | | |
| * | | | | | | | | grammar: support all assignment stataments in inline assemblyAlex Beregszaszi2018-07-251-1/+1
| | |_|_|_|_|_|/ / | |/| | | | | | |
* | | | | | | | | Merge pull request #4608 from ethereum/lll-namespacechriseth2018-07-3015-30/+33
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Replace dev::eth namespace with dev::lll in LLL
| * | | | | | | | | Add --disassemble to lllc help outputAlex Beregszaszi2018-07-281-0/+1
| | | | | | | | | |
| * | | | | | | | | Replace dev::eth namespace with dev::lll in LLLAlex Beregszaszi2018-07-2815-30/+32
| | |_|_|_|_|_|/ / | |/| | | | | | |
* | | | | | | | | Merge pull request #4619 from ethereum/2167-docs-memory-typeAlex Beregszaszi2018-07-302-2/+4
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | Clarify what ‘memory type’ is
| * | | | | | | | Clarify what ‘memory type’ isChris Ward2018-07-302-2/+4
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Use RST links