Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Error Message if CC invocation fails (#5663) | Fredrik Høisæther Rasch | 2017-04-08 | 1 | -11/+26 |
| | |||||
* | move the object construction logic to a separate file | Zahary Karadjov | 2017-04-06 | 3 | -278/+294 |
| | |||||
* | object construction: test cases and manual additions | Zahary Karadjov | 2017-04-06 | 1 | -10/+8 |
| | |||||
* | cleaned up the code and implemented proper error messages | Zahary Karadjov | 2017-04-06 | 3 | -80/+206 |
| | |||||
* | fix #4556 | Zahary Karadjov | 2017-04-06 | 2 | -56/+165 |
| | | | | | | | | | | | | | | | | | | | | | This implements a number of new safety checks and error messages when object constructors are used: In case objects: * the compiler will prevent you from initializing fields in conflicting branches * When a field from a particular branch is initialized, the compiler will demand that the discriminator field is also supplied with a maching compile-time value In all objects: * When the "requiresInit" pragma is applied to a type, all fields of the type must be initialized when object construction is used. The code will be simplified in a follow up commit. | ||||
* | fix another compiler regression | Andreas Rumpf | 2017-04-05 | 1 | -0/+4 |
| | |||||
* | make tests green again | Andreas Rumpf | 2017-04-04 | 1 | -1/+1 |
| | |||||
* | Merge branch 'devel' into araq | Andreas Rumpf | 2017-04-04 | 1 | -4/+2 |
|\ | |||||
| * | fixes #5638 | Araq | 2017-04-04 | 1 | -3/+1 |
| | | |||||
| * | revert PR #5638 because it breaks code | Araq | 2017-04-04 | 1 | -2/+2 |
| | | |||||
* | | attempt to make tests green again | Andreas Rumpf | 2017-04-04 | 1 | -1/+2 |
| | | |||||
* | | assignments support ': stmtList' like let/var do | Andreas Rumpf | 2017-04-04 | 1 | -1/+7 |
| | | |||||
* | | remove the need for the .procvar annotation | Andreas Rumpf | 2017-04-03 | 2 | -21/+32 |
| | | |||||
* | | de-deprecate silly warning about non-exhaustive string case statments | Andreas Rumpf | 2017-04-03 | 1 | -7/+3 |
|/ | |||||
* | remove en-dash from the language | Andreas Rumpf | 2017-04-02 | 2 | -21/+6 |
| | |||||
* | language addition: colon-block for expressions in let/var context | Andreas Rumpf | 2017-04-02 | 1 | -10/+16 |
| | |||||
* | Fixed issue #5638 (#5639) | Anatoly Galiulin | 2017-04-01 | 1 | -0/+1 |
| | |||||
* | support for the Genode OS framework (#5560) | Emery Hemingway | 2017-03-31 | 3 | -5/+31 |
| | |||||
* | Implementing `repr` for JS (#5578) | Silvio | 2017-03-31 | 1 | -9/+43 |
| | |||||
* | attempt to fix #5632 typedesc typeRel regression (#5634) | andri lim | 2017-03-31 | 1 | -1/+1 |
| | |||||
* | attempt to fix #5621 #5615 generic ref object typeRel (#5633) | andri lim | 2017-03-31 | 1 | -1/+1 |
| | |||||
* | make pragma expression parsing use the same parser mechanism as elsewhere | Andreas Rumpf | 2017-03-31 | 1 | -3/+2 |
| | |||||
* | Merge remote-tracking branch 'origin/concepts-rebased' into araq | Andreas Rumpf | 2017-03-31 | 27 | -288/+798 |
|\ | |||||
| * | make all tests green again | Zahary Karadjov | 2017-03-31 | 1 | -1/+1 |
| | | | | | | | | | | | | properly disabling the extra diagnostics in semCompiles proved to be too much work. I have some plans for further improving the error messages in the future and I'll revisit this later. | ||||
| * | requested code review changes | Zahary Karadjov | 2017-03-29 | 4 | -30/+43 |
| | | |||||
| * | Fix the compilation of the emmy package | Zahary Karadjov | 2017-03-28 | 1 | -0/+2 |
| | | |||||
| * | fix tgenericshardcases | Zahary Karadjov | 2017-03-24 | 2 | -8/+14 |
| | | |||||
| * | use lower-case proc names | Zahary Karadjov | 2017-03-24 | 1 | -4/+4 |
| | | |||||
| * | restore compilation and make all concepts tests green | Zahary Karadjov | 2017-03-24 | 3 | -7/+8 |
| | | |||||
| * | carefully reviewed and merged the changes from the devel branch | Zahary Karadjov | 2017-03-24 | 1 | -61/+75 |
| | | |||||
| * | Working test cases for the sophisticated matrix library example from the manual | Zahary Karadjov | 2017-03-24 | 6 | -40/+67 |
| | | | | | | | | | | Fixed the dot operator when used within return types (see tgenericdotrettype) Fixed the matching of generic concepts aliases used with the implicit generics style | ||||
| * | new type traits: `GenericHead` and `StripGenericParams` | Zahary Karadjov | 2017-03-24 | 2 | -3/+45 |
| | | |||||
| * | further improvements to the error messages produced by concepts | Zahary Karadjov | 2017-03-24 | 6 | -22/+25 |
| | | |||||
| * | when displaying proc signatures, don't render the implicit generic params | Zahary Karadjov | 2017-03-24 | 1 | -8/+19 |
| | | |||||
| * | proper error reporting for concepts and the introduction of the {.explain.} ↵ | Zahary Karadjov | 2017-03-24 | 11 | -140/+207 |
| | | | | | | | | pragma | ||||
| * | implement the special treatment of explicit type params in concepts | Zahary Karadjov | 2017-03-24 | 4 | -2/+7 |
| | | |||||
| * | infer static parameters even when more complicated arithmetic is involved | Zahary Karadjov | 2017-03-24 | 9 | -46/+137 |
| | | |||||
| * | support derived values in non-generic user type classes | Zahary Karadjov | 2017-03-24 | 6 | -45/+52 |
| | | |||||
| * | kill the reportConceptFailures options as it will be replaced by the ↵ | Zahary Karadjov | 2017-03-24 | 4 | -12/+3 |
| | | | | | | | | .explain. pragma | ||||
| * | support for inferring static[T] concept params | Zahary Karadjov | 2017-03-24 | 6 | -28/+62 |
| | | |||||
| * | introduce tyInferred for the unbound concept type params | Zahary Karadjov | 2017-03-24 | 9 | -96/+126 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Why is tyInferred needed? The bindings in TCandidate are capable of inferring types within a single call expression. In concepts, we need to infer types in the same way, but across the whole body of the concept. Previously, once a concept type param was inferred, it was destructively mutated using t.assignType, but this proved to be problematic in the presence of overloads, because the bindings established while a non-matching overload is tested must be reverted/forgotten. tyInferred offers a non-destructive way to keep track of the inference progress. While introducing new types usually requires a lot of code paths in the compiler to updated, currently tyInferred is only a short-lived type within the concept body pass and it's unlikely to introduce breakage elsewhere in the compiler. | ||||
| * | support the full range of type modifiers when declaring concept vars and ↵ | Zahary Karadjov | 2017-03-24 | 5 | -17/+57 |
| | | | | | | | | testing proc signatures | ||||
| * | support for matching generic types' procs in generic concepts | Zahary Karadjov | 2017-03-24 | 3 | -10/+42 |
| | | |||||
| * | support for accessing types and consts defined in concepts with the dot operator | Zahary Karadjov | 2017-03-24 | 2 | -13/+49 |
| | | |||||
| * | support for accessing the inferred concept type params with the dot operator | Zahary Karadjov | 2017-03-24 | 5 | -6/+22 |
| | | |||||
| * | concept type params inference working in basic examples | Zahary Karadjov | 2017-03-24 | 4 | -2/+44 |
| | | |||||
* | | added a codegen note | Andreas Rumpf | 2017-03-29 | 1 | -0/+1 |
| | | |||||
* | | fixes #5618 | Andreas Rumpf | 2017-03-28 | 1 | -1/+4 |
| | | |||||
* | | compiler: better error messages (#5613) | Andreas Rumpf | 2017-03-26 | 3 | -23/+31 |
| | | |||||
* | | fixes #5599 (#5610) | Andreas Rumpf | 2017-03-26 | 1 | -2/+8 |
|/ |