# Rust: error[E0061]: this function takes 2 arguments but 1 argument was supplied

**Code:** `E0061: this function takes N arguments but M were supplied` · **Category:** Rust · **Seen on:** Rust

A call has too few or too many arguments for the function signature.

## Meaning

Compare with the definition (`cargo doc --open` or hover). Rust has no default or optional args — pass `None` or use builder patterns. After a dependency upgrade the signature may have changed; check the changelog. Methods take `self` implicitly.

## Common causes

- Missing/extra argument
- Function signature changed after update
- No default args (expecting Python-like defaults)
- Passing `self` explicitly to methods
- Tuple vs separate args

## Quick fix

1. Match the signature (use rust-analyzer's parameter hints)
2. Use `Option` args or a builder
3. Read the crate's changelog

## Detailed fix by platform

### Rust

1. `cargo doc --open` to see the exact signature

## How to diagnose

1. **Signature** — Params?
2. **Update** — Changed API?
3. **Default** — Needed?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/rust/e0061-wrong-number-of-arguments)
