►
From YouTube: 2021-07-07 RFC 2229 sync
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
B
B
So
right
we're
talking
about
this,
so
the
first
example.
B
I
really
hate
the
way
it
puts.
C
Annoying
it
does
the.
B
Okay,
so
so
what
is
happening
here
here,
we
have
a
mutable
reference
to,
and
the
full
path
is
like
star
bx.
That
gives
us
star.
B
That
I
just
that
and
the
difference
is,
was
one
other
important.
B
B
Right
so.
B
The
mode
of
access
is
sort
of
mutable
reference
right,
but
in
this
case
we
have
a
draft
of
an
ampersand
mute
in
the
place
that's
being
accessed,
but
in
this
case
we
don't.
B
B
B
But
if
we
do
not
have
such
a
draft,
we
should
truncate
and
we
should
go
to
move.
B
C
B
To
pass
through
immutable
reference
to
get
there,
and
that's
the
difference
that
in
this
closure,
the
data
that's
ultimately
being
accessed
in
russ
today
is
not
owned
by
the
closure
and
just
thinking
more
abstractly.
The
data
that's
ultimately
being
accessed
is
not
owned
by
the
variable
that's
being
used
to
access
it.
C
B
C
C
B
B
C
I
to
me,
I
think
the
most
generic
case
would
be
if
the
thing
doesn't
contain
drafts,
it's
a
very
simple
situation
there
and
that
is
move.
It's
a
move
closure
or
was
it
called
a
borrow,
immutably,
mutably
or
depending
on?
If
it's
not
a
move
closure
and
depending
on
how
it
gets
used.
C
Do
we
want
to
include
unique
immutable
here,
or
is
that
part
of
rough
mute.
B
Hey,
let's
just
include
it,
but
I
don't
think
it
makes
much
difference
and
then
closure
mode
is
sort
of
ref
or
move.
B
B
B
C
C
B
Places
like
m1,
p1
or
yeah,
okay,
m2
p2,
where
p1
is
a
prefix
of
p2.
We
basically
want
to
remove
both
places
and
add
max
m1
m2.
C
B
To
describe
it
in
this
weird
way,
but
this
is
like
this
is
sort
of
the
formalism.
I
have
in
my
mind
that
there's
like
a
series
of
rounds
where
you
take
things
out,
and
you
put
things
back
in
and
in
the
end
you
get
to
a
fixed
point
and
you're
happy.
C
Yes,
yeah
either
we
can
stay
applied
until
this
cannot
be
applied
until
the
set
has
no
p1
p.
To
says
that
p1
is
a
prefix
of
p2
or
you
start
with
an
empty
set,
and
that,
like
it,
comes
to
an
implementation
detail
after
that.
How
you
make
this
fast,
but
yeah.
B
B
I
have
to
look
it
up,
but
there's
a
prologue
like
language
that
has
this
as
its
basic
model,
take
things
out
and
put
them
back
in
and
we
could
try
to
model
it
later
on
and
no
no
datalog
is
different,
but
I
forget
what
it's
called
tuple
space
is
one
thing
that
works
like
this,
but
there's
another
one
point
being:
if
we
get
it
properly
done,
it
would
actually
be
cool
to
try
to
specify
it
in
that
language
and
try
it
out
test
it,
but
the
I'll
think
of
it
later.
B
C
B
Yeah,
let's
call
this
access
mode
and
we'll
call
it
closure.
I
mean
closure
mode
where
to
move
so
I'm
contending
that.
B
I
think
move
closures
might
be
a
first
pass.
I'm
trying
to
remember
how
we
I
know
we
went
through
this
and
I
don't
remember
where
we
landed,
but
I'm
thinking
of
it
now
as
move
closures,
are
a
first
pass
that
mutates.
B
B
Or
I
guess
it's
like
else
or
if
this
is
really
else,
if
else,
if
place
contains
a
draft.
D
B
Let's
call
that
or
like
let
place
one
equals
place
truncated
just
before
the
draft.
Then
we
add
move
place,
one
to
c
prime
or
something.
B
D
A
D
C
C
So
if
you
have
any
reference
of
there's
one
more,
the
first
scenario
is
then.
C
Then
there's
the
unsafe
and
some
all
those.
B
Situations:
okay,
yeah:
let's
come
back
to
that
in
a
second
you're
right,
though,
let's
add
that
to
the
xxx
unsafe.
So
I
think
the
other
thing
is
if
it's
a
ref
closure,
we
have
a
similar
bit
of
logic.
To
this,
that
says,
if
mode
is
move
and
place
contains
a.
C
C
It's
just
a
little
situational
because
you
want
to
make
sure
I
one
of
them
applies
in
the
scenario
of
I
remember.
One
of
them
applies
to
only
borrows,
which
is
the
taking
a
reference
wrapper
pack
filled
in
at
upper
backdrop.
B
C
No
that's
the
first
thing
that
happens
the
moment
we
see
we
have
we're,
borrowing,
something
and
the
what
we're
borrowing
is
of
a
wrapper
factor.
The
reason
we
do
that
early
on
is
so
that,
because
it
is
possible
that
someone
moves
the
same
data
later
on
and
then
does
the
and
we
we
decided.
C
Avoid
that,
like
like,
if
you
look
at
the
bottom
of
the
file
I'll
write,
something
which
is
something
like
print
a
dot
dot.
C
B
B
C
Yes,
but
the
access
to
pack.-
yes,
but
we
what
we
decided
was.
We
would
do
this,
which
is
graph
or
background
yeah.
C
B
C
B
B
Capture
the
yeah,
just
the
entire
struct,
rather
than
just
moving
the
field.
This
is
to
aid
in
predict
predictability
so
that
removing
the
move
doesn't
make.
The
closure
become
unsafe.
B
B
B
B
We're
gonna
pass
that
through
the
first
round.
I
really,
I
wonder
how
I
don't
know.
I
don't
really
know
how
order
sensitive
these
things
are.
I
wonder
if
you
can
just
put
them
all
in
one
big
bag,
but
anyway,
we're
going
to
do.
C1
is
like
yeah.
C
C
D
C
It
is
I
I
think
I
know
why
this
is
okay,
so
I
know
why
our
implementation
is
a
little
different
just
because,
if
we
think
about
this,
this
has
three
sort
of
okay.
So
this
has
three
sort
of
passes.
One
is
the
collection
phase,
one
is
the
apply,
the
rules
phase
and
the
third
is
minimization,
and
I
think
what
we
had
initially
talked
about.
While
we
were
doing
was
like
we
can
apply
the
rules
on
the
fly
yeah.
C
Of
a
just
mismanaged
sort
of
situation
so
might
be
a
good
time
just
to
rewrite
this.
B
A
A
D
B
B
C
Yeah,
so
the
reason
also
we
have
this
a
little
bit
of
weirdness
is
because
it's
sort
of
like,
I
think
what
I
inherited
from
the
previous
like
2018
version
of
this
code,
which
was
move
closures,
would
have
certain
degree
of
just
like
things
like
the
initialization
for
move
closures
happened
early
on
than
later.
B
B
Yeah,
so
here's
my,
I
think
this
is
the
way
I
want
to
formulate
it
three
helper.
A
C
Form
trying
to
remember
or
like
think
of
this
has
something
also
to
do
with
the
fact
that
how
you
would
handle
different
modes
just
coming.
I
don't
think
that
has
something
anything
really
to
do
with
it
yeah.
I
think
they
should
be
fine.
B
I
think
this
will
work
yeah
and
then
minimization.
A
D
B
B
Closure
borrows
data,
and
it's
no
notably
you
can't.
You
can't
take
ownership
of
data,
you
don't
own.
Anyway.
That's
a
read
like
if
you
move
out
from
something
that's
in
a
reference.
You'll
get
an
error
anyway.
So
it's
fine.
C
Just
thinking
well,
I
think
this
is
missing.
One
point
which
says
like:
if
you
it
is
possible
that
you're
trying
to
move
data
out
of
a
reference,
but
the
closure
doesn't
still
own
the
data,
so
you
truncate
to
the
pointer.
I
don't
think
these
two
lines
express
that
unless
I'm.
B
D
B
C
C
A
B
A
B
To
keep
this
simpler,
if
data
being
access
is
owned
by
the
variable
used
to
access
it,
I
don't
want
to
cover
the
error
case
because,
like.
B
D
C
I
think
experience
visitor
tells
you
it's
a
bi-value
use.
B
Let's
look
because
I
think
I
thought.
C
C
B
C
Let
me
okay,
let
me
write
this
out
one
second
and
see.
What's
like,
I
don't
have
a
complete
picture
in
my
head,
but
I
want
to
write
it.
C
C
C
B
This
is
like
capture,
ref,
borrow
or
capture
a
reference
and
not
data.
It
owns
or
something
I
don't
know.
B
I'm
just
gonna
put
this
xxx
for
now,
but
I
think
this
is
the
last
step
right
like
we
do
that
as
a
final
pass.
C
D
B
C
B
B
This
is
just
gonna
work,
because
you're
gonna
get
the
ref
mute
and
it's
gonna
see
that
it's
a
draft
of
x
right,
but
if
you
did
okay,
so
this
is
the
this
is
a
better
example.
I
guess,
if
you
just
look
at
this
example
now
we
have
a
read
from
x
and
a
read
from
y
and
what
could
happen
if
we
move
x
we're
going
to
get
a
compilation
error
here,
because
x
can
only
be
moved
once
because
it's
the
ampersand
mute?
B
B
B
A
C
B
C
B
B
B
A
C
Of
a
yeah,
so
that's
a
copy
type,
so
there's
a
move
code
here,
it's
a
copy
type
that
you're
moving
and
the
draft
is
of
a
reference.
So
we
just
return
as
is,
and
if
you
look
up
the
function
called
init
capture
info.
I
think
our
init
underscore
capture
mind
it
is.
It
would
have
initialized
the
place
by
by
a
reference,
so
this
size
of
yeah
and
right,
the
the.
So
this
is
inner
capture
kind.
There's
another
function
which
is
like
line
1576
that
gets
called.
B
C
So
if
you
look
over
there,
if
it's
a
move,
closure
and
all
the
dereferences
are
of
a
reference,
then
we
initialize
it
another
f.
So
we
take
a
reference
to
that.
A
B
Yeah,
you
need
a
multiplier
there
right
and
so
the
point
being
we're
treating
it
as
if
we
borrowed
it.
Oh
println
isn't
the
best
example,
because
println
actually
does
borrow
it.
A
B
Also
need
a
move
closure
unless
I'm
totally
mistaken,
which
would
be
yeah
yeah.
So,
even
though
this
is
a
copy
right,
we
treated
it
like
a
borrow,
so
I
think
we
can
just
treat
copies
as
refs,
and
that
means
in
terms
of
our
description
up
here,
I
to
actually
change
this
to
move,
and
I
would
say
note
by
value,
use
of
a
copy
type
is
considered
ref
and
I
think
that'll
get
us
the
right
behavior,
because
if
it's
a
move
closure
we're
going
to
change
that
ref
to
a
move.
C
Maybe
maybe
we
should
add
that
if
it
is
a
like
basically
have
a
helper
function
from
like
completeness
of
the
algorithm
perspective,
where
your
place,
dot
type
is
a
copy
type
and
mode
is
by
value,
it
converts
it
to
place
dot
type
and
makes
that
into
a
rough.
So
that's
the
algorithm.
B
A
B
Copy
type,
it's
basically
if
mode
equals,
pi
value
and
type
of
place,
is
copy.
A
B
Sure
and
then
we
can
just
sort
of
throw
this
in
there.
B
Or
did
it
mean
move?
What
did
it
mean
for
plays.
A
B
D
B
C
C
C
C
C
C
B
B
Oh,
the
optimization
right,
yeah,
yes,
optimization
dome,
borrow
the
ref,
not
data
owned
by
ref.
So
here
we
say
if
this
is
like:
if
mode
is
ref
and
place,
contains
the
draft
of
an
ampersand
or
something
I'll.
Let
you
if
we.