-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Non-boxed recursive tag constructor fails to compile with "Out of stack space" #1048
Comments
Duplicate of issue #742. |
alexcrichton
added a commit
to alexcrichton/rust
that referenced
this issue
Apr 21, 2015
Implement [RFC rust-lang#1048][rfc]. On Windows, when you create a symbolic link you must specify whether it points to a directory or a file, even if it is created dangling, while on Unix, the same symbolic link could point to a directory, a file, or nothing at all. Furthermore, on Windows special privilege is necessary to use a symbolic link, while on Unix, you can generally create a symbolic link in any directory you have write privileges to. This means that it is unlikely to be able to use symbolic links purely portably; anyone who uses them will need to think about the cross platform implications. This means that using platform-specific APIs will make it easier to see where code will need to differ between the platforms, rather than trying to provide some kind of compatibility wrapper. Furthermore, `soft_link` has no precedence in any other API, so to avoid confusion, move back to the more standard `symlink` terminology. Create a `std::os::unix::symlink` for the Unix version that is destination type agnostic, as well as `std::os::windows::{symlink_file, symlink_dir}` for Windows. Because this is a stable API, leave a compatibility wrapper in `std::fs::soft_link`, which calls `symlink` on Unix and `symlink_file` on Windows, preserving the existing behavior of `soft_link`. [rfc]: rust-lang/rfcs#1048
celinval
pushed a commit
to celinval/rust-dev
that referenced
this issue
Jun 4, 2024
* Add a test for `ctpop` * Fix format
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If you try to compile
tag list<T> { nil; cons(int, list<T>); }
(note "list" instead of "@list" in the recursive constructor), then the compiler crashes withrt: e2b5:0x00000000: Out of stack space, sorry
.It would be nice to detect this condition and provide a more useful error message instead.
The bottom of the stack is:
The text was updated successfully, but these errors were encountered: