> On Dec 14, 2015, at 8:15 PM, Jesse Rusak via swift-dev <swift-dev@swift.org> 
> wrote:
> 
> Hi all,
> 
> I’m investigating this bug: https://bugs.swift.org/browse/SR-186 
> <https://bugs.swift.org/browse/SR-186>
> 
> Which appears to be a result of the fact that the logic that determines if an 
> operator is prefix/postfix/binary does not treat comments as whitespace. So, 
> for example:
> 
> /* comment */!foo
> 
> does not lex as expected because the “!" thinks it has an something on both 
> sides and so is treated as a binary operator. 
> 
> Fixing this (by treating comments as whitespace here) will break existing 
> code which relies on the current behavior, such as:
> 
> foo/* comment */!
> 
> which currently treats the “!” as a postfix operator but will change to 
> binary. I expect these cases would be rare (maybe in some generated code?), 
> but the results might be pretty confusing. 
> 
> Any objections to fixing this or other thoughts? 

There are two defensible models here:

1) comments should be treated as whitespace.
2) comments should be treated as if they were not present.

The later model seems more ideal to me (because you can put whitespace on 
either side of the comment after all), but I don’t have a strong opinion about 
that.  What do others think?

-Chris

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to