softwaremill / softwaremill/macwire

Picking correct constructor

Open
#94 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
1.3k
Forks
77
Avg merge
9m
Merged PRs (30d)
4

Description

I am using an external class Foo:

public Foo() {
}

public Foo(Bar bar) {
  this.bar = bar;
}

and trying to wire it in my Scala module:

// Dependancy
def Bar: bar

lazy val foo: Foo = wire[Foo]

Unfortunately MacWire picks the constructor without parameters, though the Bar dependancy is in scope. Is there any way except using the constructor itself to tell MacWire which one to pick?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names only the wire[Foo] entry point and provides no file or test path. Start by examining how it chooses between Foo constructors, then review the discussion for the intended selection rule; done means a supported way to select the constructor requiring Bar without calling the constructor directly.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.