Skip to content

Commit 2025e26

Browse files
committed
switch to in/out instead of +/-
Signed-off-by: Robert Landers <landers.robert@gmail.com>
1 parent 35c377a commit 2025e26

86 files changed

Lines changed: 260 additions & 223 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Zend/tests/generics/declaration/recursive_bounds/with_variance_covariant_violation.phpt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
Recursive bounds: covariant marker in bound position is still rejected (bounds are invariant)
33
--FILE--
44
<?php
5-
class Box<+T> {}
6-
class Pair<+T: Box<U>, +U: Box<T>> {}
5+
class Box<out T> {}
6+
class Pair<out T: Box<U>, out U: Box<T>> {}
77
?>
88
--EXPECTF--
9-
Fatal error: Type parameter %s declared covariant (+%s) cannot appear in invariant position in %s on line %d
9+
Fatal error: Type parameter %s declared covariant (out %s) cannot appear in invariant position in %s on line %d
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
--TEST--
2-
Variance: +T on an arrow function in parameter position is rejected
2+
Variance: out T on an arrow function in parameter position is rejected
33
--FILE--
44
<?php
5-
$f = fn<+T>(T $x): T => $x;
5+
$f = fn<out T>(T $x): T => $x;
66
?>
77
--EXPECTF--
8-
Fatal error: Type parameter T declared covariant (+T) cannot appear in contravariant position in %s on line %d
8+
Fatal error: Type parameter T declared covariant (out T) cannot appear in contravariant position in %s on line %d

Zend/tests/generics/declaration/variance/autoload_unresolved_implements_forwarded.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Variance: covariant T forwarded into an `implements` arg whose target autoloads
44
<?php
55
spl_autoload_register(function (string $class): void {
66
static $sources = [
7-
'AUI_Sequence' => 'interface AUI_Sequence<+T> {}',
8-
'AUI_ArraySequence' => 'final class AUI_ArraySequence<+T> implements AUI_Sequence<T> {}',
7+
'AUI_Sequence' => 'interface AUI_Sequence<out T> {}',
8+
'AUI_ArraySequence' => 'final class AUI_ArraySequence<out T> implements AUI_Sequence<T> {}',
99
];
1010

1111
if (isset($sources[$class])) {

Zend/tests/generics/declaration/variance/autoload_unresolved_implements_violation.phpt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Variance: covariant T forwarded into a contravariant `implements` arg is rejecte
44
<?php
55
spl_autoload_register(function (string $class): void {
66
static $sources = [
7-
'AUI2_Sink' => 'interface AUI2_Sink<-U> {}',
8-
'AUI2_Bad' => 'final class AUI2_Bad<+T> implements AUI2_Sink<T> {}',
7+
'AUI2_Sink' => 'interface AUI2_Sink<in U> {}',
8+
'AUI2_Bad' => 'final class AUI2_Bad<out T> implements AUI2_Sink<T> {}',
99
];
1010

1111
if (isset($sources[$class])) {
@@ -16,4 +16,4 @@ spl_autoload_register(function (string $class): void {
1616
class_exists('AUI2_Bad');
1717
?>
1818
--EXPECTF--
19-
Fatal error: Type parameter T declared covariant (+T) cannot appear in contravariant position in %s on line %d
19+
Fatal error: Type parameter T declared covariant (out T) cannot appear in contravariant position in %s on line %d
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
--TEST--
2-
Variance: +T on a closure in parameter position is rejected
2+
Variance: out T on a closure in parameter position is rejected
33
--FILE--
44
<?php
5-
$f = function <+T>(T $x): void {};
5+
$f = function <out T>(T $x): void {};
66
?>
77
--EXPECTF--
8-
Fatal error: Type parameter T declared covariant (+T) cannot appear in contravariant position in %s on line %d
8+
Fatal error: Type parameter T declared covariant (out T) cannot appear in contravariant position in %s on line %d

Zend/tests/generics/declaration/variance/function_happy_path.phpt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
Variance: function-origin type parameters checked uniformly with class-origin
33
--FILE--
44
<?php
5-
function take<-T>(T $x): int { return 0; }
6-
function make<+T>(): T { return null; }
7-
function transform<-I, +O>(I $input): O { return null; }
5+
function take<in T>(T $x): int { return 0; }
6+
function make<out T>(): T { return null; }
7+
function transform<in I, out O>(I $input): O { return null; }
88

9-
$closure_take = function <-T>(T $x): int { return 0; };
10-
$closure_make = function <+T>(): T { return null; };
11-
$arrow_take = fn<-T>(T $x): int => 0;
12-
$arrow_make = fn<+T>(): T => null;
9+
$closure_take = function <in T>(T $x): int { return 0; };
10+
$closure_make = function <out T>(): T { return null; };
11+
$arrow_take = fn<in T>(T $x): int => 0;
12+
$arrow_make = fn<out T>(): T => null;
1313

14-
class A<+T = mixed> {
15-
public function map<-A_, +B>(A_ $a): B { return null; }
14+
class A<out T = mixed> {
15+
public function map<in A_, out B>(A_ $a): B { return null; }
1616
}
1717

1818
take(42);
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
--TEST--
2-
Variance: function-origin +T composed through Consumer<-U> in return is rejected
2+
Variance: function-origin out T composed through Consumer<in U> in return is rejected
33
--FILE--
44
<?php
5-
interface Consumer<-U> { public function consume(U $x): void; }
5+
interface Consumer<in U> { public function consume(U $x): void; }
66

7-
function f<+T>(): Consumer<T> {}
7+
function f<out T>(): Consumer<T> {}
88
?>
99
--EXPECTF--
10-
Fatal error: Type parameter T declared covariant (+T) cannot appear in contravariant position in %s on line %d
10+
Fatal error: Type parameter T declared covariant (out T) cannot appear in contravariant position in %s on line %d
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
--TEST--
2-
Variance: -T on a function in return position (covariant) is rejected
2+
Variance: in T on a function in return position (covariant) is rejected
33
--FILE--
44
<?php
5-
function f<-T>(): T {}
5+
function f<in T>(): T {}
66
?>
77
--EXPECTF--
8-
Fatal error: Type parameter T declared contravariant (-T) cannot appear in covariant position in %s on line %d
8+
Fatal error: Type parameter T declared contravariant (in T) cannot appear in covariant position in %s on line %d
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
--TEST--
2-
Variance: +T on a function in parameter position (contravariant) is rejected
2+
Variance: out T on a function in parameter position (contravariant) is rejected
33
--FILE--
44
<?php
5-
function f<+T>(T $x): void {}
5+
function f<out T>(T $x): void {}
66
?>
77
--EXPECTF--
8-
Fatal error: Type parameter T declared covariant (+T) cannot appear in contravariant position in %s on line %d
8+
Fatal error: Type parameter T declared covariant (out T) cannot appear in contravariant position in %s on line %d
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
--TEST--
2-
Variance: +T on a function appearing in its own bound (invariant position) is rejected
2+
Variance: out T on a function appearing in its own bound (invariant position) is rejected
33
--FILE--
44
<?php
55
interface Box<U> {}
66

7-
function f<+T : Box<T>>(): void {}
7+
function f<out T : Box<T>>(): void {}
88
?>
99
--EXPECTF--
10-
Fatal error: Type parameter T declared covariant (+T) cannot appear in invariant position in %s on line %d
10+
Fatal error: Type parameter T declared covariant (out T) cannot appear in invariant position in %s on line %d

0 commit comments

Comments
 (0)