library redirecting_factory_constructors.typeparam_test;
import self as self;
import "dart:core" as core;

class A<T extends core::Object? = dynamic, S extends core::Object? = dynamic> extends core::Object {
  constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
    : super core::Object::•()
    ;
  static factory redir<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%> /* redirection-target: self::A::•<self::A::redir::T%, self::A::redir::S%>*/
    return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic {
  new self::A::•<core::int, core::String>(42, "foobar");
}
