Can declare two methods with the same name and different arguments #3099

Closed
Emm opened this Issue Aug 3, 2012 · 3 comments

Projects

None yet

3 participants

@Emm
Emm commented Aug 3, 2012
fn a(x: ~str) -> ~str {
    #fmt("First function with %s", x)
}

fn a(x: ~str, y: ~str) -> ~str {
    #fmt("Second function with %s and %s", x, y)
}

fn main() {
    #info("Result: ");
}

Compiles with a recent rust master (899400c) (but using a(x: ~str) does not compile)

@catamorphism catamorphism was assigned Aug 3, 2012
@Dretch
Dretch commented Aug 6, 2012

You can also declare different types with the same name. This compiles and runs:

enum x {}

trait x {}

type x = int;

struct x { a: int; }

fn main() {
    let x:x = fail;
}
@catamorphism

I'm working on fixing both of these issues.

@Dretch
Dretch commented Aug 6, 2012

Thats great @catamorphism, thanks!

@catamorphism catamorphism was unassigned by Emm Jun 16, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment