►
From YouTube: Programmieren in Rust (28.11.): Generics & Traits
Description
Vorlesung „Programmieren in Rust“ an der Universität Osnabrück im Wintersemester 2016/17.
Diese Aufnahme ist leider in schlechterer Qualität. Alternative Aufnahme in gleicher Qualität mit Dozentenvideo: https://video4.virtuos.uos.de/engage/theodul/ui/core.html?id=7859a587-aa3c-470e-8f17-34d62dc66984
Slides und weitere Informationen: https://github.com/LukasKalbertodt/programmieren-in-rust
Playlist: https://www.youtube.com/playlist?list=PL0Ur-09iGhpwMbNiVTBeHmIjs0GuIXhNg
A
It's
getting
surprisingly
empty
here,
that's
a
bit
sad,
but
I
think
we
'll
just
want
to
trust
everything.
Look
at
home
this
time.
We
ca
n't,
unfortunately
manage
to
record
my
books
ourselves,
so
we
have
to
leave
us
virtuoso,
but
they'll
definitely
manage
it.
Well.
All
of
this
shouldn't
work
again
on
Wednesday.
A
few
things
to
start
with,
when
we
uploaded
cargo
projects
for
the
first
time
and
had
some
problems.
A
A
You
could
just
make
yourself,
don't
always
do
weird
things.
He
two
little
other
comments.
I've
still
seen
a
lot
of
you
use
type
organization
where
you
don't
need
the
topic,
still
write,
latics
and
a
colon,
the
explicit
types,
and
then
something
is
necessary
in
the
rarest
of
cases,
so
really
try
to
leave
out
the
types
stations
completely
from
then
on
get
used
to
the
fact
that
now
not
even
write
down
it’s
really
easy
automatically
big.
A
If
you
leave
them
out,
you
read
rather
rest
co-op
modes,
don't
stand
there
where
they
stand
unnecessarily
and,
of
course
you
should
always
try
to
avoid
double
knockouts,
and
you
can
do
that
very
well
with
rust.
Actually
that
means
you
can
think
twice
about
making
your
head
even
shorter,
and
it's
usually
still
had
special
questions
in
advance.
Otherwise,
would
start
with
the
topic
with
the
new
wonderful
this
time.
A
It's
not
about
jokes
and
trades
and
I'm
actually
quite
excited
that
we'll
conclude
the
topic
that
she
learns
from
it,
because
that
is
so
that
the
last
really
thick
blog
that
you
have
to
understand
to
complete
this
steep
learning
curve.
So
as
soon
as
we
have
understood
the
block,
we
will
quickly
understand
most
of
the
rest.
A
Then
there
are
a
few
smaller
blocks
that
you
still
have
to
understand,
but
that's
it
for
now
last
big
blog
that
you
have
to
understand
in
order
to
be
able
to
use
functions
from
the
city,
library
or
something
similar
start
with
the
rx
ang,
you
can
participate
in
a
few
things.
First,
let's
think
about
it.
We
have
a
function
or
a
data
type
define
something
we
do
n't
want
to
do
that
only
define
for
a
fit
one,,
but
we
write
an
algorithm
or
a
data
structure
that
should
work
for
several
types,.
A
It
is
often
the
case
that
we
write
something
and
that
does
n't
just
apply
to
integers
or
something
else,,
but
actually
several
types,,
I.e.
in
real
generic,
be
about
a
type
that
means
that
we
simply
do
n't
have
to
define
things
twice,.
For
example,
writing
a
list
lists
data
type.
Of
course
we
don't
want
to
somehow.
A
Write
a
list
for
every
possible
data
type
that
comes
in
we
do
n't
want
to
write
the
implementation
twice,.
We
just
want
it
only
formulate
a
list
of
things
and
the
user
can
then
choose
these
things
later
user.
That
I
can
then
choose
later
what
to
put
in
there.
That
also
knows,
as
a
vector
we
can
choose
to
put
it
back
in.
A
You
can
be
sure
that
this
sector
is
not
for
each
for
each
individual
data
type
defined
again
in
the
city
library,
so
we
want
to
make
life
easier
for
us,
so
be
abstract
about
types
and
you've.
Seen
it
several
times
now,
you
just
couldn't
hide
it,,
for
example,
with
this
option
types
you
saw
that
this
is
such
a
strange
carrier.
These
pointed
brackets
and
or
short
question
who
has
already
heard
generics
in.
A
All
costs
there
are
probably
a
few
who
are
not
sitting
here
who
have
not
done
it
yet,
but
I
think
that
is
pretty
much
clear
to
most
of
them.
We
want
out,
and
they
are
in
this
case
just
means.
Okay,
we
our
option,
but
we
have
this
type
parameter.
Tnt
parameter
is
like
a
function
parameter
now,
not
that
you
have
a
value
line.
There
is
then
a
type
in
there
like
buhl,
for
example.
That's
him
parameters,
and
we
can
then
use
this
parameter
here.
It
's
like
a
placeholder,
so
we'll
have
an
option.
A
We
say
there
are
missing,
but
the
parameters
that
had
to
be
specified,
that
is
whether
they
are
at
all
so
option
without
a
type
parameter,
not
quite
clear
what
that
is
at
all,
so
it
's
not
a
type
in
any
way,
because
we
ca
n't
have
an
instance
of
optical
without
a
type
parameter.
Then
you
have
to
have
type
parameters
you
give
them
later.
It's
another
theory.
A
I
think
I
also
had
the
last
time
for
this
lecture
from
in
this
slightly
different
in
this
slightly
different
material.
But
yes,
that
comes
later
promise
of
the
magix
alone
and
how
you
use
them.
This
lecture
is
a
bit
faster
than
the
last
ones
again.
That
means
there
is
now
a
bit
more
information
one
after
the
other,
but
I
think
we
can
deal
with
it
so
again
they
are.
We
have
to
first
declare
our
type
parameter.
That
means
a
little
compiler
announce
that
what
to
write
now.
A
A
That
means
here
is
the
type
parameter
declared
so
announced
in
writing
that
you
are,
for
that
is
generic
with
the
tea,
and
here
this
type
of
parameter
is
used,
so
a
placeholder
with
you
just
saw
exactly
the
same
there.
We
have
the
declaration
so
that
the
use
with
tubes
trucks,
which
we
very
very
rarely
used,
of
course
only,
but
it
works
the
same
way
and
functions
are
also
similar.
A
We
have
here
the
decoration
after
the
function
name
and
can
then
use
it
in
the
parameter
list,
for
example,
or
also
in
the
body
of
the
function
it
listens
to.
The
declaration
is
actually
always
after
the
name
of
it
too.
You
just
defined,
except
for
the
apple
blog
again
it
does
n't
look
like
it.
We
have
the
declaration
here
after
the
impel.
So
not
the
name
of
what
you
do,
and
here
we
have
the
type
and
then
we
use
it.
A
Then
you
can
use
the
type
parameter
t
in
this
case,
of
course,,
but
also
in
a
whole
body
that
follows,
many
examples
will
use
cent
per
liter.
I've
already
said
that
it's
just
a
placeholder
we'll
go
into
detail
later
again:
rast
compiler
that
implements
how
the
swords
machine
code
ends,
but
to
us
it's
just
placeholders
and
the
name.
That's
a
bit
strange
for
retailers,
always
with
a
capital
letter
in
the
vast
majority
of
cases
where
you
really
have
a
lot
of
parameters,
then
you
can
still
change
that,.
A
A
Then
kenner
case,
but
mainly
just
one
letter
so
far
so
good
in
the
blog,
we
remember
our
option
of
straight,
which
was
defined
generically
via
t,
and
we
would
like
to
define
methods
for
this
option
so
write
us
a
little
blog
here.
That
means,
like
I
just
said,
have
in
bt
and
then
use
this
animal
here
and
because
things
write
and
there
comes,
the
animal
can
use
again.
Eg
define
rap.
A
This
method
have
already
used
at
least
once
the
signature
just
looks
like
this
from
the
tent
and
return
to
system
whatever
is
in
us
and
as
is
defined.
So
here
is,
of
course,
also
used
again,
so
we
can
use
it
in
the
whole
body
and
it
is
defined
as
follows,
namely
particularly
difficult
I
hope
you
know
by
now
from
anrath
makes
so
this
implementation
shouldn't.
Surprise
you
if
it's
the
most
blasphemous
return
path,
christian.
Otherwise
we
think
ok,
so
far,
so
good.
So
that's
how
you
would
make
a
generic
function.
A
You
can
also
do
something
that
rarely
makes
sense,
but
maybe
you're
wondering
you
can
also
write
for
special
types
in
the
blog,,
for
example,
something
you
could
say
for
now:
option
the
32
for
that
now
implement
methods
to
which
I
give
methods,
but
not
for
the
other
types
that
makes
are
rare,
but
I
wanted
to
be
able
to
show
again,,
for
example,
then
write
an
instrument
method
that
always
argues
if
it's
a
collector,
it's
somehow
still
solution.
Methods
for
everyone
case
can
write
apple
blog
for
special
types
that
I
just
said
just
for
the
record.
A
B
A
That's
exactly
right.
Two
generic
types
looks
like
this:
you
just
separate
them
with
a
list
in
the
declaration.
Just
tell
me,
I
want
to
be
generic
about
it
and
above
that
and
that
's
how
it
is
defined,
and
we
can
now
still
add
more
generic
parameters
to
functions
in
genetic,
simple
blocks,
for
example,.
Do
that
again
for
the
generic
option,
so
that
in
the
block-
and
now
we
want
the
method-
that's
also
in
the
city
library
there
ok
finance
looks
like
it
makes,
is
the
wind
self,
so
this
option
and
another
error.
A
So
this
function
is
the
conversion
of
options
result
in
which
the
option
is
enriched
by
more
error
information,
and
this
is
where
it
only
becomes
apparent.
We
have
here
these
additional
parameters,
because
we
define
them
here
in
this
function,,
which
of
course
were
only
used
here
in
this
function,,
and
if
we
had
another
method,,
then
who
would
then
no
longer
be
usable
like
this,
and
we
can
use
this
topic
here,,
which
we
defined
in
different
places.
A
The
implementation
of
this
method
is
quite
easy
again
if
it's
in
then
it'll
be
okay
and
if
it
's
different
and
now
an
ergo
we'll
just
pack,
this
additional
information
in
there
that's
quite
interesting,
actually
function.
That
makes
a
lot
of
sense
from
the
city.
Library
just
have
a
look
and
see
how
easy
they
are
actually
defined
here.
It
is
important
to
understand
that
you
can
declare
these
parameters
in
different
places.
A
Like
the
protocol
so
far
so
clear,
I
don't
know
how
fast
it
can
be
because
if
you
are
already
dealing
with
a
lot
of
programming
languages
with
generic
rx,
that's
probably
right
easy.
But
if
it's
completely
new
but
of
course
it's
very
difficult
at
the
moment,
everything
is
still
clear
in
my
left.
Please!
Yes,
ok!
Wonderful
is
really
difficult
to
say,
combinations
most
topic,
namely
type
inference.
How
does
the
types
association
means
rx
then
already
found
out?
If
we
latics
maybe
to
write,
then
the
compiler
can
figure
out
that
it
is
a
julien.
A
That's
not
yet
a
big
task
for
the
compiler.
How
would
you
like
to
look
at
that
again
now,
as
with
the
xbox
not
and
then
let's
look
at
the
schnitzel
in
a
row,
if
just
say
net
3
as
it
were
and
loads
all
the
same,
ok
to
then
it
works.
So
the
types
for
all
works
without
problems.
Now
briefly,
the
question
which
type
has.
B
A
B
A
Exactly
it
is
quite
simple,
but
the
compiler
falls
victim
to
the
war,
so
that
is
also
here
again,
so
that
the
type
annotations
are
not
necessary
in
most
cases
and
I
always
say
that
in
most
cases
it
is
not
necessary
and
then
writing
is
still
that's.
Why
I
also
show
it
right
away
in
cases
where
it
is
necessary
if
the
compiler
compiles
without
it
being
there,
then
it
can
in
any
case,,
always
leave
it
out,
for
example,.
A
There
is
a
function
that
is
in
the
module
in
the
standard
time
in
the
module
call
it
called
or
parents
the
size
of
a
type,
it's
hot.
It
makes
sense
in
system
programmers
exciting,
where
you
want
to
know
how
it
actually
takes
a
lot
of
time,
a
type
1.
So
if
I
somehow
32
have
our
work,
if
I
have
it
tract
of
232
respectable,
it
is
a
system
programming
languages.
definitely
makes
sense,
is
defined
like
this,
I.e.
the
generic
via
the
parameters.
Perpetrators
would
like
to
have
via
different
types.
A
We
get
the
biggest
one,
and
we
give
back
your
news.
What
happens
in
it?
We
are
not
interested.
The
compiler
does
some
weird
things
that,
of
course,
you
ca
n't
write
like
that
as
a
normal
programmer.
These
require
you
have
to
use
tyler's
tools,
but
it
doesn't
matter
now,
of
course,
the
question:
how
do
you
call
it
when
we
say
that,,
then,
of
course
it's
not
at
all
clear
what
our
size
was
in
the
evening,,
so
we
have
to,
we
did
n't
specify
any
type
at
all,.
A
So,
of
course
the
types
ferenc
can't
work
and
that's
why
there
is
the
so-called
turbo
fish
operator.
So
you
can
use
the
types
explicitly
both
method
or
in
the
function.
Specify
me
here
so
test.
Turbo
fischer
are
a
strange
name,
but
was
simply
chosen
because
this
colon
colon
and
then
because
you
somehow
not
quite
exactly
at
least
you
can
use
it
to
specify
the
type
parameter
is
always
just
for
fun.
Only
sunday
they
are
now
christened
or
called.
B
A
A
Yes,
exactly
other
bronx
can
enter
this
great
function
of
the
joy
lasts.
But
anyway,
if
we
forget
that
you
are
up
here
and
we
notice
that
when
we
first
write
the
compiler,
then
the
compiler
only
knows
at
this
point
so
at
some
point
option.
But
here
is
an
underline.
That
means
the
basement
doesn't
really
know
what's
in
there,
yet
that's
an
option,
but
not
quite
clear.
A
But
that's
where
the
compiler
gets
the
information
from,
and
here
it
is
only
then
it
becomes
obvious
that
b
1
should
be
an
option
around
16,
so
that
can
also
be
as
far
away
as
you
like,
somehow
all
the
information
that
is
somehow
there,
the
guy
in
mineralization
from
tyler.
It
can
sometimes
work
a
bit
magically
here.
A
It
is
another
computer
error
that
you
will
see
more
often
the
fact
that
an
underscore
is
also
used
here
for
the
compiler
errors.
When
I
say
my
sport
and
there
an
ok,
france
in
there
says,
ok,
so
in
any
case
another
part.
That
means
we
have
a
tennis
match.
The
compiler
will
definitely
complain.
Is
our
fault
no
question
the
compiler
doesn't
know,
of
course,
in
this
case,
what
is
the
type
of
this
research,
because
just
saying
what
the
type
is
he
can
integrate?
That's
very
clear,
but
the
other
white
nights.
A
So
you'll
do
that
too,
that
you
can
see
an
error
message
that
the
compiler
hasn't
quite
figured
out
what
the
type
it
is,
but
that's
usually
not
that
important
I
wanted
to
program
a
few
more
examples
easily
and
we'll
see
I
notice
that
I'm
going
through
the
slides
quite
quickly
get
through.
Maybe
we
can
finish
a
little
bit
earlier
today.
Lots
of
nice
questions
like
that.
A
A
If
we
somehow
have
an
option
again
and
then
until
now
directly
part,
I
don't
have
enough
information
about
this
type.
What
should
I
do?
But
normally
you
wouldn't
write
such
a
program
that
never
uses
this
type,
or
this
variable
again
so
write
a
bit
more
and
now
I'll
show
again
what
he
this
types
association,
everything
can,
for
example,.
We
now
have
a
rey
here.
B
A
So
the
compiler
can
definitely
figure
it
out.
The
type
of
et
e
mail
is
actually
irrelevant.
It
will
probably
be
32,
but
this
learning
method
that
definitely
worked
a
jus
eyes,
and
here
this
whole
this
whole
schnitzel.
This
whole
expression.
That's
he
now
a
range
through
which
we
want
to
run
with
this
dot,
dot,
syntax
and
this
range
can
still
have
a
type,
so
it
doesn't
make
any
sense
from
a
smaller
institute
to
one
to
count
larger
institutes
book
and
there
he
can
now
also
find
out.
A
Okay,
this
range
should
somehow
only
have
one
type,
and
one
type
of
the
two
operators
is
somehow
determined,
whether
it
is
specified
and
the
other
type
is
not
specified,
so
we
also
place
the
other
types
automatically
firmly.
That
means
yes,
that
is
combine,
then
that
works
too,
then
would
somehow
say,
is
over
now
means
that
is
a
bit
co.
A
A
A
A
News
means
it
should
has
the
same
effect
as
it
were,
but
in
fact
it
is
like
that
that
he
then
gets
a
little
weird
error
if
you
don't
specify
the
type
as
a
weird
error,
but
somehow
it's
not
fixed
any
part
of
your
program
then
defines
the
type
for
the
compiler.
So
the
compiler
can
integrate
that
from
this
little
weird
part
of
the
program,
but
you
not
at
all
aware
and
then
later
he
gets
a
type
r
weeks.
You
were
surprised.
I
didn't
say
that
this
type
is
sometimes
a
bit
strange,
but
actually
kompalla
doesn't.
A
For
example,
if
we
have
a
method
and
the
returns
a
lektor
from
klotz,
we
now
just
write
away
julian.
It
works,
although
away
new.
Of
course,
now
no
real,
no
real
type
in
itself
carries,
if
now
just
say,
woman
same
way,
new.
That
would
then
throw
an
error,
then
says
again:
yes,
I
didn't
just
notice
type
information
about
this
sector
apple
as
soon
as
something
later
on.
This
way
is
rushing
like
that
and
like
that,
of
course
also
be
a
youtube.
A
A
A
So
this
pass
with
the
string
and
return,
then
another
value,
for
example.
If
he
wants
to
go
to
the
training
camp,
can
do
it
with
this
method
so
get
married.
So
this
is
the
first
one
method,
or
this
function,
of
course
generic
you
can
fit
it
to
any
type.
That
means
we
write
here
is
my
topics,
and
somehow
he
will
present
in
the
t-shirt
is
the
right
return
to
live
in
germany.
A
If
you
actually
in
this
case,
because
we
still
more
get
information
about
the
progress
if
it
breaks,
we
are
then
told
straight
away.
The
position
is
now
letter
that
does
n't
make
any
sense
in
this
phase
want
or
something
like
that.
So
here's
some
award
chip
in
there
that
doesn't
interest
us
at
the
moment,
but
it
looks
something
like
that
signature
from
what
happens
to
you
inside
we
don't
care
at
first,
so
that
compiles
the
same.
Sometimes
briefly,
here
keep
it
up,
and
now
don't
ask
how
you
can
call
this
pass
method.
A
A
A
And
here
you
can
do
another
special
thing,.
You
can
still
half
specify
the
penetration.
That
means
we
can
compiler
that
sometimes
simply
omit
certain
types,.
For
example.
We
can
simply
note
this
eleven
types
here
with
an
underscore
and
thus
simply
say
in
part.
There
is
at
least
some
information
that
is
a
safe
and
its
32
in
it.
Everything
else
can
find
out
for
yourself,
so
you
can
give
half-information
there.
You
do
n't
have
to
type
everything
out.
If
I
haven't
made
any
mistakes,
everything
should
work,.
It
seems
to
be
the
case.
A
There
are
several
ways
to
do
it
anyway,
it's
here
too
again,
so
that
you
can
write
what
it
should
be
on
the
left
side
and
you
can
expand
that
as
you
like.
The
compiler
looks
at
all
the
information
and
somehow
tries
to
find
reasons
and
leaves
it
all
running
back
and
trying
to
find
out
what
types
we
have,
for
example,.
A
This
so
if
it
works
properly,
then
we'll
hear
that
v
just
about
this
app
and
do
otherwise
nothing
at
all.
If
your
other
one
is,
and
we
in
Italy
also
prefer
one
to
stop
with
32
and
something-
and
here
we
say
xo
and
here
the
question
arises:
where
does
the
compiler
get
this
type
information
from
types,
but
it
still
works,
even
if
we
just
have
fun
up
here,
write
and
not
write
down
any
information
here
at
all.
A
You
can
add
any
amount
of
other
code
in
between
no
matter
whether
senior
information,
of
course,
the
compiler,
what
type
it
should
be.
So
that
is
really
sometimes
very
amazing.
You
have
a
huge
block
of
very,
very
complicated
code
and
the
compiler
looks
there
through
and
fetches
the
only
information
that
is
stored
somewhere
in
there
and
projects
it
back
onto
the
entire
variable
declaration.
A
A
Yes,
exactly
that
there
is
also
a
bit
of
discussion
going
on,
so
I
think
it
will
already
be
decided,
but
in
the
end
it
is
of
course
difficult,
and
if
we
have
a
very,
very
difficult,
very,
very
difficult
expression,
then
it
is
so
difficult
for
the
programmer
to
find
out,
which
type
is
it
at
all.
But
often
it
is
much
better.
If
you
just
write
comments
there
and
to
explain
the
whole
block,
it
is
also
directly
clear
what
type
1
1
a
certain
variable
has.
But
yes,
it
is
sometimes
a
bit
borderline.
A
B
A
A
A
A
A
A
A
I
then
presented
this
method
in
a
lecture,
but
I
uploaded
it
afterwards,
which
returns
a
string
that
output
this
baumann
pre-order
traversal.
I
hope,
of
course,
a
computer
scientist
or,
and
such
stories
output
somehow-
and
we
do
this
here-
we
call
this
data
to
string
on
the
compiler
now
says
that,
but
we
can't
take
a
close
look
at
it
now,
so
that
we
can
fix
it
right
away.
A
A
Exactly
who
want
to
do
it
like
that,
then
he
comes
up
with
something
like
this
said
directly,
this
binary
operation
smaller,
but
how
the
bankruptcy
totally
petit-
and
that
is
now
a
bit
of
a
student,,
for
example,
for
c++
programmers,
because
in
c++,
and
that
is
completely
different
there,
you
somehow
have
templates.
That
is
a
form
of
doping.
Where
you
simply
say
you
can
be
anything
now,
I
will
do
everything
with
it.
A
First
of
all
that,
is
it
exactly
the
other
way
around,
so
we
don't
know
anything
about
the
generic
parameter
and
rast
is
the
philosophy,
so
we
can't
do
anything
with
it
either.
We
can't
assume
that
anything
is
defined
on
this
parameter,
a
small
restriction.
We
know
that
this
parameter
doesn't
say
1
1,
but
that's
completely
irrelevant.
I
just
wanted
to
mention
it
briefly,
so,
in
contrast
to
c++,
these
skills
have
to
be
requested
explicitly,
and
it's
not
like
you
can
simply
declare
the
types,
the
type
parameters.
A
First
of
all,
assume
that
you
can
do
all
of
that,
and
only
when
you
instantiate
it,,
I.e.
call
the
function,,
then
the
first
error
comes,
compare
again,,
you
can
already
imagine
it
coming
now,,
because
this
in
this
second
area
of
the
title
of
this
lecture,,
namely
trades.
This
year,
is
exactly
what
we
are
looking
for,
in
short
trades,
be
able
to
do
with
these
trades.
That
is
the
super
important
topic
dealt
with.
I
can
define
so-called
trade
building.
A
We
still
want
to
write
our
minimum
function,
but
we
want
to
say
that
we
can
somehow
compare
the
types
de
with
each
other,
so
we
want
for
this
type
the
we
can
get
in.
That
could
be
something,
but
we
would
like
at
least
to
compare
the
duden.
You
could
pocket
boule
there.
Now
we
can't
compare
the
poodle,
it
doesn't
make
any
sense
to
say:
crew
is
smaller
than
if
not
really
or
students
are
even
worse
or
something
else
it
does
n't
make
any
sense
at
all.
A
If
this
function
cannot
work,
if
we
put
in
a
type
that
is
not
comparable,
that
means
we
can
no
longer
put
in
as
many
types
as
before.
That
means
we
can
no
longer
do
the
minimum
call
these
functions
with
julians,
but
this
works
for
him.
A
depression.
Special
place
is,
as
said,
a
hit
says.
This
type
is
comparable.
A
We
can
also
to
introduce
other
sundays,
these
trades
built
here,
and
we
can
directly
in
the
declaration,
parameter
colon
and
then
specify
the
trait
is
always
so
different.
What
you
do
so
some
say
you
should
always
use
someone
sometimes
or
some
say
you
are
welcome
to
define
it.
Inline
ultimately,
most
wanted
this
philosophy.
If
you
only
have
one
trade
and
one
generic
parameter,
then
do
something
with
this
syntax
and
otherwise
write
me
this.
A
Come
straight
to
it,
but
also
especially
if
you
have
several
parameters.
So
yes,
here,
you
could
notice
parameters.
If
you
could
write
here
after
the
decimal
point
and
then
say
colon,
it
must
also
be
a
few
nice
places.
Yes
just
like
that,
but
we
take
a
few
steps
back
against
gran
and
is
a
couple
of
venues.
Is
a
bit
complicated?
What
exactly
makes
that
we
define
ourselves
that
our
first
own
trade,
so
we
want
to
apply
for
a
skill
or
calculate
define
a
skill
and
that's
how
we
do
it
so.
B
A
A
couple
of
trades
then
a
name
then,
and
in
this
trade
we
now
write
what
it
should
be
able
to
do
and
just
write
me:
a
function,
signature
without
a
body
the
field
should
now.
The
name
is
not
perfect,
but
the
field
should
be
a
field
for
all
kinds
of
animals
that
somehow
make
a
sound,
and
if
anyone
has
a
better
idea
how
to
call
it
in
english,
then
I'm
very
open
to
hearing
about
it.
But
I've
already
asked
my
american
roommate.
How
can
I
use
a
better
name,
I.e.
A
speak
for
now,
so
this
trades
should
means
everyone,
everything
that
can
somehow
make
a
sound
fulfills
this
trade
or
can
fulfill
this
trade.
First
of
all,
we
can
imagine
trades
as
interfaces.
You
know
interfaces
from
almost
every
language
in
java,,
especially
interfaces,
and
these
trades
can
also
be
imagined,
as
interfaces
and
interface.
B
A
We
can
now
for
types
for
concrete
types,
then
implement
it
like
this.
We
have,
for
example,
this
type
that
has
no
fields
at
all,
but
that
does
n't
matter.
We
just
have
this
type.
First
of
all,
we
would
like
to
implement
this
speak
trade
for
cat.
What
do
we
do
with
the
following?
Syntax?
Also
a
blog
but
say
a
bit
differently.
A
Impel
speak
for
pet,
so
we
say
we
implement
a
trade
for
a
guy
with
a
slightly
different
syntax,
but
then
produces
exactly
the
same,
and
here
you
can
imagine
that
this
method
writes
like
lowercase,
but
with
an
in
there.
The
signature
of
the
method
has
to
be
the
same,
and
the
body
has
to
contain
something.
A
A
If
we
then
somehow
wrote
another
method
for
cat,
yes,
then
we
would
make
a
peg
exactly
one
for
each
trade,
an
apple
blog
and
then
one
can
often
do
that
too.
Several
bloggers,
but
theoretically
always
one
in
the
picture,
blog
per
trade
and
an
additional
empl
blog
for
everything
normal
us
again.
So
if
you
now
had
another
type
of
pokémon
that
now
contains
its
name
at
least,
then
we
can
also
implement
speak
for
it
and
give
it.
A
A
A
A
B
A
Bit
surprised,
or
is
it
right,
I
think
so
say
here
that
this
is
the
parameter
t
at
least
trade
speaker
fills,
then
we
can
also
call
this
speak
method
on
it
and
we
can
then,
for
example,
pass
our
chains
to
the
savers,
but
that
is
the
important
thing,.
In
contrast
to
c
+
+.
We
cannot
pass
any
other
types
here,
such
as
the
32,000
the
32
loudly
give.
So
it
does
n't
fulfill.
A
That
trader
speak
so
occurs
here,
then
that
was
also-
and
that's
just
this
difference-
that
it
is
defined
in
the
head
of
the
function.
These
requirements
for
a
type
and
the
error
occurs
when
calling
up
the
narrative
flow
is
already
used
to
with
the
wrong
type
knows
that
somehow
the
error
only
occurs
in
countries
where
it
is
actually
used,,
so
in
c++.
Would
then,
if
you
were
here
with
32,
would
be
called
here,
then
this
would
be
missing.
This
line
would
be
marked
and
said
that
does
not
work
on
the
32.
A
That
means
you
can
see
in
c++.
Compiler
never
finds
the
error
in
any
code
of
the
library
that
the
man
has
not
written
at
all.
Somehow,
deep
down
where
it
is
used,
it
breaks
that
of
course,
extremely
confusing.
So
we
have
this
very
clear,
end
station
of
conditions
that
we
have
on
this
type
already
on
the
function.
Signature.
A
Good
question
coming
soon:
yes,
exactly
clarified,
template
error
that
everyone
makes
fun
of
about
how
terrible
they
are,
and
that
probably
doesn't
matter
briefly
asked-
sometimes
build
several
trades
with
a
+
b,
I.e.
with
trade,
a+
name,
trade
b.
You
then
connect
them
with
plus.
If
you
have
several
with
us,
we
will
see
an
example
right
away.
It
just
fitted
so
nicely
on
the
foil
a
little
further
here
again,
very
briefly,
they
are
the
general
syntax
and
some
new
information.
A
When
we
define
a
spray,
we
have
the
normal
one
block,
and
then
we
have
these
required
methods.
Here,,
I.e.
these
are
methods
that
have
no
body,
and
this
is
required
because
they
have
to
be
specified
in
the
implementation
of
a
type,
apart
from
reasons
that
are
still
inexplicable
to
me,
I
just
wrote,
German
and
English,,
but
if
we
poli
at
least
filled,,
but
there
are
other
things,
there
are
not
only
these
required
methods,.
What
else
could
I
imagine,?
A
Unfortunately,,
not
something
that
came
about
in
java,
8,
I.
Think
These
are
the
so-called
default
metals,,
which
have
been
given
a
body,
small,
but
important.
We
can
define
it
in
trade
and
they
do
not
have
to
be
implemented
by
the
types,,
so
they
are
not
specified
in
the
middle
block,,
but
they
can
be
specified
and
then
these
methods
are
exceeded.
This
is
particularly
useful
and
we
will
see
later
in
many
examples
that
if
you
want
to
expose
any
functionalities
to
these
required
methods,
not.
B
A
Good
example,
what
I
want
to
do
later
use
it
doesn't
matter
I'll
tell
you
very
briefly.
For
example,
there
is
a
trade
that
returns
whether
it
means
in
which
relation
two
types
are
that
is
quasi
this
comparable
from
java.
Only
that
you
return
this
ordering
you
get
two
instances
and
you
want
to
hear
say
what
relation
is.
A
Is
one
small
one
has
others
or
are
they
the
same
or
one
is
larger
than
that
other
so
and
from
this
function
there
are
four
other
methods
that
you
can
already
implement
and
that's
the
biggest
one
that
returns
a
boule
is
the
small
and
so
on
are
simple
methods
that
look
at
based
on
these
routes.
We
had
to
comment
on.
We
will
look
for
more
details
later
when
we
take
care
of
all
these
operators.
A
In
German
and
the
last
thing
that
is
not
entirely
clear
at
first,
why
we
need
them
are
the
so-called
that
the
skating,
although
we
can
also
request
that
the
type
to
be
implemented
and
its
types
there
are.
So
there
are
quite
simply
so.
These
implementing
types
then
say
which
type
a
special
one
fulfills
a
special
purpose,
we'll
see
more
later,
why
that
makes
sense.
A
A
Have
now
defined
this
straight
and
also
the
cat,
for
example,
in
another
module,
and
we
now
have
here
in
the
functions
we
want
to
do
everything
as
we
have
already
done.
So
that's
all
what
we
have
seen
so
far
is
the
trade,
the
cat
to
the
implementation
for
the
cat.
We
imagine
a
cat
and
then
say
it
returns
from
speak.
That
doesn't
work
because
the
trait
always
has
to
be
in
the
scope
comes
up
with
this
beautiful
error
and
if
you
look
at
it
again,
just
the
read
the
first
line.
Think
ok.
Why
not?
A
A
A
That
way,
you
can
do
it
or
you
can
call
it
with
the
so-called
university
seemed
constant
ax
what
you
actually
do
rather
seldom
we
will
still
take
a
quick
look
at
how
it
looks
like
this
makes
a
lot
of
sense
if
you
write
high
genetic
code.
So
if
we
have
a
normal
capital
without
switzerland,,
we
have
already
suggested
that
we
have
other
methods
for
our
cat.
A
Then
we
would
write
a
whole
different
vaccine,
so
it
would
be
normal
without
trades
and
merz
wants
to
call
that
if
we
have
a
cat,
we
just
say
tag,
but
this
function
text
it
's,
just
syntax
sugar.
We
can
also
do
it
constantly
with
the
so-called
university
function.
It
looks
like
this
should
look
a
bit
familiar
to
you
now.
A
If
you
use
static
methods,
So
you
have
association,
then
it
looks
the
same
says
my
guy
then
took
double
colons,
then
the
function
of
the
fraction
name
here
it
is
noticeable
that
we
explicitly
pass
this
chain,
the
11
parameter.
That
must
be
passed
here
explicitly
here
again.
What
I
just
said:
works
syntax
sugar
and
this
the
switch
to
this
explicit
form
of
universe,
wrong
call
center.
A
A
Are
like
other
types
too,
you
can
make
public
or
modules
removed
this
universe,
wrong
context
is,
for
the
governments
is
a
german
word.
I
didn't
know
either
so
just
to
make
specific
things
clearer.
If
something
isn't
clear
for
the
compiler
is,
for
example,,
we
now
have
another
trade
that
has
a
speed
method
and
we
are
also
implementing
this.
For
the
taz.
We
will
tell
cat
speaks
which
book
method
should
be
called
now
it
is
unclear
here
the
universal
function
would
have
to
take
call
centers
and
explicitly
name
the
trait.
A
There
is
still
with
coffee,
because
something
like
that
does
n't
happen
at
runtime
everything
compiler
best
the
inflation
and
especially
promises
from
the
case.
If
you
want
to
pass
the
method
as
a
function
parameter
as
a
function
party,
that's
probably
not
even
clear
to
some
of
agora,
many
people.
What
exactly
is
look
at
us
later
and
now
has
a
very,
very
special
case,
for
which
we
still
need
an
explicit
reform
that
very
rarely
on
assumed.
A
We
have
a
method
was
for
the
cat
itself
already
for
the
cat
without
trains,
then
we
have
another
trade,
which
also
has
a
method.
Bauer
now
implement
we
this
straight
for
cat,
it's
obvious.
Now
we're
not
going
to
just
say,
because
how
should
he
know,
which
one
should
already
be
called
we're,
also
installing
this
trade,
so
we
could
implement
it
for
other
types.
You
have
to
keep
that
in
the
back
of
your
mind,
that's
that
difficult
to
understand.
A
But
if
we
say
it
now
here,
if
we
say
for
double
colon
bar
to
say
somehow
is,
but
the
ones
from
the
trade
now
have
master
compilers
not
but
which
implementation
of
the
middle,
the
one
from
the
cat
or
a
dog
better
kampala,
just
not,
and
there
is
still
an
explicit
reforms
and
it
does
n't
look
particularly
pretty
either,,
but
so
that
you've
seen
it
at
least
once,.
The
implement
type
always
says
a
straight,
and
then
this
method,
I
said,.
A
The
32
is
not
defined
in
your
current
craig,
but
in
some
standard
library
or
some
other
weird
library,
that
was
to
be
integrated,
say
the
standard
library
ca
n't
do
that
easily
im
pelli
32
say
that
would
also
be
nice
if
anyone
could
come
up
with
any
methods
and
lead
to
a
guy,
it
was
a
bit
mean
that
just
doesn't
work
when
we
have
that
on
the
trade.
So
we
then
do
an
implementation
for
a
guy.
A
For
a
trade
at
least
one
of
the
two
things
must
be
defined
in
the
current
freight,,
which
means
either
we
can
implement
a
trade
that
exists
in
another
world
for
one
of
our
local
types,.
So
if
we
somehow
define
our
cat
here,,
but
there
is
a
library
already
somewhere
trades
where
this
speed
trade
defined,
then
I
can
implement
that
because
at
least
the
cat
belongs
to
us,
but
we
can
also
be
difficult.
One
could
also
define
trades
in
the
current
in
the
current
creighton
and
implement
that
for
foreign
types
are
so-
called
extensions
trades?
A
Or
is
correct
yes
next
to
write
down
and
forget
that
again,
okay
written
down,
but
doesn't
matter
the
reason
why
this
is
done.
It
is
said
that
one
wants
to
have
certain
stability.
Tyler
wants
to
have
certain
basics
to
make
certain
determinations,
for
example,
is
a
type
of
other
types
not
defined.
That's
quite
complicated.
A
What
exactly
he's
missing,
but
the
compiler
needs
a
bit
of
freedom
to
be
able
to
decide
certain
things
and
that's
why
this
sum
would
be
openly
set
rules
in
the
world,
which
simply
means
must
n't
implement
at
least
one
for
any
wise,
wise
things.
Things
must
belong
to
one
myself,
I'm
thinking
about
whether
we
can
make
the
tree
or
think
you
can
go
a
little
further
with
the
animation
film
operation
and
look
at
it
before
metting
trades.
You
've
probably
seen
compiler
error
messages
at
some
point,.
A
Only
a
few
we
will
see
in
a
moment-
and
that
has
certainly
been
seen
before.
We
are
right
in
front
of
a
method
that
you
can
fmc
is
a
bit
more
complicated.
You
get
self
rhein
and
to
his
weird
front
meter,
and
then
it
will
stop
where
nothing
meaningful
comes
back,
but
an
error
could
be
returned
and
the
same
is
also
the
case
with
debug.
A
And
if
we
were
to
somehow
write
a
function,
that
is
also
generic
across
several
types,
but
we
want
it
like
to
output
this
type.
Then
we
have
to
think
of
something
else.
If
we
want
to
define
sprints
white
via
some
type
here
again,
for
example,,
then
the
error
occurs
again,
because
we
simply
want
to
output
this
type
here
with
this
bracket
and
that
doesn’t
work,.
That’S
also
conscious
that
you
can't
output
all
types,,
that's
why
you
can
bank
this
function,
again,.
That
means
we
say
this
topic
at
least
display
its
display,.
A
And
we
might
also
want
this
straight
for
our
own
pieces.
We
can
define
that
if
we
define
a
type,
e.g.
point-
I
do
n't
know
if
I
still
remember
it
at
the
very
beginning.
If
he
wants
his
point
type,
maybe
implement
display
for
it
and
then
write
me
there.
It's
not
very
surprising
to
say
simply
display
friend,
just
a
quick
reminder.
This
enemy
is
the
one
with
64,
so
not
yet
generic
or
something
else
are
just
on
64
in
it,
and
then
we
write
an
implementation
into
it.
How
exactly
this
implementation
was
made?
A
A
A
For
once
again
ignore,
we
have
something
else
in
mind
and
we
want
to
implement
a
generic
point
of
this
display.
So
now
we
no
longer
have
64
als
fields
in
this
point,
but
generic
types,
because
that
means
in
a
point
of
inter
to
have
so
why
should
we
agree
on
64?
Someone
knows
what
the
name
of
this
first
line
of
the
simple
blog
has
to
be.
A
What's
going
on
here,
we
would
like
to
implement
that,
but
for
this
genetic
point,
first
of
all
you
want
to
come
up
with
the
idea.
We
say
simple
impel
display
before
geneva,
but
then
compiler
say
again
hey
missing
here,
but
you
can
implement
the
parameters
for
gamepoint
without
any
type.
That
is,
it
doesn't
work,
so
I
would
say:
impel
tft
display
port
and
t
so
far,
so
good
that
the
compiler
would
first
accept.
But
as
soon
as
you
write
that
down
here
implementation,
what
would
the
compiler
say
then
that
it
doesn't
say
craig
bond
yet.
A
A
A
A
Some
point
that,
of
course,
and
then
the
compiler
first
looks
for
okay
is
implemented
for
this,
for
this
type
of
display.
Okay,
so
there
is
a
conditional
implementation
is
a
tee,
is
one
for
display.
There
is,
then
seems
because
there
is
a
conditional
implementation
is
a
4t
display,
quality
and
finite
are
in
the
end,
but
exactly
he
does
not
evaluate
it
on
the
spot,
but
always
waits
knowing
actually
the
type
there
is
otherwise.
A
It
would
be
a
bit
crazy
something
else
here
now
if
we
were
to
write
this,
for
example,,
so
we
will
be
happy
to
write
a
method
function
that
outputs
a
type,
but
not
only
with
the
normal
placeholders
like
here,
but
also
with
this
debug
placeholders.
What
do
you
think
we
have
to
write
in
the
February
conditions.
A
A
A
A
That
would
otherwise
be
a
lot
but
sometimes
needs
one
implementation,
because
sometimes
it
does
n't
do
the
right
thing,,
for
example,
if
we
didn't
want
to
output
rainbows
for
our
point,.
So
if
we
wanted
to
output
rainbows
in
our
point
output
in
the
baking
mode
or
anything
else
that
is
defined
in
June
on
the
standard,,
then
of
course
we
can't
do
that
do.
If
we
want
something
special,
then
we
have
to
make
an
effort
ourselves,
but
mostly
we
want
to
be
like
that.
It
gets
interesting.
A
If
you
have
generic
parameters
in
this
type,
because
then
how
does
the
compiler
do
that
then
the
compiler?
Does
it
exactly
what
you
actually
do?
In
most
cases,
this
version
tax
is
exactly
the
same
as
what
we
just
saw
only
with
winter
understands
just
not
implemented.
That
is
dreamed
of
for
everyone,
but
only
where
t
is
also
the
back,
so
the
compiler
makes
sure
that
the
other
type
then
already
back
implemented.
This
is
sometimes
a
bit
problematic
if
you
do
n't
need
it
at
all.
A
If
you
do
n't
need
these
conditions
at
all,
but
that's
more
of
a
special
case
at
some
point,
we'll
see
a
very
short
list
and
then
we'll
take
care
of
our
tree,
a
list
of
dire
straits
and
there
it
is
once
the
comparison
trades.
You
have
already
seen
at
least
one
of
them,,
namely
with
the
pocket
calculator.
This
special
iq
the
crutches
later
in
detail
differently.
They
do,
but
these
are
first
things
with
which
you
can
compare
things
or
bring
them
into
relation.
Then
you
already
know
stealing
and
paper.
A
A
We
would
like
to
calculate
a
value
from
a
type,,
I.e.
from
an
instance
of
a
type,.
There
is
still
a
default,.
We
ca
n’t.
Do
that
yet
either,
that
just
says
the
previous
instance
can
be
created
for
this
type,,
which
makes
half
switching
for
a
string,.
That’S,
for
example,
implements
the
freud
instance
running
ring
is
pretty
clearly
a
teacher
stream
default
instance
for
32
is
a
bit
strange,
but
okay,
one
would
guess
now
is
probably
just
and
is
like
that.
But
for
some
types
there
is
simply
no
meaningful
default
instance.
A
A
And,
of
course,
it
only
works
if
the
whole
fields
of
this
data
type
for
which
you
have
already
implemented
this
trade,.
That
means,
if
we
somehow
want
to
implement
a
debug
but
implement
all
the
fields
in
it.
The
bank
does
n't
concern
that
on
me
and
then
can,
and
that
is
a
very
interesting
area,
but
you
can
tell
us
that
much
later
drum
you
can
make
your
own
trades
that
rival.
That
means
you
can
give
the
compiler
code
later
so
that
the
spyder
can
generate
compiled
code
that
we
give
it.
A
These
are
so-called
compiler
plugins
very
interesting.
They
are
very
powerful,
but
take
care
of
that
later
they
are
complicated.
So
maybe
later
you
can
somehow
say
the
mature
and
then
other
trades
that
you
have
defined
yourself.
That's
actually
what
I
should
say.
That's
not
necessarily
always
for
all
time
is
limited
to
this.
There
are.
A
A
A
And
the
first
result
also
try
to
find
out.
Apparently
this
is
defined
here
and
now
think
more
normally,
and
we
see
what
it
means
that
when
we
do
a
trade
that
you
trait
yourself
in
the
string-
and
this
kick
on
the
string
not
very
surprising
and
thus
found
this
method,
now
see
that
of
course,
first
of
all,
what
is
this
trade
actually
implemented
for?
So
apparently
it
worked
earlier
with
32,
something
funny
is
coming,
but
we
still
understand
that.
A
Here
it
now
says
in
the
tea
drinks
tea,
you
can
simply
enter
a
generic
parameter
here
in
the
immpel
block
and
say
we
implement
something
for
this
parameter
directly,
but
we
still
have
a
restriction,,
namely
rather
tea
display
that
can
be
completely
ignored
right
now,
so
t
is
on,
in
any
case
limited
to
display.
That
means
now.
What
do
you
mean.
A
A
Theoretically,
use
this
display
and
somehow
get
a
representation
as
a
drink,
to
attack
the
command
line
and
repeat
this
text
to
the
string
stuff
that
definitely
works
with
it.
So
that's
a
default
implementation
and
now
we're
thinking
further
about
each
32
was
display,
implemented,
ok
happens
so
apparently,
but
it's
good
and
actually
doesn't
matter.
We
only
need
this
name
this
this
trades.
A
A
B
A
Not
only
that
it
would
work
so
what
he
did
is
definitely
important.
Who
said
to
me
on
this
blog
very
much
in
the
paddock
works
only
for
tees
that
implement
tu
string.
This
trade
got
away
with
it,
starting
from
this
whole
block,,
also
in
this
last
method,.
So
it
is
perfectly
valid
to
call
up
the
ring
on
it,.
A
A
A
A
That's
possible,
then
we
need
it.
That
up
here
is
not
the
problem
at
all.
I
asked
six
people
a
year
ago,
which
is
better.
No
one
has
answered
so
far.
I
can't
say
there
are
slightly
different
compiler
errors.
Neither
of
these
two
methods
have
a
real
disadvantage
because
of
that
here,
apparently
now
always
done
the
way
we
did
it
now,
then,
with
a
separate
apple
blog,
but
that
also
works.
Let's
see
if
anyone
knows
in
any
case,
you
can
do
it
in
different
ways
and
because
we
can
have
time
after
a
few
minutes.
A
A
A
A
A
A
That's
the
same
problem,
a
different
method,
but
for
this
method
it
would
work
correctly,
but
here
you
could
think
about
whether
we
want
to
restrict
such
a
guy
to
it.
Now
that
the
copy
has
to
be
in
this
case,
it's
actually
better
to
say
data,
because
that
helps
in
exactly
the
same
way
with
us
sits
but
then
exactly
head,
it's
just
his
shade,
okay,
but
then
leave
it
alone
for
now
and
we'll
see
each
other
at
the
moment.
We
see
you
on
wednesday
and
there
will
be
many
more
examples.