BVB Source Codes

prettier Show test.js Source code

Return Download prettier: download test.js Source code - Download prettier Source code - Type:.js
  1. type CovArrayVerbose<X,Y:X> = Array<Y>;
  2. var b: CovArrayVerbose<number,*> = [];
  3. var y: CovArrayVerbose<mixed,*> = b;
  4. y[0] = ""; // error
  5.  
  6. class NVerbose<E,I:E> {
  7.     x: CovArrayVerbose<E,I>;
  8.     foo(): CovArrayVerbose<mixed,I> { return this.x; }
  9. }
  10.  
  11. var nv: NVerbose<number,*> = new NVerbose;
  12. nv.x = [0];
  13. (nv.x[0]: string); // error
  14. (nv.foo()[0]: string); // error
  15.  
  16. /* TODO: use existentials for non-verbose covariance?
  17.  
  18. type CovArray<X> = Array<*:X>;
  19. var c: CovArray<number> = [0];
  20. var z: CovArray<string> = c; // error
  21.  
  22. var d: CovArray<number> = [];
  23. var w: CovArray<mixed> = d;
  24. w[0] = ""; // error
  25.  
  26. type P<X> = CovArray<X>;
  27. var p: P<mixed> = [];
  28. (p[0]: number); // not an error!
  29. p[0] = ""; // error
  30.  
  31. class M {
  32.     x: CovArray<number>;
  33.     foo(): CovArray<mixed> { return this.x; }
  34.     bar(x: string) { this.foo()[0] = x; } // error
  35. }
  36.  
  37. class N<E> {
  38.     x: CovArray<E>;
  39.     foo(): CovArray<mixed> { return this.x; }
  40.     bar(e: string) { this.foo()[0] = e; } // error
  41.     qux(e: E) { this.foo()[0] = e; }
  42. }
  43.  
  44. var n: N<number> = new N;
  45. n.x = [0];
  46. (n.x[0]: string); // error
  47. (n.foo()[0]: string); // not an error!
  48.  
  49. */
  50.  
downloadtest.js Source code - Download prettier Source code
Related Source Codes/Software:
storybook - 2017-06-07
ionicons - The premium icon font for Ionic ... 2017-06-07
AsyncDisplayKit - Smooth asynchronous user interfaces for iOS apps. ... 2017-06-07
lottie-android - Render After Effects animations natively on Androi... 2017-06-07
parse-server - Parse-compatible API server module for Node/Expres... 2017-06-07
inferno - An extremely fast, React-like JavaScript library f... 2017-06-08
guetzli - Perceptual JPEG encoder 2017-06-08
cs-video-courses - List of Computer Science courses with video lectur... 2017-06-08
interviews - Everything you need to know to get the job. 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top