aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-09-26 03:09:32 +0800
committerGitHub <noreply@github.com>2018-09-26 03:09:32 +0800
commit2231df834d2da15e994a8119d10d483e6873b4ee (patch)
tree973b4c30b1b7a43ec0e38e5f29c6f7bbf44541db /docs
parent56eb9dd47fb413f243f89f5010badeccba0fbce9 (diff)
parent3cec3f13e5e88e8c94ca738f539a6a96c86f2a0b (diff)
downloaddexon-solidity-2231df834d2da15e994a8119d10d483e6873b4ee.tar
dexon-solidity-2231df834d2da15e994a8119d10d483e6873b4ee.tar.gz
dexon-solidity-2231df834d2da15e994a8119d10d483e6873b4ee.tar.bz2
dexon-solidity-2231df834d2da15e994a8119d10d483e6873b4ee.tar.lz
dexon-solidity-2231df834d2da15e994a8119d10d483e6873b4ee.tar.xz
dexon-solidity-2231df834d2da15e994a8119d10d483e6873b4ee.tar.zst
dexon-solidity-2231df834d2da15e994a8119d10d483e6873b4ee.zip
Merge pull request #5088 from ethereum/morePragmas
[DOCS] Some more explanation about pragmas.
Diffstat (limited to 'docs')
-rw-r--r--docs/layout-of-source-files.rst13
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/layout-of-source-files.rst b/docs/layout-of-source-files.rst
index bef9652e..d89ecded 100644
--- a/docs/layout-of-source-files.rst
+++ b/docs/layout-of-source-files.rst
@@ -13,6 +13,12 @@ and :ref:`pragma directives<pragma>`.
Pragmas
=======
+The ``pragma`` keyword can be used to enable certain compiler features
+or checks. A pragma directive is always local to a source file, so
+you have to add the pragma to all your files if you want enable it
+in all of your project. If you :ref:`import<import>` another file, the pragma
+from that file will not automatically apply to the importing file.
+
.. index:: ! pragma, version
.. _version_pragma:
@@ -43,6 +49,13 @@ the exact version of the compiler, so that bugfix releases are still possible.
It is possible to specify much more complex rules for the compiler version,
the expression follows those used by `npm <https://docs.npmjs.com/misc/semver>`_.
+.. note::
+ Using the version pragma will *not* change the version of the compiler.
+ It will also *not* enable or disable features of the compiler. It will just
+ instruct the compiler to check whether its version matches the one
+ required by the pragma. If it does not match, the compiler will issue
+ an error.
+
.. index:: ! pragma, experimental
.. _experimental_pragma: