On Tue, Aug 11, 2020 at 10:07 AM guilhermebla...@gmail.com < guilhermebla...@gmail.com> wrote:
> I'd like to explain my rationale. Most of the time I end up using > "#[todo] Whatever" while documenting my code... my intentions are "# > [todo] ...", but you know... missing that space char doesn't break > anything today... > We could disagree on which is more common today @[] or #[], but I don't have the numbers, so it's useless to argue that point (though I will say that @[$foo, $bar] = explode(...); is valid syntax that does something while #[todo] whatever is just a comment and therefore a bit arbitrary. But again, I'll agree to disagree on which of those two comes out less problematic. Certainly in terms of YOUR vote, you can absolutely choose to vote for something which doesn't break your workflow and that's 100% valid. Certainly we can agree they have the same fundamental BC break chance. And have the same work-around for fixing (add a space). > In any case, BC is broken and FC would also not work. > > This is the part I replied to call out. You seem to be stating that "FC would also not work" on the #[...] syntac which is demonstrably false. Writing this on PHP 7 (or any earlier version for that matter) would be valid syntax (ignored as a comment): #[SomeAttr(123)] function someFunc() {} That's what's meant by Forward Compatibility. Library/Framework authors could aggressively adopt attributes with the #[...] syntax, they can NOT do so with any other syntax. -Sara