mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-13 17:25:29 +03:00
d94b86e62c
The namespace parser was not requiring a minimum indentation and instead based its indentation on the following line, which meant that a line like: namespace Foo foodef : Int placed foodef into namespace Foo instead of the module's top level. And so made it unclear when a namespace ends.
15 lines
422 B
Idris
15 lines
422 B
Idris
-- Namespaces are currently allowed to be empty, as modules are, but also
|
|
-- require their contents to be indented to denote where they end.
|
|
-- Whereas a module's end is the end of the file.
|
|
|
|
-- Since there's no indentation each namespace ends imediately. So each Test
|
|
-- defines things at the module level, causing an `already defined` error.
|
|
|
|
namespace X
|
|
private
|
|
data Test = A | B
|
|
|
|
namespace Y
|
|
private
|
|
data Test = A | B
|