File: Main.hx

package info (click to toggle)
haxe 1%3A4.3.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 44,520 kB
  • sloc: ml: 137,268; ansic: 2,491; makefile: 456; java: 386; cs: 336; cpp: 318; python: 318; sh: 75; objc: 64; php: 50; xml: 31; javascript: 11
file content (25 lines) | stat: -rw-r--r-- 603 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
typedef Foo = {
	final id:String;
	final ?project:String;
}

typedef Bar = {
	final id:String;
	final createDate:Date;
	final ?project:String;
}

class Main {
	static function constrained<T,R:T>(v:R):T
		return null;

	static function fn<T>(s:T):T {
		return s;
	}

	static function main() {
		var A:Int = fn('s'); // Error "String should be Int"
		var B:Int = constrained('s'); //Error "Int should be String" instead of "String should be Int"
		var C:Bar = constrained((null:Foo)); // compiles, but should error "Foo should be Bar; { ?project : Null<String>, id : String } has no field createDate"
	}
}