> Le 5 sept. 2016 à 00:53, isidoro carlo ghezzi via swift-evolution 
> <[email protected]> a écrit :
> 
> Hi all,
> 
> I think the "old style" `#pragma` is necessary in Swift.
> Exactly in the same way it is available in C/C++ or Objective-C/C++, or in 
> something else portable way.
> 
> Because `#pragma` is not handled in Swift, in Xcode they overloaded the 
> semantic of comments, giving to the comment `// MARK:` the semantic of 
> `#pragma mark`
> 
> But my point of view is that, I would like that what it is written in a 
> source comment (what it is written after a // or between /* */ ) should be 
> fully ignore by compiler or IDE.
> 
> I understand that maybe a compiler shouldn't lose time handling `#pragma 
> options`, but giving semantics to source comment, I think it can be dangerous 
> and misunderstood.
> 
> The implementation in Swift compiler should be simple, ignoring any line 
> beginning with `#pragma` (ok I know It is not simple)
> The IDE will handle the `#pragma`
> 
> That's why they invented `#pragma`in C/C++ Objective-C/C++ right?

I don’t think it is a reason pragma exists. except for #pragma mark, I’m not 
sure the compiler ignore any pragma. They are used to control the compiler 
behaviors (controlling warning, specifying linker dependencies, enabled 
specific feature like OpenMP, etc…) and not at all to interact with the IDE. I 
would even says that pragma mark is an abuse of the #pragma construct as it is 
ignored by the compiler and used by the IDE only.

I’m strongly again introducing #pragma without very very good reason into 
swift. Asking the IDE to parse comment to extract metadata is not worst abusing 
pragma to do the same, and at least it is forward and backward compatible with 
any other tools.

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to