Skip to content

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

@Emm

Description

@Emm
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)

Activity

Dretch

Dretch commented on Aug 6, 2012

@Dretch
Contributor

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

catamorphism commented on Aug 6, 2012

@catamorphism
Contributor

I'm working on fixing both of these issues.

Dretch

Dretch commented on Aug 6, 2012

@Dretch
Contributor

Thats great @catamorphism, thanks!

added 2 commits that reference this issue on Oct 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @Emm@catamorphism@Dretch

        Issue actions

          Can declare two methods with the same name and different arguments · Issue #3099 · rust-lang/rust