fix
Issue 13303 - Internal error: ..\ztc\cgcs.c 351 with rvalue Variant.get call
fix
Issue 11946 - need 'this' to access member when passing field to template parameter
[reg] Temporary fix Issue 13321 - Wrong goto skips declaration error
[refactoring] turn PROT into struct and rename it

Makes it possible to easily add additional protection
information and differentiates between protected imports
and actual attribute.
Support 'package(ident)' syntax (parser/AST)

This commit adds capability of parsing and resolving
explicit package defined for package protection attribute. Adjusting
acess checks to use it will be done in separate commit.
Fix #2529: package protection + sub-package

Fix relevant issue by allowing to explicitly define
package to bind protection attribute to. Defaults
remain unchanged.
Reject non-parent protection packages

Using non-existent or non-parent package as an argument to
'package' protection attribute will result in compile-time error.

Test cases with error message output added.
Improve ProtDeclaration error formatting.

Now includes actual protection attribute kind and package name (if any)
    into error message. Also stores location information from the parser.
Do not generate code for protection tests
Printing of ProtDeclaration is handled by visitor
Move isAncestorPackageOf docs to definition
Simplify isAncestorPackageOf implementations
Trivial whitespace fix
Move package resolution to semantic phase
Fix debug printfs in access.c
Consume remaining line tokens on error
Improved diagnostics for failing use of foreach

Alternative warning

Better message

Use comma instead of parenthesis for extra tip
fix Issue 13374 - Wrong template overload resolution when passing function to alias/string parameter
Merge pull request #3606 from nordlow/tupleof-tip

Improve failing foreach reporting for struct and class aggregates
fix Issue 13294 - [IFTI] IFTI fails or works incorrectly for function with const and mutable `ref` parameters of most types

This is more better implementation of enhancement 12290.
The first implementation #3353 was incomplete, so sadly it had introduced many IFTI regressions - 12403, 13026, 13180, 13223, and 13294.

Eventually I noticed that using typeMerge was wrong. It was the biggest root the regressions.

And, the enhancement 13127 was pointless change. Now it is mostly reverted.