Skip to content
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

ICE: encode_symbol: id not found #2766

Closed
eholk opened this issue Jun 30, 2012 · 3 comments
Closed

ICE: encode_symbol: id not found #2766

eholk opened this issue Jun 30, 2012 · 3 comments
Labels
A-linkage Area: linking into static, shared libraries and binaries A-type-system Area: Type system I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.
Milestone

Comments

@eholk
Copy link
Contributor

eholk commented Jun 30, 2012

This code snippet gets an internal compiler error when encoding metadata. It should probably be rejected earlier on, since the innermost recv function doesn't have type parameters. Adding <T: send> to the inner function makes it compile successfully.

mod stream {
    enum stream<T: send> { send(T, server::stream<T>), }
    mod server {
        impl recv<T: send> for stream<T> {
            fn recv() -> extern fn(+stream<T>) -> stream::stream<T> {
                fn recv(+pipe: stream<T>) -> stream::stream<T> {
                    option::unwrap(pipes::recv(pipe))
                }
                recv
            }
        }
        type stream<T: send> = pipes::recv_packet<stream::stream<T>>;
    }
}
@ghost ghost assigned catamorphism Jul 1, 2012
@catamorphism
Copy link
Contributor

I'll take a look.

@catamorphism
Copy link
Contributor

resolve3 fixes this. I'll check in a test case.

@catamorphism
Copy link
Contributor

Added the test case: 78088fb

RalfJung pushed a commit to RalfJung/rust that referenced this issue Feb 26, 2023
remove scfix test

It was broken, and the fixed version actually fails...

Thanks `@cbeuw` !
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-linkage Area: linking into static, shared libraries and binaries A-type-system Area: Type system I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.
Projects
None yet
Development

No branches or pull requests

2 participants