TCustomAttribute descendants cannot be used
## Summary TCustomAttribute descendants ```pascal WeakAttribute = class(TCustomAttribute); UnsafeAttribute = class(TCustomAttribute); RefAttribute = class(TCustomAttribute); VolatileAttribute = class(TCustomAttribute); ``` cannot be used in code because compiler complains reports an error: ``` Error: Wrong number of parameters specified for call to "Create" objpas.inc(1306,34) Error: Found declaration: constructor Create; ``` ## System Information - **Operating system:** Windows - **Processor architecture:** x86-64 - **Compiler version:** trunk - **Device:** Computer ## Steps to reproduce ```pascal type TC1 = class private [unsafe] FObj1: TObject; end; ``` ## What is the current bug behavior? Compile error. ## What is the expected (correct) behavior? No compile error. ## Possible fixes Either remove private constructor from TCustomAttribute or create public parameter-less constructor for descendants that do not need special constructors. Eg. ```pascal TSimpleCustomAttribute = class(TCustomAttribute) public constructor Create; end; WeakAttribute = class(TSimpleCustomAttribute); UnsafeAttribute = class(TSimpleCustomAttribute); RefAttribute = class(TSimpleCustomAttribute); VolatileAttribute = class(TSimpleCustomAttribute); ```
issue