Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JBallerina 1.0.0 - 2019R3 Specification Deviations #18959

Closed
20 of 54 tasks
hasithaa opened this issue Sep 9, 2019 · 0 comments
Closed
20 of 54 tasks

JBallerina 1.0.0 - 2019R3 Specification Deviations #18959

hasithaa opened this issue Sep 9, 2019 · 0 comments
Labels
Team/CompilerFE All issues related to Language implementation and Compiler, this exclude run times. Team/jBallerina All the issues related to BIR, JVM backend code generation and runtime

Comments

@hasithaa
Copy link
Contributor

hasithaa commented Sep 9, 2019

JBallerina 1.0.0 - Ballerina 2019R3 Specification Deviations

Lexical structure

  • #18720 QuotedIdentifier supports only alphanumeric characters and ".".

Values, Types and Variables.

  • #13410 Limited Singleton type support.
  • #13944 Limited constant support.
  • #13168 0. syntax is not supported for floating point literals.
  • #14366 Cannot use a byte in an int context even though byte is a subtype of int.
  • #14775 Hex floating point literals are allowed for Decimal values.
  • #13180 StringNumericEscape is not supported.
  • #13170 Direct table type descriptor is not implemented.
  • #10639 Defaultable parameters are not supported with function pointers.
  • #13612 Filler values for finite types are not supported.
  • #15240 Object initialization does not follow the initialization protocol outlined in the spec.
  • #15240 Object initialization does not follow the initialization protocol outlined in the spec.
  • #17917 Object __init() allows using self other than to access/modify a field when there are potentially uninitialized fields.
  • #18405 Default values of fields and default values of defaultable function parameters of abstract objects are not available when referencing the objects in other objects.
  • #17922 Constraints are mandatory for future, stream and typedesc.
  • #18007 Inferred error type (error<*>) is not allowed.
  • #18167 Type narrowing does not happen with equality checks.

Expressions

  • #11913 Reference equality checks produce incorrect results for float NaN/NaN and -0.0/+0.0.
  • #13162 Constants cannot be used to specify the length of a fixed length array.
  • #13904 Incorrect type inferring for int-literals/floating-point-literals used in equality expressions.
  • #14373 Numeric conversion does not happen when casting to a finite type.
  • #15278 The typedesc returned by typeof is not in line with the spec.
  • #17186 Compilation fails for valid a mapping constructor when there is no contextually expected type.
  • #17942 Optional field access is not allowed on a union of record and map.
  • #17943 The rest arg is restricted to the rest parameter.
  • #17969 Integer division does not panic on overflow.
  • #17977 Certain floating point numerical comparisons with NaN return incorrect results.
  • #17984 Reference equality checks produce incorrect results for equal decimal values with different precision.
  • #18938 Interpolation should not be allowed in the value of a namespace attribute.

Actions and Statements

  • #17946 Local type definition statements are not supported.
  • #18163 Multiple receive action is not supported.
  • #15044 Final local variable declarations without an init expression are not supported.
  • #13949 Match pattern lists with multiple match patterns (OR) are not supported for structured patterns.
  • #15962 Partial support for list, mapping and error match patterns.
  • #17202 Compatible map to record assignment is not allowed.
  • #17927 List binding patterns don’t work with arrays.
  • #17993 Not all actions are allowed to be nested inside other actions.
  • #18166 Inferred type for final variables declared with var is not the precise type.
  • #18639 Asynchronous send is not an action (currently a statement).
  • #19120 Spec deviation with async send where the corresponding receive has a non-empty failure type

Module-Level Declarations

  • #4087 Versioned imports are not supported.
  • #18200 Listener declarations without the type-descriptors are not supported.

Module and program execution

  • #18601 A program exits even when there are listeners started (currently looks for services).

Metadata

  • #15533 Annotation types (mapping types) are not restricted to anydata and thus, non-constant annotation values are not constructed as readonly values.
  • #18207 Annotation attachment is not supported for anonymous function expressions, local variable declaration statements and local type definition statements.
  • #18001 An annotation is not available to to indicate that a newly created strand should be in a separate thread from the current strand.
  • #19456 Strands created from named-worker-decls are scheduled in different threads.

Lang Library

  • #13189 Creating an immutable clone of a container does not narrow its inherent type to a type that consists of just its current shape.
  • #18662 Use of stack-like methods and queue-like methods on fixed-length arrays/tuples is not checked at compile time.
  • #18869 The lang.table module contains functions not defined in the specification.
  • #18870 The lang.xml module contains functions not defined in the specification.
  • #18873 The lang.map module functions which modify the value are disallowed on records.
  • #18874 The lang.array module functions which modify the value are disallowed on tuples.

Preview Features

  • #18875 XML access expressions are not defined in the spec.
@hasithaa hasithaa added Type/Planning Team/CompilerFE All issues related to Language implementation and Compiler, this exclude run times. Team/jBallerina All the issues related to BIR, JVM backend code generation and runtime labels Sep 9, 2019
@hasithaa hasithaa added this to the Ballerina 1.1.0 milestone Sep 9, 2019
@hasithaa hasithaa changed the title JBalerina 1.0.0 - Specification Deviations JBallerina 1.0.0 - Specification Deviations Sep 9, 2019
@hasithaa hasithaa changed the title JBallerina 1.0.0 - Specification Deviations JBallerina 1.0.0 - 2019R3 Specification Deviations Sep 17, 2019
@hasithaa hasithaa removed this from the Ballerina 1.1.0 milestone Dec 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team/CompilerFE All issues related to Language implementation and Compiler, this exclude run times. Team/jBallerina All the issues related to BIR, JVM backend code generation and runtime
Projects
None yet
Development

No branches or pull requests

2 participants