Log of the #nice channel on irc.freenode.net

Using timezone: Central European Time
<bonniot>this is still a grey area for me03:15
something important: I think we will have to make an effort to get rid of FAIL testcases without FAIL HERE03:16
it's too risky that the test starts failing for some arbitrary reason, and we don't notice the regression
<arjanb>agreed
i think adding WARN and WARN HERE is useful too03:17
<bonniot>this is especially critical with changes like visibility, that can require quite a lot of changes to keep stuff compilable
yeah, although that's less urgent03:18
what about we make FAIL without a FAIL HERE be a testsuite warning (like when the error is not at the right place) ?
<arjanb>ok to me03:19
<bonniot>i guess that shouldn't block the dev version though03:21
<CIA-5>03arjanb * 10Nice/ (2 files in 2 dirs): Fixed double negation of literals.03:27
<bonniot>good catch ;-)03:29
<arjanb>i sometime wonder how many bugs can be hidden in a few lines for a long time03:30
<bonniot>yes, it's sometimes surprising
http://www.nelson.monkey.org/~nelson/weblog/tech/bad/octal.html03:34
you have my benediction to remove octal ;-)
<arjanb>ok03:35
i'm too tired now
<bonniot>i can wait one more day ;-)03:36
it03:37
this was a productive day, already ;-))
<CIA-5>03bonniot * 10Nice/ (16 files in 10 dirs): Implemented visibility for toplevel variables and values.03:41
<bonniot>good night03:53
<arjanb>g'night03:55
* bonniot leaves05:39
* bonniot joins09:24
* zzorn joins10:35
* Bluelive joins10:49
<CIA-5>03bonniot * 10Nice/src/nice/tools/visibility/ (nested.nice impl.nice): 10:59
Moved nested lookup to a separate file.
Made public symbols of the current scope visible in nested mode (although
they are shadowed by private ones, probably not what we want).
03bonniot * 10Nice/src/bossa/modules/Content.java: Correctly set the name of scopes that correspond to files.11:13
03bonniot * 10Nice/src/nice/tools/testsuite/FailTestCase.java: Report warnings for fail testcases that do not specify the error location.11:41
<bonniot>away for a few hours...11:42
<arjanb>hmm 194 unlocated fail cases with quite a few parse errors...14:38
<CIA-5>03arjanb * 10Nice/testsuite/compiler/ (26 files in 13 dirs): Added some missing failure positions.16:06
<arjanb>still 153 left..16:07
<bonniot>back16:57
parse errors -> tests that were not failing for the good reason?
<arjanb>yeah16:58
<bonniot>gasp16:59
so it's worth making sure that the error is really happening at the desired place17:00
if you have doubts, let me know and just leave the case for further analysis
are you working on more at the moment? so we don't duplicate work17:01
<arjanb>i'm only doing the obvious ones for now17:02
atm removing octal literals
<bonniot>ok
looking at compiler/typing17:07
<CIA-5>03arjanb * 10Nice/ (3 files in 3 dirs): Removed octal integer literals.17:26
<bonniot>i'm not sure if we want to allow integer literals starting with 017:28
someone might expect octals to be there, and then he would get no error, just unexpected semantics. that's dangerous17:29
<CIA-5>03bonniot * 10Nice/testsuite/compiler/typing/ (6 files): Added expected failure positions.17:33
<bonniot>interesting, there was a /* FAIL HERE */ without the ///17:38
i'm not sure what's the intent of this one:17:41
/// Toplevel
abstract class A {}
class B extends A {}
void foo(A);
void foo(A);
foo(B(A) x) {}
foo(B(B) x) {}
<arjanb>i think testing additional tc when resolving the declaration17:42
<bonniot>shouldn't it be foo(A) and foo(B), the declarations?17:43
and why should it fail?17:44
it's part of a commit you made, with this comment:17:45
"If a method is ambigious and has an additional tc then find the most specific match for that method."
<arjanb>i think they choose same declaration
<bonniot>well, if the two declarations are identical there is no way to chose17:46
there is also a similar pass test:
/// Toplevel
abstract class A {}
class B extends A {}
void foo(A);
void foo(B);
foo(@B(A)) {}
foo(@B(B)) {}
<arjanb>that's weird17:47
<bonniot>i suppose you wanted a case with ambiguity even with additional tags17:48
<arjanb>possibly17:49
<bonniot>OK to replace it with:17:54
/// Toplevel
interface I1 {}
interface I2 {}
class B implements I1,I2 {}
void foo(I1, String);
void foo(I2, String);
void foo(I2, int);
foo(B(I1) x, y) {}
foo(B(I2) x, y) {}17:55
?
with FAIL HERE on the last line
<arjanb>ok
<bonniot>what do you think about leading 0 ?17:56
<arjanb>i'm changing that now but i forgot 0 is a number too17:57
<bonniot>;-))
so 0 was parsed as an octal number? weird!17:58
<arjanb>yes17:59
<bonniot>i guess it would annoy some people if we broke 0 ;-)18:00
<CIA-5>03bonniot * 10Nice/testsuite/compiler/overloading/specificity.testsuite:
Added expected failure positions.
Changed testcase to really test ambiguity even after additional tags are
taken into account, and not unavoidable failure due to identical domains.
03arjanb * 10Nice/src/bossa/parser/Parser.jj: No leading zeros allowed on integer literals.18:04
<bonniot>i suppose in 20 years when everybody has forgotten about octal we can allow leading zeros ;-)18:05
i won't touch the testsuite for some time. let me know if you have some doubts18:21
<CIA-5>03bonniot * 10Nice/src/nice/tools/ant/TestListener.nice: Add needed import.18:22
<bonniot>(down to 130 warnings)18:23
* dreese9859 joins18:37
<arjanb>hi18:38
<dreese9859>hello
<CIA-5>03arjanb * 10Nice/testsuite/compiler/ (13 files in 6 dirs): Added more failure locations.20:25
<arjanb>69 left now
<bonniot>:-)20:29
* dreese9859 leaves20:39
* dreese9859 joins21:02
* dreese9859 leaves21:57
* dreese9859 joins22:16
<arjanb>do you have any questions?22:39
<bonniot>who knows if we have a human there? ;-)22:48
<arjanb>i'm not sure what cocoblico is having said nothing for at least a week22:51
<bonniot>shy? ;-)
<arjanb>more likely some bot22:52
* Bluelive leaves23:46

Generated by Sualtam