aya-dev icon indicating copy to clipboard operation
aya-dev copied to clipboard

Recursive import causes StackOverflow

Open ice1000 opened this issue 2 years ago • 10 comments

Just try.

ice1000 avatar Nov 29 '22 07:11 ice1000

Should them be disallowed?

mio-19 avatar Dec 14 '22 10:12 mio-19

Yes, I believe so :)

ice1000 avatar Dec 14 '22 10:12 ice1000

This can be solved by adding a new phase in library import resolving.

ice1000 avatar Dec 14 '22 10:12 ice1000

How about detecting them on the fly?

mio-19 avatar Dec 14 '22 10:12 mio-19

Do you mean import modules recursively in a library or import a file in SingleAyaFile?

imkiva avatar Dec 14 '22 10:12 imkiva

Any stacktrace would be helpful

imkiva avatar Dec 14 '22 10:12 imkiva

Do you mean import modules recursively in a library or import a file in SingleAyaFile?

The former

ice1000 avatar Dec 14 '22 11:12 ice1000

Any stacktrace would be helpful

I'll provide some later

ice1000 avatar Dec 14 '22 11:12 ice1000

diff --git a/base/src/test/resources/success/nonsense/src/Nonsense/A.aya b/base/src/test/resources/success/nonsense/src/Nonsense/A.aya
new file mode 100644
index 000000000..44692bed3
--- /dev/null
+++ b/base/src/test/resources/success/nonsense/src/Nonsense/A.aya
@@ -0,0 +1 @@
+import Nonsense::B
\ No newline at end of file
diff --git a/base/src/test/resources/success/nonsense/src/Nonsense/B.aya b/base/src/test/resources/success/nonsense/src/Nonsense/B.aya
new file mode 100644
index 000000000..e8c2e0d9b
--- /dev/null
+++ b/base/src/test/resources/success/nonsense/src/Nonsense/B.aya
@@ -0,0 +1 @@
+import Nonsense::A

ice1000 avatar Dec 14 '22 13:12 ice1000

Then, load nonsense/src/Nonsense/A.aya or nonsense/src/Nonsense/B.aya

ice1000 avatar Dec 14 '22 13:12 ice1000