Skip to content

bounds in ty params can't seem to refer to other ty params #2611

Closed
@catamorphism

Description

@catamorphism

This is more-or-less taken from commented-out code in core::iter-trait:

import iter;
import iter::base_iter;

impl Q<A> for base_iter<A> {
   fn flat_map_to_vec<B:copy, IB:base_iter<B>>(op: fn(B) -> IB) -> [B] {
      iter::flat_map_to_vec(self, op)
   }
}

This fails to compile with unresolved typename: B. That's not right, since the method should get resolved in a scope that includes its own ty params. Strangely enough, the same function does compile if it's not inside an impl and takes its self arg explicitly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-resolveArea: Name/path resolution done by `rustc_resolve` specifically

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions