Wie erstelle ich eine Instanz eines Merkmals in einer generischen Methode in Scala?

Ich versuche, mit dieser Methode eine Instanz eines Merkmals zu erstellen

val inst = new Object with MyTrait

Dies funktioniert gut, aber ich möchte diese Kreation in eine Generatorfunktion verschieben, dh.

object Creator {
  def create[T] : T = new Object with T
}

Ich brauche das Manifest natürlich, um die Probleme mit der Typlöschung irgendwie zu beheben, aber bevor ich dazu komme, stelle ich zwei Fragen:

elbst mit einem impliziten Manifest fordert Scala immer noch, dass T eine Eigenschaft ist. Wie füge ich eine Einschränkung hinzu, um [T] zu erstellen, sodass T eine Eigenschaft ist?

Wenn ich die Class.newInstance-Methode zum dynamischen Erstellen der Instanz anstelle von "new" verwendet hätte, wie würde ich das "with" in "new Object with T" angeben? Ist es möglich, zur Laufzeit dynamisch neue Betonmischungsarten zu erstellen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage