Feature request: wiring abstract classes and traits
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
Inizia con la riproduzione in Scala nell’issue e analizza come macwire gestisce attualmente gli argomenti del costruttore, le classi astratte e i trait. Definisci il completamento come la possibilità di compilare sia wire[Abs] sia wire[T] quando i loro membri astratti possono essere soddisfatti, preservando il comportamento di errore esistente quando non possono esserlo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The following does not compile:
object Foo {
trait Dep
abstract class Abs {
def foo: Dep
}
trait T {
def bar: Dep
}
val d: Dep = new Dep {}
val a: Abs = wire[Abs]
val t: T = wire[T]
def main(args: Array[String]): Unit =
println(s"a.foo ${a.foo}")
}
MacWire says
Error: class Abs is abstract; cannot be instantiated
val a: Abs = wire[Abs]
Error: Cannot find a public constructor nor a companion object for [Foo.T]
val t: T = wire[T]
It would be nice if macwire could wire abstract classes and traits when it can satisfy abstract members like it does for constructor args.
- Lingua principale
- Scala
- Stelle
- 1.3k
- Fork
- 77
- Merge medio
- 9m
- PR unite (30g)
- 4
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di softwaremill/macwire
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
softwaremill/macwire#412 · 3 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
softwaremill/macwire#391 · 1 commento ·
-
macrosakka Pekko alternative Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
softwaremill/macwire#301 · 2 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
softwaremill/macwire#281 · 5 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
softwaremill/macwire#278 · 3 commenti ·
Tutte le issue di softwaremill/macwire
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ergoplatform/ergodocs#614 ·
-
area:ci enhancement requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
apache/datafusion-comet#6078 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
bug delta-datalayout flink
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100