Skip to content

Associated Types Regression #19059

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

Closed
dylanmckay opened this issue Nov 18, 2014 · 1 comment
Closed

Associated Types Regression #19059

dylanmckay opened this issue Nov 18, 2014 · 1 comment

Comments

@dylanmckay
Copy link
Contributor

When implementing a trait with more than one associated type, the compiler complains:

note: the trait `Device` must be implemented because it is required by `Device`

This problem is fairly recent; the code used to compile several weeks ago on Rust master.

The problem does not occur when the trait Device has only one associated type. Note that the error occurs on the same line as the trait implementation.

Also on the Playpen

#![feature(associated_types)]

// using one associated type compiles fine
// using two causes an error

// a trait using associated types
pub trait Device
{
    type Program;

    // error: ###comment this next line out ###
    type Viewport;
}

// a struct which implemented the trait
pub struct TestDevice(u32);

impl Device for TestDevice
{
    type Program = u32;

    // error: ###comment this next line out ###
    type Viewport = i64;
}

fn main() { }

This issue is linked with #19058, which is caused by the same snippet of code.

@huonw
Copy link
Member

huonw commented Nov 18, 2014

Closing as a dupe of #19058. Entirely my fault, I was not clear at all on IRC: I was suggesting filing another bug about this version (i.e. only commenting out one use of Viewport) but didn't describe things well, in any case that ICE is covered by #17359.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants