I’m pretty new to working/tinkering with the Clang compiler, so I’m sorry ahead of time if these questions aren’t relevant to this mailing list or seem silly.
My first question is mainly, is it at all possible to instantiate a non-type template based Expr during the type formation stage and if so would it be possible to get pointed in the right direction to do it? (for example inside one of the Attributes that intake an integer parameter). Or is it impossible/incorrect to rely on a dependent parameter at this stage (I have noticed most things throw a diagnostic error if the value is dependent or type dependent)?
My other possibly more difficult to answer question is how (or where in the source code if that’s even possible) is dependency passed upwards to parent statements/expressions (types in general)? For example if I have a std::same_as with a parameter that is dependent the std::same_as will also by extension be dependent until its child is no longer dependent.
Again sorry if these questions are out of context for this mailing list and thank you very much for your time.
Please consider the environment and think before you print.
The University of the West of Scotland is a registered Scottish charity. Charity number SC002520.
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender.
Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the University of the West of Scotland.
As a public body, the University of the West of Scotland may be required to make available emails as well as other written forms of information as a result of a request made under the Freedom of Information (Scotland) Act 2002.