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

Emm opened this Issue Aug 3, 2012 · 3 comments


None yet

3 participants

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 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;

I'm working on fixing both of these issues.

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