Skip to content

Commit

Permalink
Reword "in future language versions"
Browse files Browse the repository at this point in the history
- We *are* deprecating some features on language level in 6.d,
    even if the Rakudo implementation currently can't issue
    per-language-version deprecation warnings on methods
- Just because an implementation doesn't short-circuit Junctions
    yet, doesn't mean that's defined behaviour on language level
  • Loading branch information
zoffixznet committed Oct 13, 2018
1 parent 083f7c1 commit 41d2504
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 9 deletions.
4 changes: 2 additions & 2 deletions doc/Type/IO/Handle.pod6
Expand Up @@ -97,8 +97,8 @@ C<open> to open (if C<closed>) the C<$*IN> handle if opening in read-only
mode or to open the C<$*OUT> handle if opening in write-only mode. All other
modes in this case will result in exception being thrown.
In future language versions, path C<'-'> will likely have no special meaning and
relying on this behaviour in new programs is not recommended.
As of B<6.d> language version, use path C<'-'> is deprecated and it will
be removed in future language versions entirely.
The C<:out-buffer> controls output buffering and by default behaves as if
it were C<Nil>. See method L<out-buffer> for details.
Expand Down
10 changes: 5 additions & 5 deletions doc/Type/Junction.pod6
Expand Up @@ -60,11 +60,11 @@ Note that the compiler is allowed, but not required, to parallelize
autothreading (and Junction behavior in general), so it is usually an
error to autothread junctions over code with side effects.
It is possible that I<future language versions> will include short-circuiting
behaviour in Junctions. For example one or more routine calls (C<a()>, C<b()>,
or C<c()>) in the code below might not get executed at all, if the result of
the conditional has been fully determined from routine calls already performed
(only one truthy return value is enough to know the entire Junction is true):
Implementations are allowed to short-circuit Junctions. For example one or more
routine calls (C<a()>, C<b()>, or C<c()>) in the code below might not get
executed at all, if the result of the conditional has been fully determined
from routine calls already performed (only one truthy return value is enough
to know the entire Junction is true):
=begin code :preamble<sub a(){}; sub b(){}; sub c(){}>
if a() | b() | c() {
Expand Down
7 changes: 5 additions & 2 deletions doc/Type/Pair.pod6
Expand Up @@ -301,8 +301,11 @@ Makes the I<value> of the C<Pair> read-only, by removing it from its L<Scalar co
CATCH { default { put .^name, ': ', .Str } };
# OUTPUT: «X::Assignment::RO: Cannot modify an immutable Str (apple)␤»
B<NOTE:> this method is proposed for removal in future language versions and its
use is not recommended.
B<NOTE:> this method is deprecated as of B<6.d> language version. Instead,
create a new C<Pair>, with L<deconted|/language/glossary#decont> key/value.
=for code :preamble<my $p>
$p.=Map.=head.say; # OUTPUT: «orange␤»
=head2 method Str
Expand Down

0 comments on commit 41d2504

Please sign in to comment.